From bfcb31d0fc67a1908ad5654abbaaec8c42f009b7 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Tue, 27 Nov 2018 14:25:24 +0200 Subject: [PATCH 1/9] init (wip) --- std/assembly/array.ts | 21 +- tests/compiler/std/array.optimized.wat | 1054 ++++++++++--------- tests/compiler/std/array.ts | 11 + tests/compiler/std/array.untouched.wat | 1294 +++++++++++++----------- 4 files changed, 1315 insertions(+), 1065 deletions(-) diff --git a/std/assembly/array.ts b/std/assembly/array.ts index bf7e24fb54..b8b969ff14 100644 --- a/std/assembly/array.ts +++ b/std/assembly/array.ts @@ -369,19 +369,28 @@ export class Array { return sliced; } - splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): void { - if (deleteCount < 1) return; + splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array { + if (deleteCount < 1) return new Array(); var length = this.length_; if (start < 0) start = max(length + start, 0); - if (start >= length) return; + if (start >= length) return new Array(); deleteCount = min(deleteCount, length - start); - var buffer = this.buffer_; + var buffer = this.buffer_; + var spliced = new Array(deleteCount); + var source = changetype(buffer) + HEADER_SIZE + (start << alignof()); + var size = deleteCount << alignof(); + memory.copy( + changetype(spliced.buffer_) + HEADER_SIZE, + source, + size + ); memory.copy( - changetype(buffer) + HEADER_SIZE + (start << alignof()), + source, changetype(buffer) + HEADER_SIZE + ((start + deleteCount) << alignof()), - deleteCount << alignof() + size ); this.length_ = length - deleteCount; + return spliced; } reverse(): Array { diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index c4a94bdc6e..5d99b6bade 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -24,7 +24,6 @@ (type $FUNCSIG$ii (func (param i32) (result i32))) (type $FUNCSIG$iii (func (param i32 i32) (result i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) - (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$viii (func (param i32 i32 i32))) (type $FUNCSIG$i (func (result i32))) (import "env" "abort" (func $~lib/env/abort (param i32 i32 i32 i32))) @@ -107,163 +106,173 @@ (data (i32.const 1464) "\98\05\00\00\05") (data (i32.const 1472) "\14\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") (data (i32.const 1504) "\c0\05\00\00\05") - (data (i32.const 1512) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 1544) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?") - (data (i32.const 1720) " ") - (data (i32.const 1730) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") - (data (i32.const 1784) "\b8\06\00\00\08") - (data (i32.const 1792) " ") - (data (i32.const 1802) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") - (data (i32.const 1857) "\07\00\00\08") - (data (i32.const 1864) "@") - (data (i32.const 1878) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") - (data (i32.const 1918) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") - (data (i32.const 1992) "H\07\00\00\08") - (data (i32.const 2000) "@") - (data (i32.const 2014) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") - (data (i32.const 2046) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") - (data (i32.const 2128) "\d0\07\00\00\08") - (data (i32.const 2136) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") - (data (i32.const 2168) "X\08\00\00\05") - (data (i32.const 2176) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") - (data (i32.const 2208) "\80\08\00\00\05") - (data (i32.const 2216) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") - (data (i32.const 2248) "\a8\08\00\00\05") - (data (i32.const 2256) "\14") - (data (i32.const 2268) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 2288) "\d0\08\00\00\05") - (data (i32.const 2304) "\f8\08") - (data (i32.const 2312) "\04\00\00\00\00\00\00\00\01") - (data (i32.const 2328) "\08\t\00\00\01") - (data (i32.const 2336) "\08\00\00\00\00\00\00\00\02\00\00\00\01") - (data (i32.const 2352) " \t\00\00\02") - (data (i32.const 2360) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") - (data (i32.const 2392) "8\t\00\00\04") - (data (i32.const 2400) "\10") - (data (i32.const 2412) "\01\00\00\00\02\00\00\00\03") - (data (i32.const 2432) "`\t\00\00\04") - (data (i32.const 2440) "\04\00\00\00\00\00\00\00\01") - (data (i32.const 2456) "\88\t\00\00\01") - (data (i32.const 2464) "\08\00\00\00\00\00\00\00\01\00\00\00\02") - (data (i32.const 2480) "\a0\t\00\00\02") - (data (i32.const 2488) "\01\00\00\00a") - (data (i32.const 2496) "\01\00\00\00b") - (data (i32.const 2504) "\02\00\00\00a\00b") - (data (i32.const 2512) "\02\00\00\00b\00a") - (data (i32.const 2528) "\1c\00\00\00\00\00\00\00\b8\t\00\00\c0\t\00\00\b8\t\00\00\c8\t\00\00\d0\t\00\00\d8\t") - (data (i32.const 2592) "\e0\t\00\00\07") - (data (i32.const 2600) "\1c\00\00\00\00\00\00\00\d8\t\00\00\b8\t\00\00\b8\t\00\00\c8\t\00\00\c0\t\00\00\d0\t") - (data (i32.const 2664) "(\n\00\00\07") - (data (i32.const 2672) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 2704) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 2760) "\04\00\00\00n\00u\00l\00l") - (data (i32.const 2776) "\02\00\00\00\00\00\00\00\01") - (data (i32.const 2792) "\d8\n\00\00\02") - (data (i32.const 2800) "\04\00\00\00t\00r\00u\00e") - (data (i32.const 2816) "\05\00\00\00f\00a\00l\00s\00e") - (data (i32.const 2832) "\01\00\00\00,") - (data (i32.const 2840) "\02\00\00\00\00\00\00\00\01") - (data (i32.const 2856) "\18\0b\00\00\02") - (data (i32.const 2864) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") - (data (i32.const 2888) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 2920) "H\0b\00\00\03") - (data (i32.const 2928) "\01\00\00\000") - (data (i32.const 2936) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 3448) "x\0b\00\00d") - (data (i32.const 3456) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 3488) "\80\0d\00\00\03") - (data (i32.const 3496) "\05\00\00\001\00-\002\00-\003") - (data (i32.const 3512) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 3544) "\b8\0d\00\00\03") - (data (i32.const 3552) "\01\00\00\00-") - (data (i32.const 3560) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 3592) "\e8\0d\00\00\03") - (data (i32.const 3600) "\08") - (data (i32.const 3611) "\80\00\00\00\80") - (data (i32.const 3616) "\10\0e\00\00\02") - (data (i32.const 3624) "\02\00\00\00_\00_") - (data (i32.const 3632) "\08") - (data (i32.const 3643) "\80\00\00\00\80") - (data (i32.const 3648) "0\0e\00\00\02") - (data (i32.const 3656) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 3712) "0") - (data (i32.const 3734) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") - (data (i32.const 3776) "\80\0e\00\00\06") - (data (i32.const 3784) "\02\00\00\00,\00 ") - (data (i32.const 3792) "\03\00\00\000\00.\000") - (data (i32.const 3808) "\03\00\00\00N\00a\00N") - (data (i32.const 3824) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3848) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3872) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00*\00&\00$\00%\00^\00@\00#\00!\00?") + (data (i32.const 1904) " ") + (data (i32.const 1914) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") + (data (i32.const 1968) "p\07\00\00\08") + (data (i32.const 1976) " ") + (data (i32.const 1986) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") + (data (i32.const 2040) "\b8\07\00\00\08") + (data (i32.const 2048) "@") + (data (i32.const 2062) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") + (data (i32.const 2102) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") + (data (i32.const 2177) "\08\00\00\08") + (data (i32.const 2184) "@") + (data (i32.const 2198) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") + (data (i32.const 2230) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") + (data (i32.const 2312) "\88\08\00\00\08") + (data (i32.const 2320) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") + (data (i32.const 2352) "\10\t\00\00\05") + (data (i32.const 2360) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") + (data (i32.const 2392) "8\t\00\00\05") + (data (i32.const 2400) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") + (data (i32.const 2432) "`\t\00\00\05") + (data (i32.const 2440) "\14") + (data (i32.const 2452) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 2472) "\88\t\00\00\05") + (data (i32.const 2488) "\b0\t") + (data (i32.const 2496) "\04\00\00\00\00\00\00\00\01") + (data (i32.const 2512) "\c0\t\00\00\01") + (data (i32.const 2520) "\08\00\00\00\00\00\00\00\02\00\00\00\01") + (data (i32.const 2536) "\d8\t\00\00\02") + (data (i32.const 2544) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") + (data (i32.const 2576) "\f0\t\00\00\04") + (data (i32.const 2584) "\10") + (data (i32.const 2596) "\01\00\00\00\02\00\00\00\03") + (data (i32.const 2616) "\18\n\00\00\04") + (data (i32.const 2624) "\04\00\00\00\00\00\00\00\01") + (data (i32.const 2640) "@\n\00\00\01") + (data (i32.const 2648) "\08\00\00\00\00\00\00\00\01\00\00\00\02") + (data (i32.const 2664) "X\n\00\00\02") + (data (i32.const 2672) "\01\00\00\00a") + (data (i32.const 2680) "\01\00\00\00b") + (data (i32.const 2688) "\02\00\00\00a\00b") + (data (i32.const 2696) "\02\00\00\00b\00a") + (data (i32.const 2712) "\1c\00\00\00\00\00\00\00p\n\00\00x\n\00\00p\n\00\00\80\n\00\00\88\n\00\00\90\n") + (data (i32.const 2776) "\98\n\00\00\07") + (data (i32.const 2784) "\1c\00\00\00\00\00\00\00\90\n\00\00p\n\00\00p\n\00\00\80\n\00\00x\n\00\00\88\n") + (data (i32.const 2848) "\e0\n\00\00\07") + (data (i32.const 2856) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 2888) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 2944) "\04\00\00\00n\00u\00l\00l") + (data (i32.const 2960) "\02\00\00\00\00\00\00\00\01") + (data (i32.const 2976) "\90\0b\00\00\02") + (data (i32.const 2984) "\04\00\00\00t\00r\00u\00e") + (data (i32.const 3000) "\05\00\00\00f\00a\00l\00s\00e") + (data (i32.const 3016) "\01\00\00\00,") + (data (i32.const 3024) "\02\00\00\00\00\00\00\00\01") + (data (i32.const 3040) "\d0\0b\00\00\02") + (data (i32.const 3048) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") + (data (i32.const 3072) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 3105) "\0c\00\00\03") + (data (i32.const 3112) "\01\00\00\000") + (data (i32.const 3120) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data (i32.const 3632) "0\0c\00\00d") + (data (i32.const 3640) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 3672) "8\0e\00\00\03") + (data (i32.const 3680) "\05\00\00\001\00-\002\00-\003") + (data (i32.const 3696) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 3728) "p\0e\00\00\03") + (data (i32.const 3736) "\01\00\00\00-") + (data (i32.const 3744) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 3776) "\a0\0e\00\00\03") + (data (i32.const 3784) "\08") + (data (i32.const 3795) "\80\00\00\00\80") + (data (i32.const 3800) "\c8\0e\00\00\02") + (data (i32.const 3808) "\02\00\00\00_\00_") + (data (i32.const 3816) "\08") + (data (i32.const 3827) "\80\00\00\00\80") + (data (i32.const 3832) "\e8\0e\00\00\02") + (data (i32.const 3840) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") + (data (i32.const 3896) "0") + (data (i32.const 3918) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") + (data (i32.const 3960) "8\0f\00\00\06") + (data (i32.const 3968) "\02\00\00\00,\00 ") + (data (i32.const 3976) "\03\00\00\000\00.\000") + (data (i32.const 3992) "\03\00\00\00N\00a\00N") + (data (i32.const 4008) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 4032) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 4056) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#sort|trampoline~anonymous|43 $~lib/array/Array#sort|trampoline~anonymous|44 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|46 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|45 $start~anonymous|49 $~lib/array/Array#sort|trampoline~anonymous|45 $start~anonymous|49 $start~anonymous|52 $start~anonymous|53 $start~anonymous|54 $start~anonymous|54) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -285,6 +294,7 @@ (global $std/array/source (mut i32) (i32.const 544)) (global $std/array/cwArr (mut i32) (i32.const 0)) (global $std/array/includes (mut i32) (i32.const 0)) + (global $std/array/sarr (mut i32) (i32.const 1544)) (global $std/array/every (mut i32) (i32.const 0)) (global $std/array/some (mut i32) (i32.const 0)) (global $std/array/newArr (mut i32) (i32.const 0)) @@ -295,15 +305,15 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 1784)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 1992)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 2168)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 2248)) - (global $std/array/reversed0 (mut i32) (i32.const 2304)) - (global $std/array/reversed1 (mut i32) (i32.const 2328)) - (global $std/array/reversed2 (mut i32) (i32.const 2352)) - (global $std/array/reversed4 (mut i32) (i32.const 2392)) - (global $std/array/expected4 (mut i32) (i32.const 2432)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 1968)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 2176)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 2352)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 2432)) + (global $std/array/reversed0 (mut i32) (i32.const 2488)) + (global $std/array/reversed1 (mut i32) (i32.const 2512)) + (global $std/array/reversed2 (mut i32) (i32.const 2536)) + (global $std/array/reversed4 (mut i32) (i32.const 2576)) + (global $std/array/expected4 (mut i32) (i32.const 2616)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -313,13 +323,13 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 2592)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 2664)) + (global $std/array/randomStringsActual (mut i32) (i32.const 2776)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 2848)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $std/array/refArr (mut i32) (i32.const 0)) - (global $std/array/subarr32 (mut i32) (i32.const 6872)) - (global $std/array/subarr8 (mut i32) (i32.const 6968)) - (global $std/array/subarrU32 (mut i32) (i32.const 7040)) + (global $std/array/subarr32 (mut i32) (i32.const 7056)) + (global $std/array/subarr8 (mut i32) (i32.const 7152)) + (global $std/array/subarrU32 (mut i32) (i32.const 7224)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -2825,49 +2835,96 @@ end i32.const -1 ) - (func $~lib/array/Array#splice (; 24 ;) (type $FUNCSIG$vi) (param $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/array/Array#splice (; 24 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + get_local $2 i32.const 1 + i32.lt_s + if + i32.const 0 + call $~lib/array/Array#constructor + return + end get_local $0 i32.load offset=4 - tee_local $2 + set_local $4 + get_local $1 + i32.const 0 + i32.lt_s + if + get_local $4 + get_local $1 + i32.add + tee_local $3 + i32.const 0 + get_local $3 + i32.const 0 + i32.gt_s + select + set_local $1 + end + get_local $1 + get_local $4 i32.ge_s if + i32.const 0 + call $~lib/array/Array#constructor return end get_local $0 i32.load - i32.const 8 - i32.add - tee_local $1 - i32.const 4 - i32.add - get_local $1 - i32.const 1 + set_local $5 get_local $2 - i32.const 1 - i32.sub - tee_local $1 - i32.const 1 + tee_local $3 + get_local $4 get_local $1 + i32.sub + tee_local $2 + get_local $3 + get_local $2 i32.lt_s select - tee_local $1 - i32.const 1 + tee_local $2 + call $~lib/array/Array#constructor + tee_local $3 + i32.load + i32.const 8 + i32.add + get_local $5 + i32.const 8 i32.add + get_local $1 i32.const 2 i32.shl i32.add + tee_local $6 + get_local $2 + i32.const 2 + i32.shl + tee_local $7 + call $~lib/internal/memory/memmove + get_local $6 + get_local $5 + i32.const 8 + i32.add get_local $1 + get_local $2 + i32.add i32.const 2 i32.shl + i32.add + get_local $7 call $~lib/internal/memory/memmove get_local $0 + get_local $4 get_local $2 - get_local $1 i32.sub i32.store offset=4 + get_local $3 ) (func $~lib/array/Array#__set (; 25 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -3678,7 +3735,7 @@ i64.eqz if i32.const 0 - i32.const 1512 + i32.const 1696 i32.const 959 i32.const 4 call $~lib/env/abort @@ -4093,7 +4150,7 @@ if i32.const 0 i32.const 8 - i32.const 399 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -4198,7 +4255,7 @@ get_local $0 i32.load offset=4 tee_local $5 - i32.const 1860 + i32.const 2044 i32.load i32.ne if @@ -4206,7 +4263,7 @@ return end get_local $0 - i32.const 1856 + i32.const 2040 i32.eq if i32.const 1 @@ -4243,7 +4300,7 @@ f32.ne set_local $4 get_local $1 - i32.const 1856 + i32.const 2040 i32.load tee_local $2 i32.load @@ -4288,7 +4345,7 @@ end set_local $3 get_local $1 - i32.const 1856 + i32.const 2040 i32.load tee_local $2 i32.load @@ -4679,7 +4736,7 @@ if i32.const 0 i32.const 8 - i32.const 399 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -4784,7 +4841,7 @@ get_local $0 i32.load offset=4 tee_local $5 - i32.const 2132 + i32.const 2316 i32.load i32.ne if @@ -4792,7 +4849,7 @@ return end get_local $0 - i32.const 2128 + i32.const 2312 i32.eq if i32.const 1 @@ -4829,7 +4886,7 @@ f64.ne set_local $4 get_local $1 - i32.const 2128 + i32.const 2312 i32.load tee_local $2 i32.load @@ -4874,7 +4931,7 @@ end set_local $3 get_local $1 - i32.const 2128 + i32.const 2312 i32.load tee_local $2 i32.load @@ -5266,7 +5323,7 @@ if i32.const 0 i32.const 8 - i32.const 399 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -5387,7 +5444,7 @@ i32.eqz if i32.const 0 - i32.const 1512 + i32.const 1696 i32.const 968 i32.const 24 call $~lib/env/abort @@ -5552,7 +5609,7 @@ if i32.const 0 i32.const 104 - i32.const 727 + i32.const 738 i32.const 2 call $~lib/env/abort unreachable @@ -5668,7 +5725,7 @@ if i32.const 0 i32.const 8 - i32.const 399 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -5734,7 +5791,7 @@ if i32.const 0 i32.const 104 - i32.const 727 + i32.const 738 i32.const 2 call $~lib/env/abort unreachable @@ -6081,7 +6138,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 14 i32.const 2 call $~lib/env/abort @@ -6101,11 +6158,11 @@ (func $~lib/string/String#charAt (; 103 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) get_local $0 - i32.const 1544 + i32.const 1728 i32.load i32.ge_u if - i32.const 2520 + i32.const 2704 return end i32.const 1 @@ -6114,7 +6171,7 @@ get_local $0 i32.const 1 i32.shl - i32.const 1544 + i32.const 1728 i32.add i32.load16_u offset=4 i32.store16 offset=4 @@ -6148,7 +6205,7 @@ i32.eqz if i32.const 0 - i32.const 2672 + i32.const 2856 i32.const 110 i32.const 4 call $~lib/env/abort @@ -6157,7 +6214,7 @@ get_local $1 i32.eqz if - i32.const 2760 + i32.const 2944 set_local $1 end get_local $0 @@ -6170,7 +6227,7 @@ tee_local $2 i32.eqz if - i32.const 2520 + i32.const 2704 return end get_local $2 @@ -6193,7 +6250,7 @@ get_local $0 i32.eqz if - i32.const 2760 + i32.const 2944 set_local $0 end get_local $0 @@ -6203,7 +6260,7 @@ (func $std/array/createRandomString (; 107 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - i32.const 2520 + i32.const 2704 set_local $1 block $break|0 loop $repeat|0 @@ -6213,7 +6270,7 @@ br_if $break|0 get_local $1 call $~lib/math/NativeMath.random - i32.const 1544 + i32.const 1728 i32.load f64.convert_s/i32 f64.mul @@ -6273,7 +6330,7 @@ i32.eqz if i32.const 0 - i32.const 2672 + i32.const 2856 i32.const 269 i32.const 4 call $~lib/env/abort @@ -6319,7 +6376,7 @@ tee_local $3 i32.eqz if - i32.const 2520 + i32.const 2704 return end get_local $4 @@ -6358,7 +6415,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) - i32.const 2860 + i32.const 3044 i32.load i32.const 1 i32.sub @@ -6366,13 +6423,13 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2856 + i32.const 3040 i32.load set_local $5 - i32.const 2832 + i32.const 3016 i32.load tee_local $6 i32.const 0 @@ -6381,8 +6438,8 @@ get_local $4 i32.eqz if - i32.const 2800 - i32.const 2816 + i32.const 2984 + i32.const 3000 get_local $5 i32.load8_u offset=8 select @@ -6416,8 +6473,8 @@ set_local $3 get_local $2 get_local $0 - i32.const 2800 - i32.const 2816 + i32.const 2984 + i32.const 3000 get_local $9 select i32.const 0 @@ -6431,7 +6488,7 @@ if get_local $2 get_local $0 - i32.const 2832 + i32.const 3016 i32.const 0 get_local $6 call $~lib/internal/string/copyUnsafe @@ -6460,8 +6517,8 @@ set_local $3 get_local $2 get_local $0 - i32.const 2800 - i32.const 2816 + i32.const 2984 + i32.const 3000 get_local $1 select i32.const 0 @@ -6484,7 +6541,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6550,7 +6607,7 @@ (func $~lib/internal/number/utoa32_lut (; 112 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - i32.const 3448 + i32.const 3632 i32.load set_local $3 loop $continue|0 @@ -6664,7 +6721,7 @@ get_local $0 i32.eqz if - i32.const 2928 + i32.const 3112 return end get_local $0 @@ -6753,7 +6810,7 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end get_local $0 @@ -6845,7 +6902,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6860,7 +6917,7 @@ get_local $0 i32.eqz if - i32.const 2928 + i32.const 3112 return end get_local $0 @@ -6914,7 +6971,7 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end get_local $0 @@ -7006,7 +7063,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -7050,7 +7107,7 @@ tee_local $7 call $~lib/internal/number/decimalCount32 set_local $9 - i32.const 5232 + i32.const 5416 i32.load set_local $12 loop $continue|0 @@ -7815,10 +7872,10 @@ i32.shl i32.sub set_global $~lib/internal/number/_K - i32.const 5160 + i32.const 5344 i32.load set_local $4 - i32.const 4896 + i32.const 5080 i32.load get_local $5 i32.const 3 @@ -8024,7 +8081,7 @@ f64.const 0 f64.eq if - i32.const 3792 + i32.const 3976 return end get_local $0 @@ -8037,11 +8094,11 @@ get_local $0 f64.ne if - i32.const 3808 + i32.const 3992 return end - i32.const 3824 - i32.const 3848 + i32.const 4008 + i32.const 4032 get_local $0 f64.const 0 f64.lt @@ -8062,7 +8119,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8119,8 +8176,8 @@ i32.const 4 i32.add tee_local $1 - i32.const 3824 - i32.const 3848 + i32.const 4008 + i32.const 4032 get_local $2 f64.const 0 f64.lt @@ -8153,7 +8210,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 5308 + i32.const 5492 i32.load i32.const 1 i32.sub @@ -8161,13 +8218,13 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 5304 + i32.const 5488 i32.load set_local $4 - i32.const 3784 + i32.const 3968 i32.load tee_local $5 i32.const 0 @@ -8212,7 +8269,7 @@ if get_local $2 get_local $0 - i32.const 3784 + i32.const 3968 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8252,7 +8309,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8277,7 +8334,7 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end get_local $0 @@ -8421,13 +8478,13 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end get_local $0 i32.load set_local $5 - i32.const 2832 + i32.const 3016 i32.load tee_local $4 i32.const 0 @@ -8436,7 +8493,7 @@ get_local $3 i32.eqz if - i32.const 5488 + i32.const 5672 return end get_local $4 @@ -8463,7 +8520,7 @@ if get_local $0 get_local $1 - i32.const 5488 + i32.const 5672 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -8476,7 +8533,7 @@ if get_local $0 get_local $1 - i32.const 2832 + i32.const 3016 i32.const 0 get_local $4 call $~lib/internal/string/copyUnsafe @@ -8501,7 +8558,7 @@ if get_local $0 get_local $1 - i32.const 5488 + i32.const 5672 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -8524,7 +8581,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8597,7 +8654,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 5684 + i32.const 5868 i32.load i32.const 1 i32.sub @@ -8605,13 +8662,13 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 5680 + i32.const 5864 i32.load set_local $4 - i32.const 2832 + i32.const 3016 i32.load tee_local $5 i32.const 0 @@ -8654,7 +8711,7 @@ if get_local $2 get_local $0 - i32.const 2832 + i32.const 3016 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8692,7 +8749,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8740,7 +8797,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 5748 + i32.const 5932 i32.load i32.const 1 i32.sub @@ -8748,13 +8805,13 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 5744 + i32.const 5928 i32.load set_local $4 - i32.const 2832 + i32.const 3016 i32.load tee_local $5 i32.const 0 @@ -8799,7 +8856,7 @@ if get_local $2 get_local $0 - i32.const 2832 + i32.const 3016 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8839,7 +8896,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8907,7 +8964,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 6328 + i32.const 6512 i32.load set_local $3 loop $continue|0 @@ -9006,7 +9063,7 @@ get_local $0 i64.eqz if - i32.const 2928 + i32.const 3112 return end get_local $0 @@ -9084,7 +9141,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6372 + i32.const 6556 i32.load i32.const 1 i32.sub @@ -9092,13 +9149,13 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 6368 + i32.const 6552 i32.load set_local $4 - i32.const 2832 + i32.const 3016 i32.load tee_local $5 i32.const 0 @@ -9143,7 +9200,7 @@ if get_local $2 get_local $0 - i32.const 2832 + i32.const 3016 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -9183,7 +9240,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9200,7 +9257,7 @@ get_local $0 i64.eqz if - i32.const 2928 + i32.const 3112 return end get_local $0 @@ -9319,7 +9376,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6572 + i32.const 6756 i32.load i32.const 1 i32.sub @@ -9327,13 +9384,13 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 6568 + i32.const 6752 i32.load set_local $4 - i32.const 2832 + i32.const 3016 i32.load tee_local $5 i32.const 0 @@ -9378,7 +9435,7 @@ if get_local $2 get_local $0 - i32.const 2832 + i32.const 3016 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -9418,7 +9475,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9441,15 +9498,15 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $1 get_local $0 i32.load set_local $4 - i32.const 2832 + i32.const 3016 i32.load i32.const 0 i32.ne @@ -9462,10 +9519,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join else - i32.const 2520 + i32.const 2704 end tee_local $0 return @@ -9488,7 +9545,7 @@ if get_local $1 get_local $2 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9496,7 +9553,7 @@ get_local $5 if get_local $1 - i32.const 2832 + i32.const 3016 call $~lib/string/String.__concat set_local $1 end @@ -9519,7 +9576,7 @@ if get_local $1 get_local $2 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9572,7 +9629,7 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end get_local $0 @@ -9660,7 +9717,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9683,15 +9740,15 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $1 get_local $0 i32.load set_local $4 - i32.const 2832 + i32.const 3016 i32.load i32.const 0 i32.ne @@ -9704,10 +9761,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join else - i32.const 2520 + i32.const 2704 end tee_local $0 return @@ -9730,7 +9787,7 @@ if get_local $1 get_local $2 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9738,7 +9795,7 @@ get_local $5 if get_local $1 - i32.const 2832 + i32.const 3016 call $~lib/string/String.__concat set_local $1 end @@ -9761,7 +9818,7 @@ if get_local $1 get_local $2 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9782,10 +9839,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $2 get_local $0 i32.load @@ -9806,7 +9863,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 2520 + i32.const 2704 end tee_local $0 return @@ -9881,15 +9938,15 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $1 get_local $0 i32.load set_local $4 - i32.const 2832 + i32.const 3016 i32.load i32.const 0 i32.ne @@ -9902,10 +9959,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 2832 + i32.const 3016 call $~lib/array/Array>#join else - i32.const 2520 + i32.const 2704 end tee_local $0 return @@ -9928,7 +9985,7 @@ if get_local $1 get_local $2 - i32.const 2832 + i32.const 3016 call $~lib/array/Array>#join call $~lib/string/String.__concat set_local $1 @@ -9936,7 +9993,7 @@ get_local $5 if get_local $1 - i32.const 2832 + i32.const 3016 call $~lib/string/String.__concat set_local $1 end @@ -9959,7 +10016,7 @@ if get_local $1 get_local $2 - i32.const 2832 + i32.const 3016 call $~lib/array/Array>#join call $~lib/string/String.__concat set_local $1 @@ -9970,7 +10027,7 @@ (local $0 i32) (local $1 i32) (local $2 f32) - i32.const 7048 + i32.const 7232 set_global $~lib/allocator/arena/startOffset get_global $~lib/allocator/arena/startOffset set_global $~lib/allocator/arena/offset @@ -12254,7 +12311,10 @@ unreachable end get_global $std/array/arr + i32.const 1 + i32.const 1 call $~lib/array/Array#splice + drop get_global $std/array/arr i32.load offset=4 i32.const 4 @@ -12334,6 +12394,72 @@ call $~lib/env/abort unreachable end + i32.const 1 + set_global $~argc + get_global $std/array/sarr + set_local $1 + i32.const 0 + set_local $0 + block $1of1 + block $0of1 + block $outOfRange + get_global $~argc + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 2147483647 + set_local $0 + end + get_local $1 + i32.const 0 + get_local $0 + call $~lib/array/Array#splice + i32.const 1584 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 336 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 1624 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const 2 + i32.const 2 + call $~lib/array/Array#splice + i32.const 1648 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 340 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 1688 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 341 + i32.const 0 + call $~lib/env/abort + unreachable + end get_global $std/array/arr i32.const 0 i32.const 0 @@ -12358,7 +12484,7 @@ if i32.const 0 i32.const 104 - i32.const 341 + i32.const 352 i32.const 0 call $~lib/env/abort unreachable @@ -12373,7 +12499,7 @@ if i32.const 0 i32.const 104 - i32.const 344 + i32.const 355 i32.const 0 call $~lib/env/abort unreachable @@ -12388,7 +12514,7 @@ if i32.const 0 i32.const 104 - i32.const 347 + i32.const 358 i32.const 0 call $~lib/env/abort unreachable @@ -12403,7 +12529,7 @@ if i32.const 0 i32.const 104 - i32.const 355 + i32.const 366 i32.const 0 call $~lib/env/abort unreachable @@ -12415,7 +12541,7 @@ if i32.const 0 i32.const 104 - i32.const 356 + i32.const 367 i32.const 0 call $~lib/env/abort unreachable @@ -12430,7 +12556,7 @@ if i32.const 0 i32.const 104 - i32.const 358 + i32.const 369 i32.const 0 call $~lib/env/abort unreachable @@ -12457,7 +12583,7 @@ if i32.const 0 i32.const 104 - i32.const 371 + i32.const 382 i32.const 0 call $~lib/env/abort unreachable @@ -12469,7 +12595,7 @@ if i32.const 0 i32.const 104 - i32.const 372 + i32.const 383 i32.const 0 call $~lib/env/abort unreachable @@ -12492,7 +12618,7 @@ if i32.const 0 i32.const 104 - i32.const 380 + i32.const 391 i32.const 0 call $~lib/env/abort unreachable @@ -12505,7 +12631,7 @@ if i32.const 0 i32.const 104 - i32.const 383 + i32.const 394 i32.const 0 call $~lib/env/abort unreachable @@ -12520,7 +12646,7 @@ if i32.const 0 i32.const 104 - i32.const 391 + i32.const 402 i32.const 0 call $~lib/env/abort unreachable @@ -12532,7 +12658,7 @@ if i32.const 0 i32.const 104 - i32.const 392 + i32.const 403 i32.const 0 call $~lib/env/abort unreachable @@ -12545,7 +12671,7 @@ if i32.const 0 i32.const 104 - i32.const 394 + i32.const 405 i32.const 0 call $~lib/env/abort unreachable @@ -12572,7 +12698,7 @@ if i32.const 0 i32.const 104 - i32.const 407 + i32.const 418 i32.const 0 call $~lib/env/abort unreachable @@ -12584,7 +12710,7 @@ if i32.const 0 i32.const 104 - i32.const 408 + i32.const 419 i32.const 0 call $~lib/env/abort unreachable @@ -12607,7 +12733,7 @@ if i32.const 0 i32.const 104 - i32.const 416 + i32.const 427 i32.const 0 call $~lib/env/abort unreachable @@ -12620,7 +12746,7 @@ if i32.const 0 i32.const 104 - i32.const 419 + i32.const 430 i32.const 0 call $~lib/env/abort unreachable @@ -12633,7 +12759,7 @@ if i32.const 0 i32.const 104 - i32.const 427 + i32.const 438 i32.const 0 call $~lib/env/abort unreachable @@ -12645,7 +12771,7 @@ if i32.const 0 i32.const 104 - i32.const 428 + i32.const 439 i32.const 0 call $~lib/env/abort unreachable @@ -12660,7 +12786,7 @@ if i32.const 0 i32.const 104 - i32.const 430 + i32.const 441 i32.const 0 call $~lib/env/abort unreachable @@ -12685,7 +12811,7 @@ if i32.const 0 i32.const 104 - i32.const 443 + i32.const 454 i32.const 0 call $~lib/env/abort unreachable @@ -12697,7 +12823,7 @@ if i32.const 0 i32.const 104 - i32.const 444 + i32.const 455 i32.const 0 call $~lib/env/abort unreachable @@ -12721,7 +12847,7 @@ if i32.const 0 i32.const 104 - i32.const 453 + i32.const 464 i32.const 0 call $~lib/env/abort unreachable @@ -12737,7 +12863,7 @@ if i32.const 0 i32.const 104 - i32.const 462 + i32.const 473 i32.const 0 call $~lib/env/abort unreachable @@ -12749,7 +12875,7 @@ if i32.const 0 i32.const 104 - i32.const 463 + i32.const 474 i32.const 0 call $~lib/env/abort unreachable @@ -12765,7 +12891,7 @@ if i32.const 0 i32.const 104 - i32.const 466 + i32.const 477 i32.const 0 call $~lib/env/abort unreachable @@ -12793,7 +12919,7 @@ if i32.const 0 i32.const 104 - i32.const 480 + i32.const 491 i32.const 0 call $~lib/env/abort unreachable @@ -12805,7 +12931,7 @@ if i32.const 0 i32.const 104 - i32.const 481 + i32.const 492 i32.const 0 call $~lib/env/abort unreachable @@ -12828,7 +12954,7 @@ if i32.const 0 i32.const 104 - i32.const 490 + i32.const 501 i32.const 0 call $~lib/env/abort unreachable @@ -12870,7 +12996,7 @@ if i32.const 0 i32.const 104 - i32.const 491 + i32.const 502 i32.const 0 call $~lib/env/abort unreachable @@ -12887,7 +13013,7 @@ if i32.const 0 i32.const 104 - i32.const 500 + i32.const 511 i32.const 0 call $~lib/env/abort unreachable @@ -12899,7 +13025,7 @@ if i32.const 0 i32.const 104 - i32.const 501 + i32.const 512 i32.const 0 call $~lib/env/abort unreachable @@ -12916,7 +13042,7 @@ if i32.const 0 i32.const 104 - i32.const 508 + i32.const 519 i32.const 0 call $~lib/env/abort unreachable @@ -12945,7 +13071,7 @@ if i32.const 0 i32.const 104 - i32.const 523 + i32.const 534 i32.const 0 call $~lib/env/abort unreachable @@ -12957,7 +13083,7 @@ if i32.const 0 i32.const 104 - i32.const 524 + i32.const 535 i32.const 0 call $~lib/env/abort unreachable @@ -12981,7 +13107,7 @@ if i32.const 0 i32.const 104 - i32.const 532 + i32.const 543 i32.const 0 call $~lib/env/abort unreachable @@ -12998,7 +13124,7 @@ if i32.const 0 i32.const 104 - i32.const 541 + i32.const 552 i32.const 0 call $~lib/env/abort unreachable @@ -13010,7 +13136,7 @@ if i32.const 0 i32.const 104 - i32.const 542 + i32.const 553 i32.const 0 call $~lib/env/abort unreachable @@ -13027,7 +13153,7 @@ if i32.const 0 i32.const 104 - i32.const 549 + i32.const 560 i32.const 0 call $~lib/env/abort unreachable @@ -13056,7 +13182,7 @@ if i32.const 0 i32.const 104 - i32.const 564 + i32.const 575 i32.const 0 call $~lib/env/abort unreachable @@ -13068,7 +13194,7 @@ if i32.const 0 i32.const 104 - i32.const 565 + i32.const 576 i32.const 0 call $~lib/env/abort unreachable @@ -13092,7 +13218,7 @@ if i32.const 0 i32.const 104 - i32.const 573 + i32.const 584 i32.const 0 call $~lib/env/abort unreachable @@ -13108,7 +13234,7 @@ if i32.const 0 i32.const 104 - i32.const 577 + i32.const 588 i32.const 0 call $~lib/env/abort unreachable @@ -13126,7 +13252,7 @@ if i32.const 0 i32.const 104 - i32.const 580 + i32.const 591 i32.const 0 call $~lib/env/abort unreachable @@ -13142,7 +13268,7 @@ if i32.const 0 i32.const 104 - i32.const 583 + i32.const 594 i32.const 0 call $~lib/env/abort unreachable @@ -13158,7 +13284,7 @@ if i32.const 0 i32.const 104 - i32.const 591 + i32.const 602 i32.const 0 call $~lib/env/abort unreachable @@ -13170,7 +13296,7 @@ if i32.const 0 i32.const 104 - i32.const 592 + i32.const 603 i32.const 0 call $~lib/env/abort unreachable @@ -13186,7 +13312,7 @@ if i32.const 0 i32.const 104 - i32.const 594 + i32.const 605 i32.const 0 call $~lib/env/abort unreachable @@ -13214,7 +13340,7 @@ if i32.const 0 i32.const 104 - i32.const 607 + i32.const 618 i32.const 0 call $~lib/env/abort unreachable @@ -13226,7 +13352,7 @@ if i32.const 0 i32.const 104 - i32.const 608 + i32.const 619 i32.const 0 call $~lib/env/abort unreachable @@ -13250,7 +13376,7 @@ if i32.const 0 i32.const 104 - i32.const 616 + i32.const 627 i32.const 0 call $~lib/env/abort unreachable @@ -13266,7 +13392,7 @@ if i32.const 0 i32.const 104 - i32.const 620 + i32.const 631 i32.const 0 call $~lib/env/abort unreachable @@ -13284,7 +13410,7 @@ if i32.const 0 i32.const 104 - i32.const 623 + i32.const 634 i32.const 0 call $~lib/env/abort unreachable @@ -13300,7 +13426,7 @@ if i32.const 0 i32.const 104 - i32.const 626 + i32.const 637 i32.const 0 call $~lib/env/abort unreachable @@ -13316,7 +13442,7 @@ if i32.const 0 i32.const 104 - i32.const 634 + i32.const 645 i32.const 0 call $~lib/env/abort unreachable @@ -13328,7 +13454,7 @@ if i32.const 0 i32.const 104 - i32.const 635 + i32.const 646 i32.const 0 call $~lib/env/abort unreachable @@ -13344,7 +13470,7 @@ if i32.const 0 i32.const 104 - i32.const 637 + i32.const 648 i32.const 0 call $~lib/env/abort unreachable @@ -13372,7 +13498,7 @@ if i32.const 0 i32.const 104 - i32.const 650 + i32.const 661 i32.const 0 call $~lib/env/abort unreachable @@ -13382,7 +13508,7 @@ if i32.const 0 i32.const 104 - i32.const 651 + i32.const 662 i32.const 0 call $~lib/env/abort unreachable @@ -13412,11 +13538,11 @@ set_local $1 i32.const 0 set_local $0 - block $1of1 - block $0of1 - block $outOfRange + block $1of153 + block $0of154 + block $outOfRange55 get_global $~argc - br_table $0of1 $1of1 $outOfRange + br_table $0of154 $1of153 $outOfRange55 end unreachable end @@ -13433,7 +13559,7 @@ if i32.const 0 i32.const 104 - i32.const 738 + i32.const 749 i32.const 0 call $~lib/env/abort unreachable @@ -13444,11 +13570,11 @@ set_local $1 i32.const 0 set_local $0 - block $1of153 - block $0of154 - block $outOfRange55 + block $1of156 + block $0of157 + block $outOfRange58 get_global $~argc - br_table $0of154 $1of153 $outOfRange55 + br_table $0of157 $1of156 $outOfRange58 end unreachable end @@ -13465,7 +13591,7 @@ if i32.const 0 i32.const 104 - i32.const 742 + i32.const 753 i32.const 0 call $~lib/env/abort unreachable @@ -13476,11 +13602,11 @@ set_local $1 i32.const 0 set_local $0 - block $1of156 - block $0of157 - block $outOfRange58 + block $1of159 + block $0of160 + block $outOfRange61 get_global $~argc - br_table $0of157 $1of156 $outOfRange58 + br_table $0of160 $1of159 $outOfRange61 end unreachable end @@ -13492,14 +13618,14 @@ call $~lib/array/Array#sort drop get_global $std/array/i32ArrayTyped - i32.const 2208 + i32.const 2392 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 746 + i32.const 757 i32.const 0 call $~lib/env/abort unreachable @@ -13510,11 +13636,11 @@ set_local $1 i32.const 0 set_local $0 - block $1of159 - block $0of160 - block $outOfRange61 + block $1of162 + block $0of163 + block $outOfRange64 get_global $~argc - br_table $0of160 $1of159 $outOfRange61 + br_table $0of163 $1of162 $outOfRange64 end unreachable end @@ -13526,14 +13652,14 @@ call $~lib/array/Array#sort drop get_global $std/array/u32ArrayTyped - i32.const 2288 + i32.const 2472 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 750 + i32.const 761 i32.const 0 call $~lib/env/abort unreachable @@ -13558,14 +13684,14 @@ get_global $std/array/reversed1 call $std/array/assertSortedDefault get_global $std/array/reversed1 - i32.const 2456 + i32.const 2640 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 770 + i32.const 781 i32.const 0 call $~lib/env/abort unreachable @@ -13573,14 +13699,14 @@ get_global $std/array/reversed2 call $std/array/assertSortedDefault get_global $std/array/reversed2 - i32.const 2480 + i32.const 2664 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 773 + i32.const 784 i32.const 0 call $~lib/env/abort unreachable @@ -13595,7 +13721,7 @@ if i32.const 0 i32.const 104 - i32.const 776 + i32.const 787 i32.const 0 call $~lib/env/abort unreachable @@ -13610,7 +13736,7 @@ if i32.const 0 i32.const 104 - i32.const 779 + i32.const 790 i32.const 0 call $~lib/env/abort unreachable @@ -13625,7 +13751,7 @@ if i32.const 0 i32.const 104 - i32.const 782 + i32.const 793 i32.const 0 call $~lib/env/abort unreachable @@ -13640,7 +13766,7 @@ if i32.const 0 i32.const 104 - i32.const 785 + i32.const 796 i32.const 0 call $~lib/env/abort unreachable @@ -13655,7 +13781,7 @@ if i32.const 0 i32.const 104 - i32.const 788 + i32.const 799 i32.const 0 call $~lib/env/abort unreachable @@ -13700,7 +13826,7 @@ if i32.const 0 i32.const 104 - i32.const 817 + i32.const 828 i32.const 0 call $~lib/env/abort unreachable @@ -13711,81 +13837,81 @@ i32.const 55 call $std/array/assertSorted> call $~lib/array/Array#join - i32.const 2864 + i32.const 3048 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 826 + i32.const 837 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3488 - i32.const 2520 + i32.const 3672 + i32.const 2704 call $~lib/array/Array#join - i32.const 3496 + i32.const 3680 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 827 + i32.const 838 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3592 - i32.const 3552 + i32.const 3776 + i32.const 3736 call $~lib/array/Array#join - i32.const 3496 + i32.const 3680 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 828 + i32.const 839 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3648 - i32.const 3624 + i32.const 3832 + i32.const 3808 call $~lib/array/Array#join - i32.const 3656 + i32.const 3840 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 829 + i32.const 840 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 5312 + i32.const 5496 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 830 + i32.const 841 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5480 - i32.const 2520 + i32.const 5664 + i32.const 2704 call $~lib/array/Array#join - i32.const 5400 + i32.const 5584 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 831 + i32.const 842 i32.const 0 call $~lib/env/abort unreachable @@ -13819,184 +13945,184 @@ set_global $std/array/refArr get_global $std/array/refArr call $~lib/array/Array#join - i32.const 5528 + i32.const 5712 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 833 + i32.const 844 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed0 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join - i32.const 2520 + i32.const 2704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 837 + i32.const 848 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed1 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join - i32.const 5400 + i32.const 5584 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 838 + i32.const 849 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed2 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join - i32.const 5600 + i32.const 5784 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 839 + i32.const 850 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed4 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join - i32.const 5616 + i32.const 5800 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 840 + i32.const 851 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 5688 + i32.const 5872 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 842 + i32.const 853 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 5752 + i32.const 5936 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 843 + i32.const 854 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6376 + i32.const 6560 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 844 + i32.const 855 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6576 + i32.const 6760 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 845 + i32.const 856 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/randomStringsExpected - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join - i32.const 6664 + i32.const 6848 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 846 + i32.const 857 i32.const 0 call $~lib/env/abort unreachable end - i32.const 6784 - i32.const 2832 + i32.const 6968 + i32.const 3016 call $~lib/array/Array#join - i32.const 6792 + i32.const 6976 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 847 + i32.const 858 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarr32 call $~lib/array/Array>#join - i32.const 6880 + i32.const 7064 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 850 + i32.const 861 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarr8 call $~lib/array/Array>#join - i32.const 6880 + i32.const 7064 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 853 + i32.const 864 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarrU32 call $~lib/array/Array>>#join - i32.const 5400 + i32.const 5584 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 856 + i32.const 867 i32.const 0 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/array.ts b/tests/compiler/std/array.ts index 4352719106..8592c96baa 100644 --- a/tests/compiler/std/array.ts +++ b/tests/compiler/std/array.ts @@ -330,6 +330,17 @@ assert(internalCapacity(arr) == 5); assert(arr[0] == 44); assert(arr[1] == 42); +// Array#splice //////////////////////////////////////////////////////////////////////////////////// + +var sarr: i32[] = [1, 2, 3, 4, 5]; +assert(isArraysEqual(sarr.splice(0), [1, 2, 3, 4, 5])); +// assert(sarr.length == 0); + +sarr = [1, 2, 3, 4, 5]; +assert(isArraysEqual(sarr.splice(2, 2), [3, 4])); +assert(isArraysEqual(sarr, [1, 2, 5])); +// assert(sarr.length == 3); + // Array#findIndex ///////////////////////////////////////////////////////////////////////////////// arr[0] = 0; diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index 5d810d101a..7b3d4730ca 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -108,151 +108,161 @@ (data (i32.const 1464) "\98\05\00\00\05\00\00\00") (data (i32.const 1472) "\14\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00\00\00\00\00") (data (i32.const 1504) "\c0\05\00\00\05\00\00\00") - (data (i32.const 1512) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") - (data (i32.const 1544) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") - (data (i32.const 1720) " \00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1784) "\b8\06\00\00\08\00\00\00") - (data (i32.const 1792) " \00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1856) "\00\07\00\00\08\00\00\00") - (data (i32.const 1864) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1992) "H\07\00\00\08\00\00\00") - (data (i32.const 2000) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2128) "\d0\07\00\00\08\00\00\00") - (data (i32.const 2136) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 2168) "X\08\00\00\05\00\00\00") - (data (i32.const 2176) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 2208) "\80\08\00\00\05\00\00\00") - (data (i32.const 2216) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 2248) "\a8\08\00\00\05\00\00\00") - (data (i32.const 2256) "\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00") - (data (i32.const 2288) "\d0\08\00\00\05\00\00\00") - (data (i32.const 2296) "\00\00\00\00\00\00\00\00") - (data (i32.const 2304) "\f8\08\00\00\00\00\00\00") - (data (i32.const 2312) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 2328) "\08\t\00\00\01\00\00\00") - (data (i32.const 2336) "\08\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") - (data (i32.const 2352) " \t\00\00\02\00\00\00") - (data (i32.const 2360) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2392) "8\t\00\00\04\00\00\00") - (data (i32.const 2400) "\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2432) "`\t\00\00\04\00\00\00") - (data (i32.const 2440) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 2456) "\88\t\00\00\01\00\00\00") - (data (i32.const 2464) "\08\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 2480) "\a0\t\00\00\02\00\00\00") - (data (i32.const 2488) "\01\00\00\00a\00") - (data (i32.const 2496) "\01\00\00\00b\00") - (data (i32.const 2504) "\02\00\00\00a\00b\00") - (data (i32.const 2512) "\02\00\00\00b\00a\00") - (data (i32.const 2520) "\00\00\00\00") - (data (i32.const 2528) "\1c\00\00\00\00\00\00\00\b8\t\00\00\c0\t\00\00\b8\t\00\00\c8\t\00\00\d0\t\00\00\d8\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2592) "\e0\t\00\00\07\00\00\00") - (data (i32.const 2600) "\1c\00\00\00\00\00\00\00\d8\t\00\00\b8\t\00\00\b8\t\00\00\c8\t\00\00\c0\t\00\00\d0\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2664) "(\n\00\00\07\00\00\00") - (data (i32.const 2672) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 2704) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 2760) "\04\00\00\00n\00u\00l\00l\00") - (data (i32.const 2776) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 2792) "\d8\n\00\00\02\00\00\00") - (data (i32.const 2800) "\04\00\00\00t\00r\00u\00e\00") - (data (i32.const 2816) "\05\00\00\00f\00a\00l\00s\00e\00") - (data (i32.const 2832) "\01\00\00\00,\00") - (data (i32.const 2840) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 2856) "\18\0b\00\00\02\00\00\00") - (data (i32.const 2864) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") - (data (i32.const 2888) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2920) "H\0b\00\00\03\00\00\00") - (data (i32.const 2928) "\01\00\00\000\00") - (data (i32.const 2936) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3448) "x\0b\00\00d\00\00\00") - (data (i32.const 3456) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3488) "\80\0d\00\00\03\00\00\00") - (data (i32.const 3496) "\05\00\00\001\00-\002\00-\003\00") - (data (i32.const 3512) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3544) "\b8\0d\00\00\03\00\00\00") - (data (i32.const 3552) "\01\00\00\00-\00") - (data (i32.const 3560) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3592) "\e8\0d\00\00\03\00\00\00") - (data (i32.const 3600) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 3616) "\10\0e\00\00\02\00\00\00") - (data (i32.const 3624) "\02\00\00\00_\00_\00") - (data (i32.const 3632) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 3648) "0\0e\00\00\02\00\00\00") - (data (i32.const 3656) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 3712) "0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00") - (data (i32.const 3776) "\80\0e\00\00\06\00\00\00") - (data (i32.const 3784) "\02\00\00\00,\00 \00") - (data (i32.const 3792) "\03\00\00\000\00.\000\00") - (data (i32.const 3808) "\03\00\00\00N\00a\00N\00") - (data (i32.const 3824) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 3848) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 3872) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") + (data (i32.const 1904) " \00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1968) "p\07\00\00\08\00\00\00") + (data (i32.const 1976) " \00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2040) "\b8\07\00\00\08\00\00\00") + (data (i32.const 2048) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2176) "\00\08\00\00\08\00\00\00") + (data (i32.const 2184) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2312) "\88\08\00\00\08\00\00\00") + (data (i32.const 2320) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 2352) "\10\t\00\00\05\00\00\00") + (data (i32.const 2360) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 2392) "8\t\00\00\05\00\00\00") + (data (i32.const 2400) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 2432) "`\t\00\00\05\00\00\00") + (data (i32.const 2440) "\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00") + (data (i32.const 2472) "\88\t\00\00\05\00\00\00") + (data (i32.const 2480) "\00\00\00\00\00\00\00\00") + (data (i32.const 2488) "\b0\t\00\00\00\00\00\00") + (data (i32.const 2496) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 2512) "\c0\t\00\00\01\00\00\00") + (data (i32.const 2520) "\08\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") + (data (i32.const 2536) "\d8\t\00\00\02\00\00\00") + (data (i32.const 2544) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2576) "\f0\t\00\00\04\00\00\00") + (data (i32.const 2584) "\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2616) "\18\n\00\00\04\00\00\00") + (data (i32.const 2624) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 2640) "@\n\00\00\01\00\00\00") + (data (i32.const 2648) "\08\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 2664) "X\n\00\00\02\00\00\00") + (data (i32.const 2672) "\01\00\00\00a\00") + (data (i32.const 2680) "\01\00\00\00b\00") + (data (i32.const 2688) "\02\00\00\00a\00b\00") + (data (i32.const 2696) "\02\00\00\00b\00a\00") + (data (i32.const 2704) "\00\00\00\00") + (data (i32.const 2712) "\1c\00\00\00\00\00\00\00p\n\00\00x\n\00\00p\n\00\00\80\n\00\00\88\n\00\00\90\n\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2776) "\98\n\00\00\07\00\00\00") + (data (i32.const 2784) "\1c\00\00\00\00\00\00\00\90\n\00\00p\n\00\00p\n\00\00\80\n\00\00x\n\00\00\88\n\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2848) "\e0\n\00\00\07\00\00\00") + (data (i32.const 2856) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 2888) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 2944) "\04\00\00\00n\00u\00l\00l\00") + (data (i32.const 2960) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 2976) "\90\0b\00\00\02\00\00\00") + (data (i32.const 2984) "\04\00\00\00t\00r\00u\00e\00") + (data (i32.const 3000) "\05\00\00\00f\00a\00l\00s\00e\00") + (data (i32.const 3016) "\01\00\00\00,\00") + (data (i32.const 3024) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3040) "\d0\0b\00\00\02\00\00\00") + (data (i32.const 3048) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") + (data (i32.const 3072) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3104) "\00\0c\00\00\03\00\00\00") + (data (i32.const 3112) "\01\00\00\000\00") + (data (i32.const 3120) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3632) "0\0c\00\00d\00\00\00") + (data (i32.const 3640) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3672) "8\0e\00\00\03\00\00\00") + (data (i32.const 3680) "\05\00\00\001\00-\002\00-\003\00") + (data (i32.const 3696) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3728) "p\0e\00\00\03\00\00\00") + (data (i32.const 3736) "\01\00\00\00-\00") + (data (i32.const 3744) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3776) "\a0\0e\00\00\03\00\00\00") + (data (i32.const 3784) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 3800) "\c8\0e\00\00\02\00\00\00") + (data (i32.const 3808) "\02\00\00\00_\00_\00") + (data (i32.const 3816) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 3832) "\e8\0e\00\00\02\00\00\00") + (data (i32.const 3840) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") + (data (i32.const 3896) "0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00") + (data (i32.const 3960) "8\0f\00\00\06\00\00\00") + (data (i32.const 3968) "\02\00\00\00,\00 \00") + (data (i32.const 3976) "\03\00\00\000\00.\000\00") + (data (i32.const 3992) "\03\00\00\00N\00a\00N\00") + (data (i32.const 4008) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 4032) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 4056) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#sort|trampoline~anonymous|43 $~lib/array/Array#sort|trampoline~anonymous|44 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|46 $std/array/assertSortedDefault~anonymous|47 $start~anonymous|48 $start~anonymous|49 $start~anonymous|50 $start~anonymous|51 $start~anonymous|52 $start~anonymous|53 $start~anonymous|54 $start~anonymous|55) (global $~lib/internal/allocator/AL_BITS i32 (i32.const 3)) @@ -288,6 +298,7 @@ (global $std/array/source (mut i32) (i32.const 544)) (global $std/array/cwArr (mut i32) (i32.const 0)) (global $std/array/includes (mut i32) (i32.const 0)) + (global $std/array/sarr (mut i32) (i32.const 1544)) (global $std/array/every (mut i32) (i32.const 0)) (global $std/array/some (mut i32) (i32.const 0)) (global $std/array/newArr (mut i32) (i32.const 0)) @@ -298,16 +309,16 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/charset i32 (i32.const 1544)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 1784)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 1992)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 2168)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 2248)) - (global $std/array/reversed0 (mut i32) (i32.const 2304)) - (global $std/array/reversed1 (mut i32) (i32.const 2328)) - (global $std/array/reversed2 (mut i32) (i32.const 2352)) - (global $std/array/reversed4 (mut i32) (i32.const 2392)) - (global $std/array/expected4 (mut i32) (i32.const 2432)) + (global $std/array/charset i32 (i32.const 1728)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 1968)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 2176)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 2352)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 2432)) + (global $std/array/reversed0 (mut i32) (i32.const 2488)) + (global $std/array/reversed1 (mut i32) (i32.const 2512)) + (global $std/array/reversed2 (mut i32) (i32.const 2536)) + (global $std/array/reversed4 (mut i32) (i32.const 2576)) + (global $std/array/expected4 (mut i32) (i32.const 2616)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -317,8 +328,8 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 2592)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 2664)) + (global $std/array/randomStringsActual (mut i32) (i32.const 2776)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 2848)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/internal/string/CharCode.PLUS i32 (i32.const 43)) @@ -352,10 +363,10 @@ (global $std/array/refArr (mut i32) (i32.const 0)) (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) (global $~lib/builtins/i64.MAX_VALUE i64 (i64.const 9223372036854775807)) - (global $std/array/subarr32 (mut i32) (i32.const 6872)) - (global $std/array/subarr8 (mut i32) (i32.const 6968)) - (global $std/array/subarrU32 (mut i32) (i32.const 7040)) - (global $HEAP_BASE i32 (i32.const 7048)) + (global $std/array/subarr32 (mut i32) (i32.const 7056)) + (global $std/array/subarr8 (mut i32) (i32.const 7152)) + (global $std/array/subarrU32 (mut i32) (i32.const 7224)) + (global $HEAP_BASE i32 (i32.const 7232)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -3557,16 +3568,21 @@ end i32.const -1 ) - (func $~lib/array/Array#splice (; 35 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#splice (; 35 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) + (local $9 i32) get_local $2 i32.const 1 i32.lt_s if + i32.const 0 + i32.const 0 + call $~lib/array/Array#constructor return end get_local $0 @@ -3592,6 +3608,9 @@ get_local $3 i32.ge_s if + i32.const 0 + i32.const 0 + call $~lib/array/Array#constructor return end get_local $2 @@ -3608,6 +3627,10 @@ get_local $0 i32.load set_local $6 + i32.const 0 + get_local $2 + call $~lib/array/Array#constructor + set_local $7 get_local $6 get_global $~lib/internal/arraybuffer/HEADER_SIZE i32.add @@ -3615,7 +3638,20 @@ i32.const 2 i32.shl i32.add + set_local $8 + get_local $2 + i32.const 2 + i32.shl + set_local $9 + get_local $7 + i32.load + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add set_local $4 + get_local $4 + get_local $8 + get_local $9 + call $~lib/internal/memory/memmove get_local $6 get_global $~lib/internal/arraybuffer/HEADER_SIZE i32.add @@ -3625,22 +3661,38 @@ i32.const 2 i32.shl i32.add - set_local $5 - get_local $2 - i32.const 2 - i32.shl - set_local $7 + set_local $4 + get_local $8 get_local $4 - get_local $5 - get_local $7 + get_local $9 call $~lib/internal/memory/memmove get_local $0 get_local $3 get_local $2 i32.sub i32.store offset=4 + get_local $7 ) - (func $~lib/array/Array#__set (; 36 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#splice|trampoline (; 36 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + get_global $~argc + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + get_global $~lib/builtins/i32.MAX_VALUE + set_local $2 + end + get_local $0 + get_local $1 + get_local $2 + call $~lib/array/Array#splice + ) + (func $~lib/array/Array#__set (; 37 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) get_local $0 @@ -3691,12 +3743,12 @@ get_local $2 i32.store offset=8 ) - (func $start~anonymous|1 (; 37 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|1 (; 38 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 0 i32.eq ) - (func $~lib/array/Array#findIndex (; 38 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#findIndex (; 39 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3760,17 +3812,17 @@ end i32.const -1 ) - (func $start~anonymous|2 (; 39 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|2 (; 40 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 1 i32.eq ) - (func $start~anonymous|3 (; 40 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|3 (; 41 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 100 i32.eq ) - (func $start~anonymous|4 (; 41 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|4 (; 42 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 i32.const 100 call $~lib/array/Array#push @@ -3779,12 +3831,12 @@ i32.const 100 i32.eq ) - (func $start~anonymous|5 (; 42 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|5 (; 43 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 100 i32.eq ) - (func $start~anonymous|6 (; 43 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|6 (; 44 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 call $~lib/array/Array#pop drop @@ -3792,12 +3844,12 @@ i32.const 100 i32.eq ) - (func $start~anonymous|7 (; 44 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|7 (; 45 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 0 i32.ge_s ) - (func $~lib/array/Array#every (; 45 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#every (; 46 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3862,12 +3914,12 @@ end i32.const 1 ) - (func $start~anonymous|8 (; 46 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|8 (; 47 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 0 i32.le_s ) - (func $start~anonymous|9 (; 47 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|9 (; 48 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 i32.const 100 call $~lib/array/Array#push @@ -3876,12 +3928,12 @@ i32.const 10 i32.lt_s ) - (func $start~anonymous|10 (; 48 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|10 (; 49 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 10 i32.lt_s ) - (func $start~anonymous|11 (; 49 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|11 (; 50 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 call $~lib/array/Array#pop drop @@ -3889,12 +3941,12 @@ i32.const 3 i32.lt_s ) - (func $start~anonymous|12 (; 50 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|12 (; 51 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 3 i32.ge_s ) - (func $~lib/array/Array#some (; 51 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#some (; 52 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3958,12 +4010,12 @@ end i32.const 0 ) - (func $start~anonymous|13 (; 52 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|13 (; 53 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const -1 i32.le_s ) - (func $start~anonymous|14 (; 53 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|14 (; 54 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 i32.const 100 call $~lib/array/Array#push @@ -3972,12 +4024,12 @@ i32.const 10 i32.gt_s ) - (func $start~anonymous|15 (; 54 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|15 (; 55 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 10 i32.gt_s ) - (func $start~anonymous|16 (; 55 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|16 (; 56 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 call $~lib/array/Array#pop drop @@ -3985,13 +4037,13 @@ i32.const 3 i32.gt_s ) - (func $start~anonymous|17 (; 56 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start~anonymous|17 (; 57 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) get_global $std/array/i get_local $0 i32.add set_global $std/array/i ) - (func $~lib/array/Array#forEach (; 57 ;) (type $iiv) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#forEach (; 58 ;) (type $iiv) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4048,7 +4100,7 @@ unreachable end ) - (func $start~anonymous|18 (; 58 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start~anonymous|18 (; 59 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) get_local $2 i32.const 100 call $~lib/array/Array#push @@ -4058,13 +4110,13 @@ i32.add set_global $std/array/i ) - (func $start~anonymous|19 (; 59 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start~anonymous|19 (; 60 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) get_global $std/array/i get_local $0 i32.add set_global $std/array/i ) - (func $start~anonymous|20 (; 60 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start~anonymous|20 (; 61 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) get_local $2 call $~lib/array/Array#pop drop @@ -4073,11 +4125,11 @@ i32.add set_global $std/array/i ) - (func $start~anonymous|21 (; 61 ;) (type $iiif) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) + (func $start~anonymous|21 (; 62 ;) (type $iiif) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) get_local $0 f32.convert_s/i32 ) - (func $~lib/array/Array#constructor (; 62 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#constructor (; 63 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4136,7 +4188,7 @@ call $~lib/internal/memory/memset get_local $0 ) - (func $~lib/array/Array#map (; 63 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#map (; 64 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4212,7 +4264,7 @@ end get_local $4 ) - (func $~lib/array/Array#__get (; 64 ;) (type $iif) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__get (; 65 ;) (type $iif) (param $0 i32) (param $1 i32) (result f32) (local $2 i32) get_local $0 i32.load @@ -4234,7 +4286,7 @@ unreachable end ) - (func $start~anonymous|22 (; 65 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|22 (; 66 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 i32.const 100 call $~lib/array/Array#push @@ -4245,7 +4297,7 @@ set_global $std/array/i get_local $0 ) - (func $~lib/array/Array#map (; 66 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#map (; 67 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4320,14 +4372,14 @@ end get_local $4 ) - (func $start~anonymous|23 (; 67 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|23 (; 68 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_global $std/array/i get_local $0 i32.add set_global $std/array/i get_local $0 ) - (func $start~anonymous|24 (; 68 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|24 (; 69 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 call $~lib/array/Array#pop drop @@ -4337,12 +4389,12 @@ set_global $std/array/i get_local $0 ) - (func $start~anonymous|25 (; 69 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|25 (; 70 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 2 i32.ge_s ) - (func $~lib/array/Array#filter (; 70 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#filter (; 71 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4415,7 +4467,7 @@ end get_local $4 ) - (func $start~anonymous|26 (; 71 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|26 (; 72 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 i32.const 100 call $~lib/array/Array#push @@ -4428,7 +4480,7 @@ i32.const 2 i32.ge_s ) - (func $start~anonymous|27 (; 72 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|27 (; 73 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_global $std/array/i get_local $0 i32.add @@ -4437,7 +4489,7 @@ i32.const 2 i32.ge_s ) - (func $start~anonymous|28 (; 73 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|28 (; 74 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 call $~lib/array/Array#pop drop @@ -4449,12 +4501,12 @@ i32.const 2 i32.ge_s ) - (func $start~anonymous|29 (; 74 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|29 (; 75 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $0 get_local $1 i32.add ) - (func $~lib/array/Array#reduce (; 75 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduce (; 76 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4517,12 +4569,12 @@ end get_local $3 ) - (func $start~anonymous|30 (; 76 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|30 (; 77 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $0 get_local $1 i32.add ) - (func $start~anonymous|31 (; 77 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|31 (; 78 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $0 i32.const 0 i32.ne @@ -4534,7 +4586,7 @@ i32.gt_s end ) - (func $~lib/array/Array#reduce (; 78 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduce (; 79 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4597,7 +4649,7 @@ end get_local $3 ) - (func $start~anonymous|32 (; 79 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|32 (; 80 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $0 i32.const 0 i32.ne @@ -4609,7 +4661,7 @@ i32.gt_s end ) - (func $start~anonymous|33 (; 80 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|33 (; 81 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $3 i32.const 1 call $~lib/array/Array#push @@ -4618,12 +4670,12 @@ get_local $1 i32.add ) - (func $start~anonymous|34 (; 81 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|34 (; 82 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $0 get_local $1 i32.add ) - (func $start~anonymous|35 (; 82 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|35 (; 83 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $3 call $~lib/array/Array#pop drop @@ -4631,12 +4683,12 @@ get_local $1 i32.add ) - (func $start~anonymous|36 (; 83 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|36 (; 84 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $0 get_local $1 i32.add ) - (func $~lib/array/Array#reduceRight (; 84 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduceRight (; 85 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4686,12 +4738,12 @@ end get_local $3 ) - (func $start~anonymous|37 (; 85 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|37 (; 86 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $0 get_local $1 i32.add ) - (func $start~anonymous|38 (; 86 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|38 (; 87 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $0 i32.const 0 i32.ne @@ -4703,7 +4755,7 @@ i32.gt_s end ) - (func $~lib/array/Array#reduceRight (; 87 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduceRight (; 88 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4753,7 +4805,7 @@ end get_local $3 ) - (func $start~anonymous|39 (; 88 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|39 (; 89 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $0 i32.const 0 i32.ne @@ -4765,7 +4817,7 @@ i32.gt_s end ) - (func $start~anonymous|40 (; 89 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|40 (; 90 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $3 i32.const 1 call $~lib/array/Array#push @@ -4774,12 +4826,12 @@ get_local $1 i32.add ) - (func $start~anonymous|41 (; 90 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|41 (; 91 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $0 get_local $1 i32.add ) - (func $start~anonymous|42 (; 91 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|42 (; 92 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $3 call $~lib/array/Array#pop drop @@ -4787,7 +4839,7 @@ get_local $1 i32.add ) - (func $~lib/math/murmurHash3 (; 92 ;) (type $II) (param $0 i64) (result i64) + (func $~lib/math/murmurHash3 (; 93 ;) (type $II) (param $0 i64) (result i64) get_local $0 get_local $0 i64.const 33 @@ -4816,7 +4868,7 @@ set_local $0 get_local $0 ) - (func $~lib/math/splitMix32 (; 93 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/math/splitMix32 (; 94 ;) (type $ii) (param $0 i32) (result i32) get_local $0 i32.const 1831565813 i32.add @@ -4851,12 +4903,12 @@ i32.shr_u i32.xor ) - (func $~lib/math/NativeMath.seedRandom (; 94 ;) (type $Iv) (param $0 i64) + (func $~lib/math/NativeMath.seedRandom (; 95 ;) (type $Iv) (param $0 i64) get_local $0 i64.eqz if i32.const 0 - i32.const 1512 + i32.const 1696 i32.const 959 i32.const 4 call $~lib/env/abort @@ -4880,7 +4932,7 @@ call $~lib/math/splitMix32 set_global $~lib/math/random_state1_32 ) - (func $~lib/internal/array/insertionSort (; 95 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/internal/array/insertionSort (; 96 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 f32) (local $6 i32) @@ -4992,10 +5044,10 @@ unreachable end ) - (func $~lib/allocator/arena/__memory_free (; 96 ;) (type $iv) (param $0 i32) + (func $~lib/allocator/arena/__memory_free (; 97 ;) (type $iv) (param $0 i32) nop ) - (func $~lib/internal/array/weakHeapSort (; 97 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/internal/array/weakHeapSort (; 98 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -5408,7 +5460,7 @@ get_local $12 f32.store offset=8 ) - (func $~lib/array/Array#sort (; 98 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 99 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5419,7 +5471,7 @@ if i32.const 0 i32.const 8 - i32.const 399 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -5515,7 +5567,7 @@ get_local $0 return ) - (func $~lib/array/Array#sort|trampoline~anonymous|43 (; 99 ;) (type $ffi) (param $0 f32) (param $1 f32) (result i32) + (func $~lib/array/Array#sort|trampoline~anonymous|43 (; 100 ;) (type $ffi) (param $0 f32) (param $1 f32) (result i32) (local $2 i32) (local $3 i32) get_local $0 @@ -5548,7 +5600,7 @@ i32.lt_s i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 100 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 101 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -5567,12 +5619,12 @@ get_local $1 call $~lib/array/Array#sort ) - (func $~lib/builtins/isNaN (; 101 ;) (type $fi) (param $0 f32) (result i32) + (func $~lib/builtins/isNaN (; 102 ;) (type $fi) (param $0 f32) (result i32) get_local $0 get_local $0 f32.ne ) - (func $std/array/isArraysEqual (; 102 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 103 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) get_local $2 i32.eqz @@ -5647,7 +5699,7 @@ end i32.const 1 ) - (func $~lib/internal/array/insertionSort (; 103 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/internal/array/insertionSort (; 104 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 f64) (local $6 i32) @@ -5759,7 +5811,7 @@ unreachable end ) - (func $~lib/internal/array/weakHeapSort (; 104 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/internal/array/weakHeapSort (; 105 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -6172,7 +6224,7 @@ get_local $12 f64.store offset=8 ) - (func $~lib/array/Array#sort (; 105 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 106 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6183,7 +6235,7 @@ if i32.const 0 i32.const 8 - i32.const 399 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -6279,7 +6331,7 @@ get_local $0 return ) - (func $~lib/array/Array#sort|trampoline~anonymous|44 (; 106 ;) (type $FFi) (param $0 f64) (param $1 f64) (result i32) + (func $~lib/array/Array#sort|trampoline~anonymous|44 (; 107 ;) (type $FFi) (param $0 f64) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) get_local $0 @@ -6312,7 +6364,7 @@ i64.lt_s i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 107 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 108 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -6331,7 +6383,7 @@ get_local $1 call $~lib/array/Array#sort ) - (func $~lib/array/Array#__get (; 108 ;) (type $iiF) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__get (; 109 ;) (type $iiF) (param $0 i32) (param $1 i32) (result f64) (local $2 i32) get_local $0 i32.load @@ -6353,12 +6405,12 @@ unreachable end ) - (func $~lib/builtins/isNaN (; 109 ;) (type $Fi) (param $0 f64) (result i32) + (func $~lib/builtins/isNaN (; 110 ;) (type $Fi) (param $0 f64) (result i32) get_local $0 get_local $0 f64.ne ) - (func $std/array/isArraysEqual (; 110 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 111 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) get_local $2 i32.eqz @@ -6433,7 +6485,7 @@ end i32.const 1 ) - (func $~lib/internal/array/insertionSort (; 111 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/internal/array/insertionSort (; 112 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -6545,7 +6597,7 @@ unreachable end ) - (func $~lib/internal/array/weakHeapSort (; 112 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/internal/array/weakHeapSort (; 113 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -6958,7 +7010,7 @@ get_local $12 i32.store offset=8 ) - (func $~lib/array/Array#sort (; 113 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 114 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6969,7 +7021,7 @@ if i32.const 0 i32.const 8 - i32.const 399 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -7065,12 +7117,12 @@ get_local $0 return ) - (func $~lib/array/Array#sort|trampoline~anonymous|45 (; 114 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline~anonymous|45 (; 115 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 get_local $1 i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 115 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 116 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -7089,7 +7141,7 @@ get_local $1 call $~lib/array/Array#sort ) - (func $~lib/internal/array/insertionSort (; 116 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/internal/array/insertionSort (; 117 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -7201,7 +7253,7 @@ unreachable end ) - (func $~lib/internal/array/weakHeapSort (; 117 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/internal/array/weakHeapSort (; 118 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -7614,7 +7666,7 @@ get_local $12 i32.store offset=8 ) - (func $~lib/array/Array#sort (; 118 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 119 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7625,7 +7677,7 @@ if i32.const 0 i32.const 8 - i32.const 399 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -7721,7 +7773,7 @@ get_local $0 return ) - (func $~lib/array/Array#sort|trampoline~anonymous|46 (; 119 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline~anonymous|46 (; 120 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 get_local $1 i32.gt_u @@ -7730,7 +7782,7 @@ i32.lt_u i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 120 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 121 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -7749,7 +7801,7 @@ get_local $1 call $~lib/array/Array#sort ) - (func $std/array/createReverseOrderedArray (; 121 ;) (type $ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedArray (; 122 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -7790,7 +7842,7 @@ end get_local $1 ) - (func $~lib/math/NativeMath.random (; 122 ;) (type $F) (result f64) + (func $~lib/math/NativeMath.random (; 123 ;) (type $F) (result f64) (local $0 i64) (local $1 i64) (local $2 i64) @@ -7798,7 +7850,7 @@ i32.eqz if i32.const 0 - i32.const 1512 + i32.const 1696 i32.const 968 i32.const 24 call $~lib/env/abort @@ -7847,7 +7899,7 @@ f64.const 1 f64.sub ) - (func $std/array/createRandomOrderedArray (; 123 ;) (type $ii) (param $0 i32) (result i32) + (func $std/array/createRandomOrderedArray (; 124 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -7888,12 +7940,12 @@ end get_local $1 ) - (func $std/array/assertSortedDefault~anonymous|47 (; 124 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/assertSortedDefault~anonymous|47 (; 125 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 get_local $1 i32.sub ) - (func $std/array/isSorted (; 125 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted (; 126 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block $break|0 @@ -7943,7 +7995,7 @@ end i32.const 1 ) - (func $std/array/assertSorted (; 126 ;) (type $iiv) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted (; 127 ;) (type $iiv) (param $0 i32) (param $1 i32) get_local $0 get_local $1 call $~lib/array/Array#sort @@ -7953,13 +8005,13 @@ if i32.const 0 i32.const 104 - i32.const 727 + i32.const 738 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/array/assertSortedDefault (; 127 ;) (type $iv) (param $0 i32) + (func $std/array/assertSortedDefault (; 128 ;) (type $iv) (param $0 i32) get_local $0 block $~lib/internal/array/defaultComparator|inlined.1 (result i32) i32.const 47 @@ -7967,27 +8019,27 @@ end call $std/array/assertSorted ) - (func $start~anonymous|48 (; 128 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $start~anonymous|48 (; 129 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 get_local $1 i32.sub ) - (func $start~anonymous|49 (; 129 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $start~anonymous|49 (; 130 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $1 get_local $0 i32.sub ) - (func $start~anonymous|50 (; 130 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $start~anonymous|50 (; 131 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 get_local $1 i32.sub ) - (func $start~anonymous|51 (; 131 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $start~anonymous|51 (; 132 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $1 get_local $0 i32.sub ) - (func $~lib/array/Array>#constructor (; 132 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#constructor (; 133 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8046,7 +8098,7 @@ call $~lib/internal/memory/memset get_local $0 ) - (func $~lib/array/Array>#__set (; 133 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array>#__set (; 134 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) get_local $0 @@ -8097,7 +8149,7 @@ get_local $2 i32.store offset=8 ) - (func $~lib/array/Array>#__get (; 134 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#__get (; 135 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) get_local $0 i32.load @@ -8119,7 +8171,7 @@ unreachable end ) - (func $std/array/createReverseOrderedNestedArray (; 135 ;) (type $ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedNestedArray (; 136 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -8170,7 +8222,7 @@ end get_local $1 ) - (func $start~anonymous|52 (; 136 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $start~anonymous|52 (; 137 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 i32.const 0 call $~lib/array/Array#__get @@ -8179,7 +8231,7 @@ call $~lib/array/Array#__get i32.sub ) - (func $~lib/internal/array/insertionSort> (; 137 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/internal/array/insertionSort> (; 138 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -8291,7 +8343,7 @@ unreachable end ) - (func $~lib/array/Array>#sort (; 138 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#sort (; 139 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8302,7 +8354,7 @@ if i32.const 0 i32.const 8 - i32.const 399 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -8387,7 +8439,7 @@ get_local $0 return ) - (func $std/array/isSorted> (; 139 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted> (; 140 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block $break|0 @@ -8437,7 +8489,7 @@ end i32.const 1 ) - (func $std/array/assertSorted> (; 140 ;) (type $iiv) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted> (; 141 ;) (type $iiv) (param $0 i32) (param $1 i32) get_local $0 get_local $1 call $~lib/array/Array>#sort @@ -8447,13 +8499,13 @@ if i32.const 0 i32.const 104 - i32.const 727 + i32.const 738 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/array/Array>#constructor (; 141 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#constructor (; 142 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8512,7 +8564,7 @@ call $~lib/internal/memory/memset get_local $0 ) - (func $std/array/Proxy#constructor (; 142 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/Proxy#constructor (; 143 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) get_local $0 if (result i32) @@ -8531,7 +8583,7 @@ end tee_local $0 ) - (func $~lib/array/Array>#__set (; 143 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array>#__set (; 144 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) get_local $0 @@ -8582,7 +8634,7 @@ get_local $2 i32.store offset=8 ) - (func $std/array/createReverseOrderedElementsArray (; 144 ;) (type $ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedElementsArray (; 145 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -8625,14 +8677,14 @@ end get_local $1 ) - (func $start~anonymous|53 (; 145 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $start~anonymous|53 (; 146 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 i32.load get_local $1 i32.load i32.sub ) - (func $~lib/internal/array/insertionSort> (; 146 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/internal/array/insertionSort> (; 147 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -8744,7 +8796,7 @@ unreachable end ) - (func $~lib/array/Array>#sort (; 147 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#sort (; 148 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8755,7 +8807,7 @@ if i32.const 0 i32.const 8 - i32.const 399 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -8840,7 +8892,7 @@ get_local $0 return ) - (func $~lib/array/Array>#__get (; 148 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#__get (; 149 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) get_local $0 i32.load @@ -8862,7 +8914,7 @@ unreachable end ) - (func $std/array/isSorted> (; 149 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted> (; 150 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block $break|0 @@ -8912,7 +8964,7 @@ end i32.const 1 ) - (func $std/array/assertSorted> (; 150 ;) (type $iiv) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted> (; 151 ;) (type $iiv) (param $0 i32) (param $1 i32) get_local $0 get_local $1 call $~lib/array/Array>#sort @@ -8922,13 +8974,13 @@ if i32.const 0 i32.const 104 - i32.const 727 + i32.const 738 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/internal/string/compareUnsafe (; 151 ;) (type $iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $~lib/internal/string/compareUnsafe (; 152 ;) (type $iiiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -8981,7 +9033,7 @@ end get_local $5 ) - (func $~lib/string/String.__gt (; 152 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gt (; 153 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9046,7 +9098,7 @@ i32.const 0 i32.gt_s ) - (func $~lib/string/String.__lt (; 153 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lt (; 154 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9111,7 +9163,7 @@ i32.const 0 i32.lt_s ) - (func $start~anonymous|54 (; 154 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $start~anonymous|54 (; 155 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 get_local $1 call $~lib/string/String.__gt @@ -9120,7 +9172,7 @@ call $~lib/string/String.__lt i32.sub ) - (func $~lib/internal/array/insertionSort (; 155 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/internal/array/insertionSort (; 156 ;) (type $iiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -9232,7 +9284,7 @@ unreachable end ) - (func $~lib/array/Array#sort (; 156 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 157 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9243,7 +9295,7 @@ if i32.const 0 i32.const 8 - i32.const 399 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -9328,7 +9380,7 @@ get_local $0 return ) - (func $~lib/array/Array#__get (; 157 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 158 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) get_local $0 i32.load @@ -9350,7 +9402,7 @@ unreachable end ) - (func $std/array/isSorted (; 158 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted (; 159 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) block $break|0 @@ -9400,7 +9452,7 @@ end i32.const 1 ) - (func $std/array/assertSorted (; 159 ;) (type $iiv) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted (; 160 ;) (type $iiv) (param $0 i32) (param $1 i32) get_local $0 get_local $1 call $~lib/array/Array#sort @@ -9410,13 +9462,13 @@ if i32.const 0 i32.const 104 - i32.const 727 + i32.const 738 i32.const 2 call $~lib/env/abort unreachable end ) - (func $~lib/string/String.__eq (; 160 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 161 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) get_local $0 @@ -9460,13 +9512,13 @@ call $~lib/internal/string/compareUnsafe i32.eqz ) - (func $~lib/string/String.__ne (; 161 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 162 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 get_local $1 call $~lib/string/String.__eq i32.eqz ) - (func $std/array/isArraysEqual (; 162 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 163 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) get_local $2 i32.eqz @@ -9525,7 +9577,7 @@ end i32.const 1 ) - (func $~lib/array/Array#constructor (; 163 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#constructor (; 164 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9584,7 +9636,7 @@ call $~lib/internal/memory/memset get_local $0 ) - (func $~lib/internal/string/allocateUnsafe (; 164 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/internal/string/allocateUnsafe (; 165 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) get_local $0 @@ -9601,7 +9653,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 14 i32.const 2 call $~lib/env/abort @@ -9624,7 +9676,7 @@ i32.store get_local $2 ) - (func $~lib/string/String#charAt (; 165 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#charAt (; 166 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) get_local $0 i32.const 0 @@ -9632,7 +9684,7 @@ i32.eqz if i32.const 0 - i32.const 2672 + i32.const 2856 i32.const 58 i32.const 4 call $~lib/env/abort @@ -9643,7 +9695,7 @@ i32.load i32.ge_u if - i32.const 2520 + i32.const 2704 return end i32.const 1 @@ -9659,7 +9711,7 @@ i32.store16 offset=4 get_local $2 ) - (func $~lib/internal/string/copyUnsafe (; 166 ;) (type $iiiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (func $~lib/internal/string/copyUnsafe (; 167 ;) (type $iiiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -9688,7 +9740,7 @@ get_local $7 call $~lib/internal/memory/memmove ) - (func $~lib/string/String#concat (; 167 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 168 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9699,7 +9751,7 @@ i32.eqz if i32.const 0 - i32.const 2672 + i32.const 2856 i32.const 110 i32.const 4 call $~lib/env/abort @@ -9709,7 +9761,7 @@ i32.const 0 i32.eq if - i32.const 2760 + i32.const 2944 set_local $1 end get_local $0 @@ -9726,7 +9778,7 @@ i32.const 0 i32.eq if - i32.const 2520 + i32.const 2704 return end get_local $4 @@ -9746,22 +9798,22 @@ call $~lib/internal/string/copyUnsafe get_local $5 ) - (func $~lib/string/String.__concat (; 168 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 169 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 i32.eqz if - i32.const 2760 + i32.const 2944 set_local $0 end get_local $0 get_local $1 call $~lib/string/String#concat ) - (func $std/array/createRandomString (; 169 ;) (type $ii) (param $0 i32) (result i32) + (func $std/array/createRandomString (; 170 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 f64) - i32.const 2520 + i32.const 2704 set_local $1 block $break|0 i32.const 0 @@ -9799,7 +9851,7 @@ end get_local $1 ) - (func $~lib/array/Array#__set (; 170 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__set (; 171 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) get_local $0 @@ -9850,7 +9902,7 @@ get_local $2 i32.store offset=8 ) - (func $std/array/createRandomStringArray (; 171 ;) (type $ii) (param $0 i32) (result i32) + (func $std/array/createRandomStringArray (; 172 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -9888,7 +9940,7 @@ end get_local $1 ) - (func $start~anonymous|55 (; 172 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $start~anonymous|55 (; 173 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 get_local $1 call $~lib/string/String.__gt @@ -9897,7 +9949,7 @@ call $~lib/string/String.__lt i32.sub ) - (func $~lib/string/String#substring (; 173 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (; 174 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9912,7 +9964,7 @@ i32.eqz if i32.const 0 - i32.const 2672 + i32.const 2856 i32.const 269 i32.const 4 call $~lib/env/abort @@ -9978,7 +10030,7 @@ get_local $3 i32.eqz if - i32.const 2520 + i32.const 2704 return end get_local $8 @@ -10007,7 +10059,7 @@ call $~lib/internal/string/copyUnsafe get_local $10 ) - (func $~lib/array/Array#join (; 174 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 175 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10028,10 +10080,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $3 get_local $0 i32.load @@ -10046,8 +10098,8 @@ get_local $2 i32.eqz if - i32.const 2800 - i32.const 2816 + i32.const 2984 + i32.const 3000 block $~lib/internal/arraybuffer/loadUnsafe|inlined.0 (result i32) i32.const 0 set_local $8 @@ -10106,8 +10158,8 @@ set_local $8 get_local $10 get_local $11 - i32.const 2800 - i32.const 2816 + i32.const 2984 + i32.const 3000 get_local $4 i32.const 0 i32.ne @@ -10160,8 +10212,8 @@ set_local $8 get_local $10 get_local $11 - i32.const 2800 - i32.const 2816 + i32.const 2984 + i32.const 3000 get_local $4 i32.const 0 i32.ne @@ -10188,7 +10240,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -10207,7 +10259,7 @@ get_local $12 return ) - (func $~lib/internal/number/decimalCount32 (; 175 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/internal/number/decimalCount32 (; 176 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) get_local $0 i32.const 100000 @@ -10276,7 +10328,7 @@ unreachable unreachable ) - (func $~lib/internal/number/utoa32_lut (; 176 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/number/utoa32_lut (; 177 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -10285,7 +10337,7 @@ (local $8 i64) (local $9 i64) block $~lib/internal/number/DIGITS|inlined.0 (result i32) - i32.const 3448 + i32.const 3632 end i32.load set_local $3 @@ -10429,14 +10481,14 @@ i32.store16 offset=4 end ) - (func $~lib/internal/number/itoa32 (; 177 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/internal/number/itoa32 (; 178 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) get_local $0 i32.eqz if - i32.const 2928 + i32.const 3112 return end get_local $0 @@ -10470,12 +10522,12 @@ end get_local $3 ) - (func $~lib/internal/number/itoa (; 178 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/internal/number/itoa (; 179 ;) (type $ii) (param $0 i32) (result i32) get_local $0 call $~lib/internal/number/itoa32 return ) - (func $~lib/internal/number/itoa_stream (; 179 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/internal/number/itoa_stream (; 180 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) get_local $0 @@ -10523,7 +10575,7 @@ end get_local $3 ) - (func $~lib/array/Array#join (; 180 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 181 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10543,10 +10595,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $3 get_local $0 i32.load @@ -10667,7 +10719,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -10686,13 +10738,13 @@ get_local $11 return ) - (func $~lib/internal/number/utoa32 (; 181 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/internal/number/utoa32 (; 182 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) get_local $0 i32.eqz if - i32.const 2928 + i32.const 3112 return end get_local $0 @@ -10707,12 +10759,12 @@ call $~lib/internal/number/utoa32_lut get_local $2 ) - (func $~lib/internal/number/itoa (; 182 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/internal/number/itoa (; 183 ;) (type $ii) (param $0 i32) (result i32) get_local $0 call $~lib/internal/number/utoa32 return ) - (func $~lib/internal/number/itoa_stream (; 183 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/internal/number/itoa_stream (; 184 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) get_local $0 get_local $1 @@ -10740,7 +10792,7 @@ call $~lib/internal/number/utoa32_lut get_local $3 ) - (func $~lib/array/Array#join (; 184 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 185 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10760,10 +10812,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $3 get_local $0 i32.load @@ -10884,7 +10936,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -10903,14 +10955,14 @@ get_local $11 return ) - (func $~lib/builtins/isFinite (; 185 ;) (type $Fi) (param $0 f64) (result i32) + (func $~lib/builtins/isFinite (; 186 ;) (type $Fi) (param $0 f64) (result i32) get_local $0 get_local $0 f64.sub f64.const 0 f64.eq ) - (func $~lib/internal/number/genDigits (; 186 ;) (type $iIiIiIii) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/internal/number/genDigits (; 187 ;) (type $iIiIiIii) (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) @@ -10962,7 +11014,7 @@ get_local $6 set_local $15 block $~lib/internal/number/POWERS10|inlined.0 (result i32) - i32.const 5232 + i32.const 5416 end i32.load set_local $16 @@ -11458,7 +11510,7 @@ end get_local $15 ) - (func $~lib/internal/number/prettify (; 187 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/internal/number/prettify (; 188 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -11802,7 +11854,7 @@ unreachable unreachable ) - (func $~lib/internal/number/dtoa_core (; 188 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/internal/number/dtoa_core (; 189 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 i64) (local $4 i32) @@ -11958,12 +12010,12 @@ i32.sub set_global $~lib/internal/number/_K block $~lib/internal/number/FRC_POWERS|inlined.0 (result i32) - i32.const 4896 + i32.const 5080 end i32.load set_local $12 block $~lib/internal/number/EXP_POWERS|inlined.0 (result i32) - i32.const 5160 + i32.const 5344 end i32.load set_local $13 @@ -12232,7 +12284,7 @@ get_local $2 i32.add ) - (func $~lib/internal/number/dtoa (; 189 ;) (type $Fi) (param $0 f64) (result i32) + (func $~lib/internal/number/dtoa (; 190 ;) (type $Fi) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12240,7 +12292,7 @@ f64.const 0 f64.eq if - i32.const 3792 + i32.const 3976 return end get_local $0 @@ -12250,11 +12302,11 @@ get_local $0 call $~lib/builtins/isNaN if - i32.const 3808 + i32.const 3992 return end - i32.const 3824 - i32.const 3848 + i32.const 4008 + i32.const 4032 get_local $0 f64.const 0 f64.lt @@ -12277,7 +12329,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -12294,7 +12346,7 @@ end get_local $3 ) - (func $~lib/internal/number/dtoa_stream (; 190 ;) (type $iiFi) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) + (func $~lib/internal/number/dtoa_stream (; 191 ;) (type $iiFi) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12350,8 +12402,8 @@ get_local $3 i32.add set_local $4 - i32.const 3824 - i32.const 3848 + i32.const 4008 + i32.const 4032 get_local $3 select set_local $5 @@ -12381,7 +12433,7 @@ get_local $2 call $~lib/internal/number/dtoa_core ) - (func $~lib/array/Array#join (; 191 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 192 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 f64) @@ -12401,10 +12453,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $3 get_local $0 i32.load @@ -12525,7 +12577,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -12544,7 +12596,7 @@ get_local $11 return ) - (func $~lib/array/Array#join (; 192 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 193 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12565,10 +12617,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $3 get_local $0 i32.load @@ -12724,7 +12776,7 @@ get_local $9 return ) - (func $std/array/Ref#constructor (; 193 ;) (type $ii) (param $0 i32) (result i32) + (func $std/array/Ref#constructor (; 194 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) get_local $0 if (result i32) @@ -12740,7 +12792,7 @@ end tee_local $0 ) - (func $~lib/array/Array#constructor (; 194 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#constructor (; 195 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12799,7 +12851,7 @@ call $~lib/internal/memory/memset get_local $0 ) - (func $~lib/array/Array#__unchecked_set (; 195 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__unchecked_set (; 196 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) get_local $0 i32.load @@ -12812,7 +12864,7 @@ get_local $2 i32.store offset=8 ) - (func $~lib/array/Array#join (; 196 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 197 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12832,10 +12884,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $3 get_local $0 i32.load @@ -12850,7 +12902,7 @@ get_local $2 i32.eqz if - i32.const 5488 + i32.const 5672 return end i32.const 15 @@ -12889,7 +12941,7 @@ if get_local $9 get_local $10 - i32.const 5488 + i32.const 5672 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -12932,7 +12984,7 @@ if get_local $9 get_local $10 - i32.const 5488 + i32.const 5672 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -12956,7 +13008,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -12975,7 +13027,7 @@ get_local $11 return ) - (func $~lib/internal/number/itoa (; 197 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/internal/number/itoa (; 198 ;) (type $ii) (param $0 i32) (result i32) get_local $0 i32.const 24 i32.shl @@ -12984,7 +13036,7 @@ call $~lib/internal/number/itoa32 return ) - (func $~lib/internal/number/itoa_stream (; 198 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/internal/number/itoa_stream (; 199 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -13051,7 +13103,7 @@ end get_local $3 ) - (func $~lib/array/Array#join (; 199 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 200 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13071,10 +13123,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $3 get_local $0 i32.load @@ -13195,7 +13247,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13214,14 +13266,14 @@ get_local $11 return ) - (func $~lib/internal/number/itoa (; 200 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/internal/number/itoa (; 201 ;) (type $ii) (param $0 i32) (result i32) get_local $0 i32.const 65535 i32.and call $~lib/internal/number/utoa32 return ) - (func $~lib/internal/number/itoa_stream (; 201 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/internal/number/itoa_stream (; 202 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) get_local $0 @@ -13258,7 +13310,7 @@ call $~lib/internal/number/utoa32_lut get_local $3 ) - (func $~lib/array/Array#join (; 202 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 203 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13278,10 +13330,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $3 get_local $0 i32.load @@ -13402,7 +13454,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13421,7 +13473,7 @@ get_local $11 return ) - (func $~lib/internal/number/decimalCount64 (; 203 ;) (type $Ii) (param $0 i64) (result i32) + (func $~lib/internal/number/decimalCount64 (; 204 ;) (type $Ii) (param $0 i64) (result i32) (local $1 i32) get_local $0 i64.const 1000000000000000 @@ -13490,7 +13542,7 @@ unreachable unreachable ) - (func $~lib/internal/number/utoa64_lut (; 204 ;) (type $iIiv) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/internal/number/utoa64_lut (; 205 ;) (type $iIiv) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i64) (local $5 i32) @@ -13503,7 +13555,7 @@ (local $12 i64) (local $13 i64) block $~lib/internal/number/DIGITS|inlined.1 (result i32) - i32.const 6328 + i32.const 6512 end i32.load set_local $3 @@ -13628,14 +13680,14 @@ get_local $2 call $~lib/internal/number/utoa32_lut ) - (func $~lib/internal/number/utoa64 (; 205 ;) (type $Ii) (param $0 i64) (result i32) + (func $~lib/internal/number/utoa64 (; 206 ;) (type $Ii) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) get_local $0 i64.eqz if - i32.const 2928 + i32.const 3112 return end get_local $0 @@ -13670,12 +13722,12 @@ end get_local $1 ) - (func $~lib/internal/number/itoa (; 206 ;) (type $Ii) (param $0 i64) (result i32) + (func $~lib/internal/number/itoa (; 207 ;) (type $Ii) (param $0 i64) (result i32) get_local $0 call $~lib/internal/number/utoa64 return ) - (func $~lib/internal/number/itoa_stream (; 207 ;) (type $iiIi) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/internal/number/itoa_stream (; 208 ;) (type $iiIi) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) get_local $0 @@ -13721,7 +13773,7 @@ end get_local $3 ) - (func $~lib/array/Array#join (; 208 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 209 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i64) @@ -13741,10 +13793,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $3 get_local $0 i32.load @@ -13865,7 +13917,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13884,7 +13936,7 @@ get_local $11 return ) - (func $~lib/internal/number/itoa64 (; 209 ;) (type $Ii) (param $0 i64) (result i32) + (func $~lib/internal/number/itoa64 (; 210 ;) (type $Ii) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -13892,7 +13944,7 @@ get_local $0 i64.eqz if - i32.const 2928 + i32.const 3112 return end get_local $0 @@ -13948,12 +14000,12 @@ end get_local $2 ) - (func $~lib/internal/number/itoa (; 210 ;) (type $Ii) (param $0 i64) (result i32) + (func $~lib/internal/number/itoa (; 211 ;) (type $Ii) (param $0 i64) (result i32) get_local $0 call $~lib/internal/number/itoa64 return ) - (func $~lib/internal/number/itoa_stream (; 211 ;) (type $iiIi) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/internal/number/itoa_stream (; 212 ;) (type $iiIi) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -14021,7 +14073,7 @@ end get_local $3 ) - (func $~lib/array/Array#join (; 212 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 213 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i64) @@ -14041,10 +14093,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $3 get_local $0 i32.load @@ -14165,7 +14217,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14184,7 +14236,7 @@ get_local $11 return ) - (func $~lib/array/Array>#join (; 213 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#join (; 214 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14201,10 +14253,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $3 get_local $0 i32.load @@ -14236,7 +14288,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 2520 + i32.const 2704 end return end @@ -14306,14 +14358,14 @@ get_local $3 return ) - (func $~lib/internal/number/itoa (; 214 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/internal/number/itoa (; 215 ;) (type $ii) (param $0 i32) (result i32) get_local $0 i32.const 255 i32.and call $~lib/internal/number/utoa32 return ) - (func $~lib/internal/number/itoa_stream (; 215 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/internal/number/itoa_stream (; 216 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) get_local $0 @@ -14350,7 +14402,7 @@ call $~lib/internal/number/utoa32_lut get_local $3 ) - (func $~lib/array/Array#join (; 216 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 217 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14370,10 +14422,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $3 get_local $0 i32.load @@ -14494,7 +14546,7 @@ i32.eqz if i32.const 0 - i32.const 2704 + i32.const 2888 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14513,7 +14565,7 @@ get_local $11 return ) - (func $~lib/array/Array>#join (; 217 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#join (; 218 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14530,10 +14582,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $3 get_local $0 i32.load @@ -14565,7 +14617,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 2520 + i32.const 2704 end return end @@ -14635,7 +14687,7 @@ get_local $3 return ) - (func $~lib/array/Array>#join (; 218 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#join (; 219 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14652,10 +14704,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $3 get_local $0 i32.load @@ -14687,7 +14739,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 2520 + i32.const 2704 end return end @@ -14757,7 +14809,7 @@ get_local $3 return ) - (func $~lib/array/Array>>#join (; 219 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>>#join (; 220 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14774,10 +14826,10 @@ i32.const 0 i32.lt_s if - i32.const 2520 + i32.const 2704 return end - i32.const 2520 + i32.const 2704 set_local $3 get_local $0 i32.load @@ -14809,7 +14861,7 @@ get_local $1 call $~lib/array/Array>#join else - i32.const 2520 + i32.const 2704 end return end @@ -14879,7 +14931,7 @@ get_local $3 return ) - (func $start (; 220 ;) (type $v) + (func $start (; 221 ;) (type $v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -17004,6 +17056,7 @@ i32.const 1 i32.const 1 call $~lib/array/Array#splice + drop block $~lib/array/Array#get:length|inlined.23 (result i32) get_global $std/array/arr set_local $0 @@ -17062,6 +17115,57 @@ call $~lib/env/abort unreachable end + block (result i32) + i32.const 1 + set_global $~argc + get_global $std/array/sarr + i32.const 0 + i32.const 0 + call $~lib/array/Array#splice|trampoline + end + i32.const 1584 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 336 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 1624 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const 2 + i32.const 2 + call $~lib/array/Array#splice + i32.const 1648 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 340 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 1688 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 341 + i32.const 0 + call $~lib/env/abort + unreachable + end get_global $std/array/arr i32.const 0 i32.const 0 @@ -17089,7 +17193,7 @@ if i32.const 0 i32.const 104 - i32.const 341 + i32.const 352 i32.const 0 call $~lib/env/abort unreachable @@ -17105,7 +17209,7 @@ if i32.const 0 i32.const 104 - i32.const 344 + i32.const 355 i32.const 0 call $~lib/env/abort unreachable @@ -17121,7 +17225,7 @@ if i32.const 0 i32.const 104 - i32.const 347 + i32.const 358 i32.const 0 call $~lib/env/abort unreachable @@ -17137,7 +17241,7 @@ if i32.const 0 i32.const 104 - i32.const 355 + i32.const 366 i32.const 0 call $~lib/env/abort unreachable @@ -17154,7 +17258,7 @@ if i32.const 0 i32.const 104 - i32.const 356 + i32.const 367 i32.const 0 call $~lib/env/abort unreachable @@ -17170,7 +17274,7 @@ if i32.const 0 i32.const 104 - i32.const 358 + i32.const 369 i32.const 0 call $~lib/env/abort unreachable @@ -17198,7 +17302,7 @@ if i32.const 0 i32.const 104 - i32.const 371 + i32.const 382 i32.const 0 call $~lib/env/abort unreachable @@ -17215,7 +17319,7 @@ if i32.const 0 i32.const 104 - i32.const 372 + i32.const 383 i32.const 0 call $~lib/env/abort unreachable @@ -17239,7 +17343,7 @@ if i32.const 0 i32.const 104 - i32.const 380 + i32.const 391 i32.const 0 call $~lib/env/abort unreachable @@ -17255,7 +17359,7 @@ if i32.const 0 i32.const 104 - i32.const 383 + i32.const 394 i32.const 0 call $~lib/env/abort unreachable @@ -17271,7 +17375,7 @@ if i32.const 0 i32.const 104 - i32.const 391 + i32.const 402 i32.const 0 call $~lib/env/abort unreachable @@ -17288,7 +17392,7 @@ if i32.const 0 i32.const 104 - i32.const 392 + i32.const 403 i32.const 0 call $~lib/env/abort unreachable @@ -17304,7 +17408,7 @@ if i32.const 0 i32.const 104 - i32.const 394 + i32.const 405 i32.const 0 call $~lib/env/abort unreachable @@ -17332,7 +17436,7 @@ if i32.const 0 i32.const 104 - i32.const 407 + i32.const 418 i32.const 0 call $~lib/env/abort unreachable @@ -17349,7 +17453,7 @@ if i32.const 0 i32.const 104 - i32.const 408 + i32.const 419 i32.const 0 call $~lib/env/abort unreachable @@ -17373,7 +17477,7 @@ if i32.const 0 i32.const 104 - i32.const 416 + i32.const 427 i32.const 0 call $~lib/env/abort unreachable @@ -17389,7 +17493,7 @@ if i32.const 0 i32.const 104 - i32.const 419 + i32.const 430 i32.const 0 call $~lib/env/abort unreachable @@ -17405,7 +17509,7 @@ if i32.const 0 i32.const 104 - i32.const 427 + i32.const 438 i32.const 0 call $~lib/env/abort unreachable @@ -17422,7 +17526,7 @@ if i32.const 0 i32.const 104 - i32.const 428 + i32.const 439 i32.const 0 call $~lib/env/abort unreachable @@ -17438,7 +17542,7 @@ if i32.const 0 i32.const 104 - i32.const 430 + i32.const 441 i32.const 0 call $~lib/env/abort unreachable @@ -17466,7 +17570,7 @@ if i32.const 0 i32.const 104 - i32.const 443 + i32.const 454 i32.const 0 call $~lib/env/abort unreachable @@ -17483,7 +17587,7 @@ if i32.const 0 i32.const 104 - i32.const 444 + i32.const 455 i32.const 0 call $~lib/env/abort unreachable @@ -17508,7 +17612,7 @@ if i32.const 0 i32.const 104 - i32.const 453 + i32.const 464 i32.const 0 call $~lib/env/abort unreachable @@ -17525,7 +17629,7 @@ if i32.const 0 i32.const 104 - i32.const 462 + i32.const 473 i32.const 0 call $~lib/env/abort unreachable @@ -17542,7 +17646,7 @@ if i32.const 0 i32.const 104 - i32.const 463 + i32.const 474 i32.const 0 call $~lib/env/abort unreachable @@ -17559,7 +17663,7 @@ if i32.const 0 i32.const 104 - i32.const 466 + i32.const 477 i32.const 0 call $~lib/env/abort unreachable @@ -17588,7 +17692,7 @@ if i32.const 0 i32.const 104 - i32.const 480 + i32.const 491 i32.const 0 call $~lib/env/abort unreachable @@ -17605,7 +17709,7 @@ if i32.const 0 i32.const 104 - i32.const 481 + i32.const 492 i32.const 0 call $~lib/env/abort unreachable @@ -17634,7 +17738,7 @@ if i32.const 0 i32.const 104 - i32.const 490 + i32.const 501 i32.const 0 call $~lib/env/abort unreachable @@ -17651,7 +17755,7 @@ if i32.const 0 i32.const 104 - i32.const 491 + i32.const 502 i32.const 0 call $~lib/env/abort unreachable @@ -17669,7 +17773,7 @@ if i32.const 0 i32.const 104 - i32.const 500 + i32.const 511 i32.const 0 call $~lib/env/abort unreachable @@ -17686,7 +17790,7 @@ if i32.const 0 i32.const 104 - i32.const 501 + i32.const 512 i32.const 0 call $~lib/env/abort unreachable @@ -17704,7 +17808,7 @@ if i32.const 0 i32.const 104 - i32.const 508 + i32.const 519 i32.const 0 call $~lib/env/abort unreachable @@ -17734,7 +17838,7 @@ if i32.const 0 i32.const 104 - i32.const 523 + i32.const 534 i32.const 0 call $~lib/env/abort unreachable @@ -17751,7 +17855,7 @@ if i32.const 0 i32.const 104 - i32.const 524 + i32.const 535 i32.const 0 call $~lib/env/abort unreachable @@ -17780,7 +17884,7 @@ if i32.const 0 i32.const 104 - i32.const 532 + i32.const 543 i32.const 0 call $~lib/env/abort unreachable @@ -17798,7 +17902,7 @@ if i32.const 0 i32.const 104 - i32.const 541 + i32.const 552 i32.const 0 call $~lib/env/abort unreachable @@ -17815,7 +17919,7 @@ if i32.const 0 i32.const 104 - i32.const 542 + i32.const 553 i32.const 0 call $~lib/env/abort unreachable @@ -17833,7 +17937,7 @@ if i32.const 0 i32.const 104 - i32.const 549 + i32.const 560 i32.const 0 call $~lib/env/abort unreachable @@ -17863,7 +17967,7 @@ if i32.const 0 i32.const 104 - i32.const 564 + i32.const 575 i32.const 0 call $~lib/env/abort unreachable @@ -17880,7 +17984,7 @@ if i32.const 0 i32.const 104 - i32.const 565 + i32.const 576 i32.const 0 call $~lib/env/abort unreachable @@ -17905,7 +18009,7 @@ if i32.const 0 i32.const 104 - i32.const 573 + i32.const 584 i32.const 0 call $~lib/env/abort unreachable @@ -17922,7 +18026,7 @@ if i32.const 0 i32.const 104 - i32.const 577 + i32.const 588 i32.const 0 call $~lib/env/abort unreachable @@ -17941,7 +18045,7 @@ if i32.const 0 i32.const 104 - i32.const 580 + i32.const 591 i32.const 0 call $~lib/env/abort unreachable @@ -17960,7 +18064,7 @@ if i32.const 0 i32.const 104 - i32.const 583 + i32.const 594 i32.const 0 call $~lib/env/abort unreachable @@ -17977,7 +18081,7 @@ if i32.const 0 i32.const 104 - i32.const 591 + i32.const 602 i32.const 0 call $~lib/env/abort unreachable @@ -17994,7 +18098,7 @@ if i32.const 0 i32.const 104 - i32.const 592 + i32.const 603 i32.const 0 call $~lib/env/abort unreachable @@ -18011,7 +18115,7 @@ if i32.const 0 i32.const 104 - i32.const 594 + i32.const 605 i32.const 0 call $~lib/env/abort unreachable @@ -18040,7 +18144,7 @@ if i32.const 0 i32.const 104 - i32.const 607 + i32.const 618 i32.const 0 call $~lib/env/abort unreachable @@ -18057,7 +18161,7 @@ if i32.const 0 i32.const 104 - i32.const 608 + i32.const 619 i32.const 0 call $~lib/env/abort unreachable @@ -18082,7 +18186,7 @@ if i32.const 0 i32.const 104 - i32.const 616 + i32.const 627 i32.const 0 call $~lib/env/abort unreachable @@ -18099,7 +18203,7 @@ if i32.const 0 i32.const 104 - i32.const 620 + i32.const 631 i32.const 0 call $~lib/env/abort unreachable @@ -18118,7 +18222,7 @@ if i32.const 0 i32.const 104 - i32.const 623 + i32.const 634 i32.const 0 call $~lib/env/abort unreachable @@ -18137,7 +18241,7 @@ if i32.const 0 i32.const 104 - i32.const 626 + i32.const 637 i32.const 0 call $~lib/env/abort unreachable @@ -18154,7 +18258,7 @@ if i32.const 0 i32.const 104 - i32.const 634 + i32.const 645 i32.const 0 call $~lib/env/abort unreachable @@ -18171,7 +18275,7 @@ if i32.const 0 i32.const 104 - i32.const 635 + i32.const 646 i32.const 0 call $~lib/env/abort unreachable @@ -18188,7 +18292,7 @@ if i32.const 0 i32.const 104 - i32.const 637 + i32.const 648 i32.const 0 call $~lib/env/abort unreachable @@ -18217,7 +18321,7 @@ if i32.const 0 i32.const 104 - i32.const 650 + i32.const 661 i32.const 0 call $~lib/env/abort unreachable @@ -18234,7 +18338,7 @@ if i32.const 0 i32.const 104 - i32.const 651 + i32.const 662 i32.const 0 call $~lib/env/abort unreachable @@ -18267,14 +18371,14 @@ end drop get_global $std/array/f32ArrayTyped - i32.const 1856 + i32.const 2040 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 738 + i32.const 749 i32.const 0 call $~lib/env/abort unreachable @@ -18288,14 +18392,14 @@ end drop get_global $std/array/f64ArrayTyped - i32.const 2128 + i32.const 2312 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 742 + i32.const 753 i32.const 0 call $~lib/env/abort unreachable @@ -18309,14 +18413,14 @@ end drop get_global $std/array/i32ArrayTyped - i32.const 2208 + i32.const 2392 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 746 + i32.const 757 i32.const 0 call $~lib/env/abort unreachable @@ -18330,14 +18434,14 @@ end drop get_global $std/array/u32ArrayTyped - i32.const 2288 + i32.const 2472 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 750 + i32.const 761 i32.const 0 call $~lib/env/abort unreachable @@ -18362,14 +18466,14 @@ get_global $std/array/reversed1 call $std/array/assertSortedDefault get_global $std/array/reversed1 - i32.const 2456 + i32.const 2640 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 770 + i32.const 781 i32.const 0 call $~lib/env/abort unreachable @@ -18377,14 +18481,14 @@ get_global $std/array/reversed2 call $std/array/assertSortedDefault get_global $std/array/reversed2 - i32.const 2480 + i32.const 2664 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 773 + i32.const 784 i32.const 0 call $~lib/env/abort unreachable @@ -18399,7 +18503,7 @@ if i32.const 0 i32.const 104 - i32.const 776 + i32.const 787 i32.const 0 call $~lib/env/abort unreachable @@ -18414,7 +18518,7 @@ if i32.const 0 i32.const 104 - i32.const 779 + i32.const 790 i32.const 0 call $~lib/env/abort unreachable @@ -18429,7 +18533,7 @@ if i32.const 0 i32.const 104 - i32.const 782 + i32.const 793 i32.const 0 call $~lib/env/abort unreachable @@ -18444,7 +18548,7 @@ if i32.const 0 i32.const 104 - i32.const 785 + i32.const 796 i32.const 0 call $~lib/env/abort unreachable @@ -18459,7 +18563,7 @@ if i32.const 0 i32.const 104 - i32.const 788 + i32.const 799 i32.const 0 call $~lib/env/abort unreachable @@ -18507,7 +18611,7 @@ if i32.const 0 i32.const 104 - i32.const 817 + i32.const 828 i32.const 0 call $~lib/env/abort unreachable @@ -18518,86 +18622,86 @@ get_global $std/array/randomStrings400 i32.const 55 call $std/array/assertSorted - i32.const 2856 - i32.const 2832 + i32.const 3040 + i32.const 3016 call $~lib/array/Array#join - i32.const 2864 + i32.const 3048 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 826 + i32.const 837 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3488 - i32.const 2520 + i32.const 3672 + i32.const 2704 call $~lib/array/Array#join - i32.const 3496 + i32.const 3680 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 827 + i32.const 838 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3592 - i32.const 3552 + i32.const 3776 + i32.const 3736 call $~lib/array/Array#join - i32.const 3496 + i32.const 3680 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 828 + i32.const 839 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3648 - i32.const 3624 + i32.const 3832 + i32.const 3808 call $~lib/array/Array#join - i32.const 3656 + i32.const 3840 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 829 + i32.const 840 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5304 - i32.const 3784 + i32.const 5488 + i32.const 3968 call $~lib/array/Array#join - i32.const 5312 + i32.const 5496 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 830 + i32.const 841 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5480 - i32.const 2520 + i32.const 5664 + i32.const 2704 call $~lib/array/Array#join - i32.const 5400 + i32.const 5584 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 831 + i32.const 842 i32.const 0 call $~lib/env/abort unreachable @@ -18625,15 +18729,15 @@ end set_global $std/array/refArr get_global $std/array/refArr - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join - i32.const 5528 + i32.const 5712 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 833 + i32.const 844 i32.const 0 call $~lib/env/abort unreachable @@ -18642,16 +18746,16 @@ get_global $std/array/reversed0 set_local $3 get_local $3 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join end - i32.const 2520 + i32.const 2704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 837 + i32.const 848 i32.const 0 call $~lib/env/abort unreachable @@ -18660,16 +18764,16 @@ get_global $std/array/reversed1 set_local $3 get_local $3 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join end - i32.const 5400 + i32.const 5584 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 838 + i32.const 849 i32.const 0 call $~lib/env/abort unreachable @@ -18678,16 +18782,16 @@ get_global $std/array/reversed2 set_local $3 get_local $3 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join end - i32.const 5600 + i32.const 5784 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 839 + i32.const 850 i32.const 0 call $~lib/env/abort unreachable @@ -18696,88 +18800,88 @@ get_global $std/array/reversed4 set_local $3 get_local $3 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join end - i32.const 5616 + i32.const 5800 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 840 + i32.const 851 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 5680 + i32.const 5864 set_local $3 get_local $3 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join end - i32.const 5688 + i32.const 5872 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 842 + i32.const 853 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 5744 + i32.const 5928 set_local $3 get_local $3 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join end - i32.const 5752 + i32.const 5936 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 843 + i32.const 854 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6368 + i32.const 6552 set_local $3 get_local $3 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join end - i32.const 6376 + i32.const 6560 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 844 + i32.const 855 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6568 + i32.const 6752 set_local $3 get_local $3 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join end - i32.const 6576 + i32.const 6760 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 845 + i32.const 856 i32.const 0 call $~lib/env/abort unreachable @@ -18786,34 +18890,34 @@ get_global $std/array/randomStringsExpected set_local $3 get_local $3 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join end - i32.const 6664 + i32.const 6848 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 846 + i32.const 857 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.3 (result i32) - i32.const 6784 + i32.const 6968 set_local $3 get_local $3 - i32.const 2832 + i32.const 3016 call $~lib/array/Array#join end - i32.const 6792 + i32.const 6976 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 847 + i32.const 858 i32.const 0 call $~lib/env/abort unreachable @@ -18822,16 +18926,16 @@ get_global $std/array/subarr32 set_local $3 get_local $3 - i32.const 2832 + i32.const 3016 call $~lib/array/Array>#join end - i32.const 6880 + i32.const 7064 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 850 + i32.const 861 i32.const 0 call $~lib/env/abort unreachable @@ -18840,16 +18944,16 @@ get_global $std/array/subarr8 set_local $3 get_local $3 - i32.const 2832 + i32.const 3016 call $~lib/array/Array>#join end - i32.const 6880 + i32.const 7064 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 853 + i32.const 864 i32.const 0 call $~lib/env/abort unreachable @@ -18858,21 +18962,21 @@ get_global $std/array/subarrU32 set_local $3 get_local $3 - i32.const 2832 + i32.const 3016 call $~lib/array/Array>>#join end - i32.const 5400 + i32.const 5584 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 856 + i32.const 867 i32.const 0 call $~lib/env/abort unreachable end ) - (func $null (; 221 ;) (type $v) + (func $null (; 222 ;) (type $v) ) ) From 44844c947d930aa010a96340707d6d0b0c6e5e2b Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Tue, 27 Nov 2018 14:45:51 +0200 Subject: [PATCH 2/9] fixes (wip) --- std/assembly/array.ts | 17 +- std/assembly/index.d.ts | 4 +- std/portable/index.d.ts | 4 +- .../compiler/std/array-literal.untouched.wat | 84 +- tests/compiler/std/array.optimized.wat | 961 +++++++-------- tests/compiler/std/array.ts | 7 +- tests/compiler/std/array.untouched.wat | 1027 +++++++++-------- tests/compiler/std/gc-array.optimized.wat | 2 +- tests/compiler/std/gc-array.untouched.wat | 2 +- tests/compiler/std/static-array.untouched.wat | 8 +- tests/compiler/std/string.optimized.wat | 19 +- tests/compiler/std/string.untouched.wat | 23 +- 12 files changed, 1155 insertions(+), 1003 deletions(-) diff --git a/std/assembly/array.ts b/std/assembly/array.ts index b8b969ff14..a3e4883bc5 100644 --- a/std/assembly/array.ts +++ b/std/assembly/array.ts @@ -47,11 +47,13 @@ export class Array { var buffer = allocateUnsafe(byteLength); this.buffer_ = buffer; this.length_ = length; - memory.fill( - changetype(buffer) + HEADER_SIZE, - 0, - byteLength - ); + if (byteLength) { + memory.fill( + changetype(buffer) + HEADER_SIZE, + 0, + byteLength + ); + } } @inline @@ -378,16 +380,15 @@ export class Array { var buffer = this.buffer_; var spliced = new Array(deleteCount); var source = changetype(buffer) + HEADER_SIZE + (start << alignof()); - var size = deleteCount << alignof(); memory.copy( changetype(spliced.buffer_) + HEADER_SIZE, source, - size + deleteCount << alignof() ); memory.copy( source, changetype(buffer) + HEADER_SIZE + ((start + deleteCount) << alignof()), - size + (length - deleteCount) << alignof() ); this.length_ = length - deleteCount; return spliced; diff --git a/std/assembly/index.d.ts b/std/assembly/index.d.ts index 84bd53a519..3e1ca5a02b 100644 --- a/std/assembly/index.d.ts +++ b/std/assembly/index.d.ts @@ -570,8 +570,8 @@ declare class Array { shift(): T; some(callbackfn: (element: T, index: i32, array?: Array) => bool): bool; unshift(element: T): i32; - slice(from: i32, to?: i32): T[]; - splice(start: i32, deleteCount?: i32): void; + slice(from: i32, to?: i32): Array; + splice(start: i32, deleteCount?: i32): Array; sort(comparator?: (a: T, b: T) => i32): this; join(separator?: string): string; reverse(): T[]; diff --git a/std/portable/index.d.ts b/std/portable/index.d.ts index cf52657204..1123350bc7 100644 --- a/std/portable/index.d.ts +++ b/std/portable/index.d.ts @@ -373,8 +373,8 @@ declare class Array { shift(): T; some(callbackfn: (element: T, index: i32, array?: Array) => bool): bool; unshift(element: T): i32; - slice(from?: i32, to?: i32): T[]; - splice(start: i32, deleteCount?: i32): void; + slice(from?: i32, to?: i32): Array; + splice(start: i32, deleteCount?: i32): Array; sort(comparator?: (a: T, b: T) => i32): this; join(separator?: string): string; reverse(): T[]; diff --git a/tests/compiler/std/array-literal.untouched.wat b/tests/compiler/std/array-literal.untouched.wat index 38071b41dd..d6b9dfe777 100644 --- a/tests/compiler/std/array-literal.untouched.wat +++ b/tests/compiler/std/array-literal.untouched.wat @@ -507,16 +507,19 @@ get_local $0 get_local $1 i32.store offset=4 - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 get_local $2 - call $~lib/internal/memory/memset + if + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 + get_local $2 + call $~lib/internal/memory/memset + end get_local $0 ) (func $~lib/array/Array#__unchecked_set (; 9 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) @@ -579,16 +582,19 @@ get_local $0 get_local $1 i32.store offset=4 - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 get_local $2 - call $~lib/internal/memory/memset + if + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 + get_local $2 + call $~lib/internal/memory/memset + end get_local $0 ) (func $~lib/array/Array#__unchecked_set (; 11 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) @@ -651,16 +657,19 @@ get_local $0 get_local $1 i32.store offset=4 - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 get_local $2 - call $~lib/internal/memory/memset + if + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 + get_local $2 + call $~lib/internal/memory/memset + end get_local $0 ) (func $~lib/array/Array#__unchecked_set (; 13 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) @@ -739,16 +748,19 @@ get_local $0 get_local $1 i32.store offset=4 - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 get_local $2 - call $~lib/internal/memory/memset + if + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 + get_local $2 + call $~lib/internal/memory/memset + end get_local $0 ) (func $~lib/array/Array#__unchecked_set (; 16 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index 5d99b6bade..f6137f77ff 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -110,169 +110,176 @@ (data (i32.const 1544) "\e8\05\00\00\05") (data (i32.const 1552) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") (data (i32.const 1584) "\10\06\00\00\05") - (data (i32.const 1592) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1624) "8\06\00\00\05") - (data (i32.const 1632) "\08\00\00\00\00\00\00\00\03\00\00\00\04") - (data (i32.const 1648) "`\06\00\00\02") - (data (i32.const 1656) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\05") - (data (i32.const 1688) "x\06\00\00\03") - (data (i32.const 1696) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 1728) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?") - (data (i32.const 1904) " ") - (data (i32.const 1914) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") - (data (i32.const 1968) "p\07\00\00\08") - (data (i32.const 1976) " ") - (data (i32.const 1986) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") - (data (i32.const 2040) "\b8\07\00\00\08") - (data (i32.const 2048) "@") - (data (i32.const 2062) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") - (data (i32.const 2102) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") - (data (i32.const 2177) "\08\00\00\08") - (data (i32.const 2184) "@") - (data (i32.const 2198) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") - (data (i32.const 2230) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") - (data (i32.const 2312) "\88\08\00\00\08") - (data (i32.const 2320) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") - (data (i32.const 2352) "\10\t\00\00\05") - (data (i32.const 2360) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") - (data (i32.const 2392) "8\t\00\00\05") - (data (i32.const 2400) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") - (data (i32.const 2432) "`\t\00\00\05") - (data (i32.const 2440) "\14") - (data (i32.const 2452) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 1600) "8\06") + (data (i32.const 1608) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1640) "H\06\00\00\05") + (data (i32.const 1648) "\08\00\00\00\00\00\00\00\03\00\00\00\04") + (data (i32.const 1664) "p\06\00\00\02") + (data (i32.const 1672) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\05") + (data (i32.const 1704) "\88\06\00\00\03") + (data (i32.const 1712) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1744) "\b0\06\00\00\05") + (data (i32.const 1752) "\04\00\00\00\00\00\00\00\01") + (data (i32.const 1768) "\d8\06\00\00\01") + (data (i32.const 1776) "\10\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1808) "\f0\06\00\00\04") + (data (i32.const 1816) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") + (data (i32.const 1848) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?") + (data (i32.const 2024) " ") + (data (i32.const 2034) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") + (data (i32.const 2088) "\e8\07\00\00\08") + (data (i32.const 2096) " ") + (data (i32.const 2106) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") + (data (i32.const 2160) "0\08\00\00\08") + (data (i32.const 2168) "@") + (data (i32.const 2182) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") + (data (i32.const 2222) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") + (data (i32.const 2296) "x\08\00\00\08") + (data (i32.const 2304) "@") + (data (i32.const 2318) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") + (data (i32.const 2350) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") + (data (i32.const 2433) "\t\00\00\08") + (data (i32.const 2440) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") (data (i32.const 2472) "\88\t\00\00\05") - (data (i32.const 2488) "\b0\t") - (data (i32.const 2496) "\04\00\00\00\00\00\00\00\01") - (data (i32.const 2512) "\c0\t\00\00\01") - (data (i32.const 2520) "\08\00\00\00\00\00\00\00\02\00\00\00\01") - (data (i32.const 2536) "\d8\t\00\00\02") - (data (i32.const 2544) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") - (data (i32.const 2576) "\f0\t\00\00\04") - (data (i32.const 2584) "\10") - (data (i32.const 2596) "\01\00\00\00\02\00\00\00\03") - (data (i32.const 2616) "\18\n\00\00\04") - (data (i32.const 2624) "\04\00\00\00\00\00\00\00\01") - (data (i32.const 2640) "@\n\00\00\01") - (data (i32.const 2648) "\08\00\00\00\00\00\00\00\01\00\00\00\02") - (data (i32.const 2664) "X\n\00\00\02") - (data (i32.const 2672) "\01\00\00\00a") - (data (i32.const 2680) "\01\00\00\00b") - (data (i32.const 2688) "\02\00\00\00a\00b") - (data (i32.const 2696) "\02\00\00\00b\00a") - (data (i32.const 2712) "\1c\00\00\00\00\00\00\00p\n\00\00x\n\00\00p\n\00\00\80\n\00\00\88\n\00\00\90\n") - (data (i32.const 2776) "\98\n\00\00\07") - (data (i32.const 2784) "\1c\00\00\00\00\00\00\00\90\n\00\00p\n\00\00p\n\00\00\80\n\00\00x\n\00\00\88\n") - (data (i32.const 2848) "\e0\n\00\00\07") - (data (i32.const 2856) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 2888) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 2944) "\04\00\00\00n\00u\00l\00l") - (data (i32.const 2960) "\02\00\00\00\00\00\00\00\01") - (data (i32.const 2976) "\90\0b\00\00\02") - (data (i32.const 2984) "\04\00\00\00t\00r\00u\00e") - (data (i32.const 3000) "\05\00\00\00f\00a\00l\00s\00e") - (data (i32.const 3016) "\01\00\00\00,") - (data (i32.const 3024) "\02\00\00\00\00\00\00\00\01") - (data (i32.const 3040) "\d0\0b\00\00\02") - (data (i32.const 3048) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") - (data (i32.const 3072) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 3105) "\0c\00\00\03") - (data (i32.const 3112) "\01\00\00\000") - (data (i32.const 3120) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 3632) "0\0c\00\00d") - (data (i32.const 3640) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 3672) "8\0e\00\00\03") - (data (i32.const 3680) "\05\00\00\001\00-\002\00-\003") - (data (i32.const 3696) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 3728) "p\0e\00\00\03") - (data (i32.const 3736) "\01\00\00\00-") - (data (i32.const 3744) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 3776) "\a0\0e\00\00\03") - (data (i32.const 3784) "\08") - (data (i32.const 3795) "\80\00\00\00\80") - (data (i32.const 3800) "\c8\0e\00\00\02") - (data (i32.const 3808) "\02\00\00\00_\00_") - (data (i32.const 3816) "\08") - (data (i32.const 3827) "\80\00\00\00\80") - (data (i32.const 3832) "\e8\0e\00\00\02") - (data (i32.const 3840) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 3896) "0") - (data (i32.const 3918) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") - (data (i32.const 3960) "8\0f\00\00\06") - (data (i32.const 3968) "\02\00\00\00,\00 ") - (data (i32.const 3976) "\03\00\00\000\00.\000") - (data (i32.const 3992) "\03\00\00\00N\00a\00N") - (data (i32.const 4008) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4032) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4056) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#sort|trampoline~anonymous|43 $~lib/array/Array#sort|trampoline~anonymous|44 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|46 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|45 $start~anonymous|49 $~lib/array/Array#sort|trampoline~anonymous|45 $start~anonymous|49 $start~anonymous|52 $start~anonymous|53 $start~anonymous|54 $start~anonymous|54) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -305,15 +312,15 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 1968)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 2176)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 2352)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 2432)) - (global $std/array/reversed0 (mut i32) (i32.const 2488)) - (global $std/array/reversed1 (mut i32) (i32.const 2512)) - (global $std/array/reversed2 (mut i32) (i32.const 2536)) - (global $std/array/reversed4 (mut i32) (i32.const 2576)) - (global $std/array/expected4 (mut i32) (i32.const 2616)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 2088)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 2296)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 2472)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 2552)) + (global $std/array/reversed0 (mut i32) (i32.const 2608)) + (global $std/array/reversed1 (mut i32) (i32.const 2632)) + (global $std/array/reversed2 (mut i32) (i32.const 2656)) + (global $std/array/reversed4 (mut i32) (i32.const 2696)) + (global $std/array/expected4 (mut i32) (i32.const 2736)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -323,13 +330,13 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 2776)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 2848)) + (global $std/array/randomStringsActual (mut i32) (i32.const 2896)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 2968)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $std/array/refArr (mut i32) (i32.const 0)) - (global $std/array/subarr32 (mut i32) (i32.const 7056)) - (global $std/array/subarr8 (mut i32) (i32.const 7152)) - (global $std/array/subarrU32 (mut i32) (i32.const 7224)) + (global $std/array/subarr32 (mut i32) (i32.const 7176)) + (global $std/array/subarr8 (mut i32) (i32.const 7272)) + (global $std/array/subarrU32 (mut i32) (i32.const 7344)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -675,9 +682,9 @@ get_local $0 i32.const 2 i32.shl - tee_local $3 + tee_local $2 call $~lib/internal/arraybuffer/allocateUnsafe - set_local $2 + set_local $3 i32.const 8 call $~lib/allocator/arena/__memory_allocate tee_local $1 @@ -687,17 +694,20 @@ i32.const 0 i32.store offset=4 get_local $1 - get_local $2 + get_local $3 i32.store get_local $1 get_local $0 i32.store offset=4 get_local $2 - i32.const 8 - i32.add - i32.const 0 - get_local $3 - call $~lib/internal/memory/memset + if + get_local $3 + i32.const 8 + i32.add + i32.const 0 + get_local $2 + call $~lib/internal/memory/memset + end get_local $1 ) (func $~lib/array/Array#fill (; 6 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) @@ -2290,7 +2300,7 @@ if i32.const 0 i32.const 8 - i32.const 184 + i32.const 186 i32.const 42 call $~lib/env/abort unreachable @@ -2327,7 +2337,7 @@ if i32.const 0 i32.const 8 - i32.const 246 + i32.const 248 i32.const 20 call $~lib/env/abort unreachable @@ -2625,7 +2635,7 @@ if i32.const 0 i32.const 8 - i32.const 336 + i32.const 338 i32.const 42 call $~lib/env/abort unreachable @@ -2677,7 +2687,7 @@ if i32.const 0 i32.const 8 - i32.const 307 + i32.const 309 i32.const 20 call $~lib/env/abort unreachable @@ -2840,7 +2850,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) get_local $2 i32.const 1 i32.lt_s @@ -2905,7 +2914,6 @@ get_local $2 i32.const 2 i32.shl - tee_local $7 call $~lib/internal/memory/memmove get_local $6 get_local $5 @@ -2917,12 +2925,15 @@ i32.const 2 i32.shl i32.add - get_local $7 - call $~lib/internal/memory/memmove - get_local $0 get_local $4 get_local $2 i32.sub + tee_local $1 + i32.const 2 + i32.shl + call $~lib/internal/memory/memmove + get_local $0 + get_local $1 i32.store offset=4 get_local $3 ) @@ -2944,7 +2955,7 @@ if i32.const 0 i32.const 8 - i32.const 109 + i32.const 111 i32.const 41 call $~lib/env/abort unreachable @@ -3735,7 +3746,7 @@ i64.eqz if i32.const 0 - i32.const 1696 + i32.const 1816 i32.const 959 i32.const 4 call $~lib/env/abort @@ -4150,7 +4161,7 @@ if i32.const 0 i32.const 8 - i32.const 408 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -4255,7 +4266,7 @@ get_local $0 i32.load offset=4 tee_local $5 - i32.const 2044 + i32.const 2164 i32.load i32.ne if @@ -4263,7 +4274,7 @@ return end get_local $0 - i32.const 2040 + i32.const 2160 i32.eq if i32.const 1 @@ -4300,7 +4311,7 @@ f32.ne set_local $4 get_local $1 - i32.const 2040 + i32.const 2160 i32.load tee_local $2 i32.load @@ -4345,7 +4356,7 @@ end set_local $3 get_local $1 - i32.const 2040 + i32.const 2160 i32.load tee_local $2 i32.load @@ -4736,7 +4747,7 @@ if i32.const 0 i32.const 8 - i32.const 408 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -4841,7 +4852,7 @@ get_local $0 i32.load offset=4 tee_local $5 - i32.const 2316 + i32.const 2436 i32.load i32.ne if @@ -4849,7 +4860,7 @@ return end get_local $0 - i32.const 2312 + i32.const 2432 i32.eq if i32.const 1 @@ -4886,7 +4897,7 @@ f64.ne set_local $4 get_local $1 - i32.const 2312 + i32.const 2432 i32.load tee_local $2 i32.load @@ -4931,7 +4942,7 @@ end set_local $3 get_local $1 - i32.const 2312 + i32.const 2432 i32.load tee_local $2 i32.load @@ -5323,7 +5334,7 @@ if i32.const 0 i32.const 8 - i32.const 408 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -5444,7 +5455,7 @@ i32.eqz if i32.const 0 - i32.const 1696 + i32.const 1816 i32.const 968 i32.const 24 call $~lib/env/abort @@ -5609,7 +5620,7 @@ if i32.const 0 i32.const 104 - i32.const 738 + i32.const 741 i32.const 2 call $~lib/env/abort unreachable @@ -5725,7 +5736,7 @@ if i32.const 0 i32.const 8 - i32.const 408 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -5791,7 +5802,7 @@ if i32.const 0 i32.const 104 - i32.const 738 + i32.const 741 i32.const 2 call $~lib/env/abort unreachable @@ -6138,7 +6149,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 14 i32.const 2 call $~lib/env/abort @@ -6158,11 +6169,11 @@ (func $~lib/string/String#charAt (; 103 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) get_local $0 - i32.const 1728 + i32.const 1848 i32.load i32.ge_u if - i32.const 2704 + i32.const 2824 return end i32.const 1 @@ -6171,7 +6182,7 @@ get_local $0 i32.const 1 i32.shl - i32.const 1728 + i32.const 1848 i32.add i32.load16_u offset=4 i32.store16 offset=4 @@ -6205,7 +6216,7 @@ i32.eqz if i32.const 0 - i32.const 2856 + i32.const 2976 i32.const 110 i32.const 4 call $~lib/env/abort @@ -6214,7 +6225,7 @@ get_local $1 i32.eqz if - i32.const 2944 + i32.const 3064 set_local $1 end get_local $0 @@ -6227,7 +6238,7 @@ tee_local $2 i32.eqz if - i32.const 2704 + i32.const 2824 return end get_local $2 @@ -6250,7 +6261,7 @@ get_local $0 i32.eqz if - i32.const 2944 + i32.const 3064 set_local $0 end get_local $0 @@ -6260,7 +6271,7 @@ (func $std/array/createRandomString (; 107 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - i32.const 2704 + i32.const 2824 set_local $1 block $break|0 loop $repeat|0 @@ -6270,7 +6281,7 @@ br_if $break|0 get_local $1 call $~lib/math/NativeMath.random - i32.const 1728 + i32.const 1848 i32.load f64.convert_s/i32 f64.mul @@ -6330,7 +6341,7 @@ i32.eqz if i32.const 0 - i32.const 2856 + i32.const 2976 i32.const 269 i32.const 4 call $~lib/env/abort @@ -6376,7 +6387,7 @@ tee_local $3 i32.eqz if - i32.const 2704 + i32.const 2824 return end get_local $4 @@ -6415,7 +6426,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) - i32.const 3044 + i32.const 3164 i32.load i32.const 1 i32.sub @@ -6423,13 +6434,13 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 3040 + i32.const 3160 i32.load set_local $5 - i32.const 3016 + i32.const 3136 i32.load tee_local $6 i32.const 0 @@ -6438,8 +6449,8 @@ get_local $4 i32.eqz if - i32.const 2984 - i32.const 3000 + i32.const 3104 + i32.const 3120 get_local $5 i32.load8_u offset=8 select @@ -6473,8 +6484,8 @@ set_local $3 get_local $2 get_local $0 - i32.const 2984 - i32.const 3000 + i32.const 3104 + i32.const 3120 get_local $9 select i32.const 0 @@ -6488,7 +6499,7 @@ if get_local $2 get_local $0 - i32.const 3016 + i32.const 3136 i32.const 0 get_local $6 call $~lib/internal/string/copyUnsafe @@ -6517,8 +6528,8 @@ set_local $3 get_local $2 get_local $0 - i32.const 2984 - i32.const 3000 + i32.const 3104 + i32.const 3120 get_local $1 select i32.const 0 @@ -6541,7 +6552,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6607,7 +6618,7 @@ (func $~lib/internal/number/utoa32_lut (; 112 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - i32.const 3632 + i32.const 3752 i32.load set_local $3 loop $continue|0 @@ -6721,7 +6732,7 @@ get_local $0 i32.eqz if - i32.const 3112 + i32.const 3232 return end get_local $0 @@ -6810,7 +6821,7 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end get_local $0 @@ -6902,7 +6913,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6917,7 +6928,7 @@ get_local $0 i32.eqz if - i32.const 3112 + i32.const 3232 return end get_local $0 @@ -6971,7 +6982,7 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end get_local $0 @@ -7063,7 +7074,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -7107,7 +7118,7 @@ tee_local $7 call $~lib/internal/number/decimalCount32 set_local $9 - i32.const 5416 + i32.const 5536 i32.load set_local $12 loop $continue|0 @@ -7872,10 +7883,10 @@ i32.shl i32.sub set_global $~lib/internal/number/_K - i32.const 5344 + i32.const 5464 i32.load set_local $4 - i32.const 5080 + i32.const 5200 i32.load get_local $5 i32.const 3 @@ -8081,7 +8092,7 @@ f64.const 0 f64.eq if - i32.const 3976 + i32.const 4096 return end get_local $0 @@ -8094,11 +8105,11 @@ get_local $0 f64.ne if - i32.const 3992 + i32.const 4112 return end - i32.const 4008 - i32.const 4032 + i32.const 4128 + i32.const 4152 get_local $0 f64.const 0 f64.lt @@ -8119,7 +8130,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8176,8 +8187,8 @@ i32.const 4 i32.add tee_local $1 - i32.const 4008 - i32.const 4032 + i32.const 4128 + i32.const 4152 get_local $2 f64.const 0 f64.lt @@ -8210,7 +8221,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 5492 + i32.const 5612 i32.load i32.const 1 i32.sub @@ -8218,13 +8229,13 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 5488 + i32.const 5608 i32.load set_local $4 - i32.const 3968 + i32.const 4088 i32.load tee_local $5 i32.const 0 @@ -8269,7 +8280,7 @@ if get_local $2 get_local $0 - i32.const 3968 + i32.const 4088 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8309,7 +8320,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8334,7 +8345,7 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end get_local $0 @@ -8478,13 +8489,13 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end get_local $0 i32.load set_local $5 - i32.const 3016 + i32.const 3136 i32.load tee_local $4 i32.const 0 @@ -8493,7 +8504,7 @@ get_local $3 i32.eqz if - i32.const 5672 + i32.const 5792 return end get_local $4 @@ -8520,7 +8531,7 @@ if get_local $0 get_local $1 - i32.const 5672 + i32.const 5792 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -8533,7 +8544,7 @@ if get_local $0 get_local $1 - i32.const 3016 + i32.const 3136 i32.const 0 get_local $4 call $~lib/internal/string/copyUnsafe @@ -8558,7 +8569,7 @@ if get_local $0 get_local $1 - i32.const 5672 + i32.const 5792 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -8581,7 +8592,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8654,7 +8665,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 5868 + i32.const 5988 i32.load i32.const 1 i32.sub @@ -8662,13 +8673,13 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 5864 + i32.const 5984 i32.load set_local $4 - i32.const 3016 + i32.const 3136 i32.load tee_local $5 i32.const 0 @@ -8711,7 +8722,7 @@ if get_local $2 get_local $0 - i32.const 3016 + i32.const 3136 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8749,7 +8760,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8797,7 +8808,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 5932 + i32.const 6052 i32.load i32.const 1 i32.sub @@ -8805,13 +8816,13 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 5928 + i32.const 6048 i32.load set_local $4 - i32.const 3016 + i32.const 3136 i32.load tee_local $5 i32.const 0 @@ -8856,7 +8867,7 @@ if get_local $2 get_local $0 - i32.const 3016 + i32.const 3136 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8896,7 +8907,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8964,7 +8975,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 6512 + i32.const 6632 i32.load set_local $3 loop $continue|0 @@ -9063,7 +9074,7 @@ get_local $0 i64.eqz if - i32.const 3112 + i32.const 3232 return end get_local $0 @@ -9141,7 +9152,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6556 + i32.const 6676 i32.load i32.const 1 i32.sub @@ -9149,13 +9160,13 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 6552 + i32.const 6672 i32.load set_local $4 - i32.const 3016 + i32.const 3136 i32.load tee_local $5 i32.const 0 @@ -9200,7 +9211,7 @@ if get_local $2 get_local $0 - i32.const 3016 + i32.const 3136 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -9240,7 +9251,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9257,7 +9268,7 @@ get_local $0 i64.eqz if - i32.const 3112 + i32.const 3232 return end get_local $0 @@ -9376,7 +9387,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6756 + i32.const 6876 i32.load i32.const 1 i32.sub @@ -9384,13 +9395,13 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 6752 + i32.const 6872 i32.load set_local $4 - i32.const 3016 + i32.const 3136 i32.load tee_local $5 i32.const 0 @@ -9435,7 +9446,7 @@ if get_local $2 get_local $0 - i32.const 3016 + i32.const 3136 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -9475,7 +9486,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9498,15 +9509,15 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $1 get_local $0 i32.load set_local $4 - i32.const 3016 + i32.const 3136 i32.load i32.const 0 i32.ne @@ -9519,10 +9530,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join else - i32.const 2704 + i32.const 2824 end tee_local $0 return @@ -9545,7 +9556,7 @@ if get_local $1 get_local $2 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9553,7 +9564,7 @@ get_local $5 if get_local $1 - i32.const 3016 + i32.const 3136 call $~lib/string/String.__concat set_local $1 end @@ -9576,7 +9587,7 @@ if get_local $1 get_local $2 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9629,7 +9640,7 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end get_local $0 @@ -9717,7 +9728,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9740,15 +9751,15 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $1 get_local $0 i32.load set_local $4 - i32.const 3016 + i32.const 3136 i32.load i32.const 0 i32.ne @@ -9761,10 +9772,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join else - i32.const 2704 + i32.const 2824 end tee_local $0 return @@ -9787,7 +9798,7 @@ if get_local $1 get_local $2 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9795,7 +9806,7 @@ get_local $5 if get_local $1 - i32.const 3016 + i32.const 3136 call $~lib/string/String.__concat set_local $1 end @@ -9818,7 +9829,7 @@ if get_local $1 get_local $2 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9839,10 +9850,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $2 get_local $0 i32.load @@ -9863,7 +9874,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 2704 + i32.const 2824 end tee_local $0 return @@ -9938,15 +9949,15 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $1 get_local $0 i32.load set_local $4 - i32.const 3016 + i32.const 3136 i32.load i32.const 0 i32.ne @@ -9959,10 +9970,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 3016 + i32.const 3136 call $~lib/array/Array>#join else - i32.const 2704 + i32.const 2824 end tee_local $0 return @@ -9985,7 +9996,7 @@ if get_local $1 get_local $2 - i32.const 3016 + i32.const 3136 call $~lib/array/Array>#join call $~lib/string/String.__concat set_local $1 @@ -9993,7 +10004,7 @@ get_local $5 if get_local $1 - i32.const 3016 + i32.const 3136 call $~lib/string/String.__concat set_local $1 end @@ -10016,7 +10027,7 @@ if get_local $1 get_local $2 - i32.const 3016 + i32.const 3136 call $~lib/array/Array>#join call $~lib/string/String.__concat set_local $1 @@ -10027,7 +10038,7 @@ (local $0 i32) (local $1 i32) (local $2 f32) - i32.const 7232 + i32.const 7352 set_global $~lib/allocator/arena/startOffset get_global $~lib/allocator/arena/startOffset set_global $~lib/allocator/arena/offset @@ -12429,13 +12440,26 @@ call $~lib/env/abort unreachable end - i32.const 1624 + get_global $std/array/sarr + i32.const 1600 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 337 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 1640 set_global $std/array/sarr get_global $std/array/sarr i32.const 2 i32.const 2 call $~lib/array/Array#splice - i32.const 1648 + i32.const 1664 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12448,7 +12472,7 @@ unreachable end get_global $std/array/sarr - i32.const 1688 + i32.const 1704 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12460,6 +12484,37 @@ call $~lib/env/abort unreachable end + i32.const 1744 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const 0 + i32.const 1 + call $~lib/array/Array#splice + i32.const 1768 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 344 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 1808 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 345 + i32.const 0 + call $~lib/env/abort + unreachable + end get_global $std/array/arr i32.const 0 i32.const 0 @@ -12484,7 +12539,7 @@ if i32.const 0 i32.const 104 - i32.const 352 + i32.const 355 i32.const 0 call $~lib/env/abort unreachable @@ -12499,7 +12554,7 @@ if i32.const 0 i32.const 104 - i32.const 355 + i32.const 358 i32.const 0 call $~lib/env/abort unreachable @@ -12514,7 +12569,7 @@ if i32.const 0 i32.const 104 - i32.const 358 + i32.const 361 i32.const 0 call $~lib/env/abort unreachable @@ -12529,7 +12584,7 @@ if i32.const 0 i32.const 104 - i32.const 366 + i32.const 369 i32.const 0 call $~lib/env/abort unreachable @@ -12541,7 +12596,7 @@ if i32.const 0 i32.const 104 - i32.const 367 + i32.const 370 i32.const 0 call $~lib/env/abort unreachable @@ -12556,7 +12611,7 @@ if i32.const 0 i32.const 104 - i32.const 369 + i32.const 372 i32.const 0 call $~lib/env/abort unreachable @@ -12583,7 +12638,7 @@ if i32.const 0 i32.const 104 - i32.const 382 + i32.const 385 i32.const 0 call $~lib/env/abort unreachable @@ -12595,7 +12650,7 @@ if i32.const 0 i32.const 104 - i32.const 383 + i32.const 386 i32.const 0 call $~lib/env/abort unreachable @@ -12618,7 +12673,7 @@ if i32.const 0 i32.const 104 - i32.const 391 + i32.const 394 i32.const 0 call $~lib/env/abort unreachable @@ -12631,7 +12686,7 @@ if i32.const 0 i32.const 104 - i32.const 394 + i32.const 397 i32.const 0 call $~lib/env/abort unreachable @@ -12646,7 +12701,7 @@ if i32.const 0 i32.const 104 - i32.const 402 + i32.const 405 i32.const 0 call $~lib/env/abort unreachable @@ -12658,7 +12713,7 @@ if i32.const 0 i32.const 104 - i32.const 403 + i32.const 406 i32.const 0 call $~lib/env/abort unreachable @@ -12671,7 +12726,7 @@ if i32.const 0 i32.const 104 - i32.const 405 + i32.const 408 i32.const 0 call $~lib/env/abort unreachable @@ -12698,7 +12753,7 @@ if i32.const 0 i32.const 104 - i32.const 418 + i32.const 421 i32.const 0 call $~lib/env/abort unreachable @@ -12710,7 +12765,7 @@ if i32.const 0 i32.const 104 - i32.const 419 + i32.const 422 i32.const 0 call $~lib/env/abort unreachable @@ -12733,7 +12788,7 @@ if i32.const 0 i32.const 104 - i32.const 427 + i32.const 430 i32.const 0 call $~lib/env/abort unreachable @@ -12746,7 +12801,7 @@ if i32.const 0 i32.const 104 - i32.const 430 + i32.const 433 i32.const 0 call $~lib/env/abort unreachable @@ -12759,7 +12814,7 @@ if i32.const 0 i32.const 104 - i32.const 438 + i32.const 441 i32.const 0 call $~lib/env/abort unreachable @@ -12771,7 +12826,7 @@ if i32.const 0 i32.const 104 - i32.const 439 + i32.const 442 i32.const 0 call $~lib/env/abort unreachable @@ -12786,7 +12841,7 @@ if i32.const 0 i32.const 104 - i32.const 441 + i32.const 444 i32.const 0 call $~lib/env/abort unreachable @@ -12811,7 +12866,7 @@ if i32.const 0 i32.const 104 - i32.const 454 + i32.const 457 i32.const 0 call $~lib/env/abort unreachable @@ -12823,7 +12878,7 @@ if i32.const 0 i32.const 104 - i32.const 455 + i32.const 458 i32.const 0 call $~lib/env/abort unreachable @@ -12847,7 +12902,7 @@ if i32.const 0 i32.const 104 - i32.const 464 + i32.const 467 i32.const 0 call $~lib/env/abort unreachable @@ -12863,7 +12918,7 @@ if i32.const 0 i32.const 104 - i32.const 473 + i32.const 476 i32.const 0 call $~lib/env/abort unreachable @@ -12875,7 +12930,7 @@ if i32.const 0 i32.const 104 - i32.const 474 + i32.const 477 i32.const 0 call $~lib/env/abort unreachable @@ -12891,7 +12946,7 @@ if i32.const 0 i32.const 104 - i32.const 477 + i32.const 480 i32.const 0 call $~lib/env/abort unreachable @@ -12919,7 +12974,7 @@ if i32.const 0 i32.const 104 - i32.const 491 + i32.const 494 i32.const 0 call $~lib/env/abort unreachable @@ -12931,7 +12986,7 @@ if i32.const 0 i32.const 104 - i32.const 492 + i32.const 495 i32.const 0 call $~lib/env/abort unreachable @@ -12954,7 +13009,7 @@ if i32.const 0 i32.const 104 - i32.const 501 + i32.const 504 i32.const 0 call $~lib/env/abort unreachable @@ -12996,7 +13051,7 @@ if i32.const 0 i32.const 104 - i32.const 502 + i32.const 505 i32.const 0 call $~lib/env/abort unreachable @@ -13013,7 +13068,7 @@ if i32.const 0 i32.const 104 - i32.const 511 + i32.const 514 i32.const 0 call $~lib/env/abort unreachable @@ -13025,7 +13080,7 @@ if i32.const 0 i32.const 104 - i32.const 512 + i32.const 515 i32.const 0 call $~lib/env/abort unreachable @@ -13042,7 +13097,7 @@ if i32.const 0 i32.const 104 - i32.const 519 + i32.const 522 i32.const 0 call $~lib/env/abort unreachable @@ -13071,7 +13126,7 @@ if i32.const 0 i32.const 104 - i32.const 534 + i32.const 537 i32.const 0 call $~lib/env/abort unreachable @@ -13083,7 +13138,7 @@ if i32.const 0 i32.const 104 - i32.const 535 + i32.const 538 i32.const 0 call $~lib/env/abort unreachable @@ -13107,7 +13162,7 @@ if i32.const 0 i32.const 104 - i32.const 543 + i32.const 546 i32.const 0 call $~lib/env/abort unreachable @@ -13124,7 +13179,7 @@ if i32.const 0 i32.const 104 - i32.const 552 + i32.const 555 i32.const 0 call $~lib/env/abort unreachable @@ -13136,7 +13191,7 @@ if i32.const 0 i32.const 104 - i32.const 553 + i32.const 556 i32.const 0 call $~lib/env/abort unreachable @@ -13153,7 +13208,7 @@ if i32.const 0 i32.const 104 - i32.const 560 + i32.const 563 i32.const 0 call $~lib/env/abort unreachable @@ -13182,7 +13237,7 @@ if i32.const 0 i32.const 104 - i32.const 575 + i32.const 578 i32.const 0 call $~lib/env/abort unreachable @@ -13194,7 +13249,7 @@ if i32.const 0 i32.const 104 - i32.const 576 + i32.const 579 i32.const 0 call $~lib/env/abort unreachable @@ -13218,7 +13273,7 @@ if i32.const 0 i32.const 104 - i32.const 584 + i32.const 587 i32.const 0 call $~lib/env/abort unreachable @@ -13234,7 +13289,7 @@ if i32.const 0 i32.const 104 - i32.const 588 + i32.const 591 i32.const 0 call $~lib/env/abort unreachable @@ -13252,7 +13307,7 @@ if i32.const 0 i32.const 104 - i32.const 591 + i32.const 594 i32.const 0 call $~lib/env/abort unreachable @@ -13268,7 +13323,7 @@ if i32.const 0 i32.const 104 - i32.const 594 + i32.const 597 i32.const 0 call $~lib/env/abort unreachable @@ -13284,7 +13339,7 @@ if i32.const 0 i32.const 104 - i32.const 602 + i32.const 605 i32.const 0 call $~lib/env/abort unreachable @@ -13296,7 +13351,7 @@ if i32.const 0 i32.const 104 - i32.const 603 + i32.const 606 i32.const 0 call $~lib/env/abort unreachable @@ -13312,7 +13367,7 @@ if i32.const 0 i32.const 104 - i32.const 605 + i32.const 608 i32.const 0 call $~lib/env/abort unreachable @@ -13340,7 +13395,7 @@ if i32.const 0 i32.const 104 - i32.const 618 + i32.const 621 i32.const 0 call $~lib/env/abort unreachable @@ -13352,7 +13407,7 @@ if i32.const 0 i32.const 104 - i32.const 619 + i32.const 622 i32.const 0 call $~lib/env/abort unreachable @@ -13376,7 +13431,7 @@ if i32.const 0 i32.const 104 - i32.const 627 + i32.const 630 i32.const 0 call $~lib/env/abort unreachable @@ -13392,7 +13447,7 @@ if i32.const 0 i32.const 104 - i32.const 631 + i32.const 634 i32.const 0 call $~lib/env/abort unreachable @@ -13410,7 +13465,7 @@ if i32.const 0 i32.const 104 - i32.const 634 + i32.const 637 i32.const 0 call $~lib/env/abort unreachable @@ -13426,7 +13481,7 @@ if i32.const 0 i32.const 104 - i32.const 637 + i32.const 640 i32.const 0 call $~lib/env/abort unreachable @@ -13442,7 +13497,7 @@ if i32.const 0 i32.const 104 - i32.const 645 + i32.const 648 i32.const 0 call $~lib/env/abort unreachable @@ -13454,7 +13509,7 @@ if i32.const 0 i32.const 104 - i32.const 646 + i32.const 649 i32.const 0 call $~lib/env/abort unreachable @@ -13470,7 +13525,7 @@ if i32.const 0 i32.const 104 - i32.const 648 + i32.const 651 i32.const 0 call $~lib/env/abort unreachable @@ -13498,7 +13553,7 @@ if i32.const 0 i32.const 104 - i32.const 661 + i32.const 664 i32.const 0 call $~lib/env/abort unreachable @@ -13508,7 +13563,7 @@ if i32.const 0 i32.const 104 - i32.const 662 + i32.const 665 i32.const 0 call $~lib/env/abort unreachable @@ -13559,7 +13614,7 @@ if i32.const 0 i32.const 104 - i32.const 749 + i32.const 752 i32.const 0 call $~lib/env/abort unreachable @@ -13591,7 +13646,7 @@ if i32.const 0 i32.const 104 - i32.const 753 + i32.const 756 i32.const 0 call $~lib/env/abort unreachable @@ -13618,14 +13673,14 @@ call $~lib/array/Array#sort drop get_global $std/array/i32ArrayTyped - i32.const 2392 + i32.const 2512 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 757 + i32.const 760 i32.const 0 call $~lib/env/abort unreachable @@ -13652,14 +13707,14 @@ call $~lib/array/Array#sort drop get_global $std/array/u32ArrayTyped - i32.const 2472 + i32.const 2592 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 761 + i32.const 764 i32.const 0 call $~lib/env/abort unreachable @@ -13684,14 +13739,14 @@ get_global $std/array/reversed1 call $std/array/assertSortedDefault get_global $std/array/reversed1 - i32.const 2640 + i32.const 2760 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 781 + i32.const 784 i32.const 0 call $~lib/env/abort unreachable @@ -13699,14 +13754,14 @@ get_global $std/array/reversed2 call $std/array/assertSortedDefault get_global $std/array/reversed2 - i32.const 2664 + i32.const 2784 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 784 + i32.const 787 i32.const 0 call $~lib/env/abort unreachable @@ -13721,7 +13776,7 @@ if i32.const 0 i32.const 104 - i32.const 787 + i32.const 790 i32.const 0 call $~lib/env/abort unreachable @@ -13736,7 +13791,7 @@ if i32.const 0 i32.const 104 - i32.const 790 + i32.const 793 i32.const 0 call $~lib/env/abort unreachable @@ -13751,7 +13806,7 @@ if i32.const 0 i32.const 104 - i32.const 793 + i32.const 796 i32.const 0 call $~lib/env/abort unreachable @@ -13766,7 +13821,7 @@ if i32.const 0 i32.const 104 - i32.const 796 + i32.const 799 i32.const 0 call $~lib/env/abort unreachable @@ -13781,7 +13836,7 @@ if i32.const 0 i32.const 104 - i32.const 799 + i32.const 802 i32.const 0 call $~lib/env/abort unreachable @@ -13826,7 +13881,7 @@ if i32.const 0 i32.const 104 - i32.const 828 + i32.const 831 i32.const 0 call $~lib/env/abort unreachable @@ -13837,81 +13892,81 @@ i32.const 55 call $std/array/assertSorted> call $~lib/array/Array#join - i32.const 3048 + i32.const 3168 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 837 + i32.const 840 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3672 - i32.const 2704 + i32.const 3792 + i32.const 2824 call $~lib/array/Array#join - i32.const 3680 + i32.const 3800 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 838 + i32.const 841 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3776 - i32.const 3736 + i32.const 3896 + i32.const 3856 call $~lib/array/Array#join - i32.const 3680 + i32.const 3800 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 839 + i32.const 842 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3832 - i32.const 3808 + i32.const 3952 + i32.const 3928 call $~lib/array/Array#join - i32.const 3840 + i32.const 3960 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 840 + i32.const 843 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 5496 + i32.const 5616 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 841 + i32.const 844 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5664 - i32.const 2704 + i32.const 5784 + i32.const 2824 call $~lib/array/Array#join - i32.const 5584 + i32.const 5704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 842 + i32.const 845 i32.const 0 call $~lib/env/abort unreachable @@ -13945,184 +14000,184 @@ set_global $std/array/refArr get_global $std/array/refArr call $~lib/array/Array#join - i32.const 5712 + i32.const 5832 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 844 + i32.const 847 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed0 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join - i32.const 2704 + i32.const 2824 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 848 + i32.const 851 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed1 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join - i32.const 5584 + i32.const 5704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 849 + i32.const 852 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed2 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join - i32.const 5784 + i32.const 5904 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 850 + i32.const 853 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed4 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join - i32.const 5800 + i32.const 5920 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 851 + i32.const 854 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 5872 + i32.const 5992 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 853 + i32.const 856 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 5936 + i32.const 6056 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 854 + i32.const 857 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6560 + i32.const 6680 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 855 + i32.const 858 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6760 + i32.const 6880 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 856 + i32.const 859 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/randomStringsExpected - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join - i32.const 6848 + i32.const 6968 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 857 + i32.const 860 i32.const 0 call $~lib/env/abort unreachable end - i32.const 6968 - i32.const 3016 + i32.const 7088 + i32.const 3136 call $~lib/array/Array#join - i32.const 6976 + i32.const 7096 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 858 + i32.const 861 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarr32 call $~lib/array/Array>#join - i32.const 7064 + i32.const 7184 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 861 + i32.const 864 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarr8 call $~lib/array/Array>#join - i32.const 7064 + i32.const 7184 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 864 + i32.const 867 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarrU32 call $~lib/array/Array>>#join - i32.const 5584 + i32.const 5704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 867 + i32.const 870 i32.const 0 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/array.ts b/tests/compiler/std/array.ts index 8592c96baa..9b9fd2e6e9 100644 --- a/tests/compiler/std/array.ts +++ b/tests/compiler/std/array.ts @@ -334,12 +334,15 @@ assert(arr[1] == 42); var sarr: i32[] = [1, 2, 3, 4, 5]; assert(isArraysEqual(sarr.splice(0), [1, 2, 3, 4, 5])); -// assert(sarr.length == 0); +assert(isArraysEqual(sarr, [])); sarr = [1, 2, 3, 4, 5]; assert(isArraysEqual(sarr.splice(2, 2), [3, 4])); assert(isArraysEqual(sarr, [1, 2, 5])); -// assert(sarr.length == 3); + +sarr = [1, 2, 3, 4, 5]; +assert(isArraysEqual(sarr.splice(0, 1), [1])); +assert(isArraysEqual(sarr, [2, 3, 4, 5])); // Array#findIndex ///////////////////////////////////////////////////////////////////////////////// diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index 7b3d4730ca..536b7ab44c 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -112,157 +112,165 @@ (data (i32.const 1544) "\e8\05\00\00\05\00\00\00") (data (i32.const 1552) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") (data (i32.const 1584) "\10\06\00\00\05\00\00\00") - (data (i32.const 1592) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 1624) "8\06\00\00\05\00\00\00") - (data (i32.const 1632) "\08\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00") - (data (i32.const 1648) "`\06\00\00\02\00\00\00") - (data (i32.const 1656) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1688) "x\06\00\00\03\00\00\00") - (data (i32.const 1696) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") - (data (i32.const 1728) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") - (data (i32.const 1904) " \00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1968) "p\07\00\00\08\00\00\00") - (data (i32.const 1976) " \00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2040) "\b8\07\00\00\08\00\00\00") - (data (i32.const 2048) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2176) "\00\08\00\00\08\00\00\00") - (data (i32.const 2184) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2312) "\88\08\00\00\08\00\00\00") - (data (i32.const 2320) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 2352) "\10\t\00\00\05\00\00\00") - (data (i32.const 2360) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 2392) "8\t\00\00\05\00\00\00") - (data (i32.const 2400) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 2432) "`\t\00\00\05\00\00\00") - (data (i32.const 2440) "\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00") + (data (i32.const 1592) "\00\00\00\00\00\00\00\00") + (data (i32.const 1600) "8\06\00\00\00\00\00\00") + (data (i32.const 1608) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 1640) "H\06\00\00\05\00\00\00") + (data (i32.const 1648) "\08\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00") + (data (i32.const 1664) "p\06\00\00\02\00\00\00") + (data (i32.const 1672) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1704) "\88\06\00\00\03\00\00\00") + (data (i32.const 1712) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 1744) "\b0\06\00\00\05\00\00\00") + (data (i32.const 1752) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 1768) "\d8\06\00\00\01\00\00\00") + (data (i32.const 1776) "\10\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1808) "\f0\06\00\00\04\00\00\00") + (data (i32.const 1816) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") + (data (i32.const 1848) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") + (data (i32.const 2024) " \00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2088) "\e8\07\00\00\08\00\00\00") + (data (i32.const 2096) " \00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2160) "0\08\00\00\08\00\00\00") + (data (i32.const 2168) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2296) "x\08\00\00\08\00\00\00") + (data (i32.const 2304) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2432) "\00\t\00\00\08\00\00\00") + (data (i32.const 2440) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") (data (i32.const 2472) "\88\t\00\00\05\00\00\00") - (data (i32.const 2480) "\00\00\00\00\00\00\00\00") - (data (i32.const 2488) "\b0\t\00\00\00\00\00\00") - (data (i32.const 2496) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 2512) "\c0\t\00\00\01\00\00\00") - (data (i32.const 2520) "\08\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") - (data (i32.const 2536) "\d8\t\00\00\02\00\00\00") - (data (i32.const 2544) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2576) "\f0\t\00\00\04\00\00\00") - (data (i32.const 2584) "\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2616) "\18\n\00\00\04\00\00\00") - (data (i32.const 2624) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 2640) "@\n\00\00\01\00\00\00") - (data (i32.const 2648) "\08\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 2664) "X\n\00\00\02\00\00\00") - (data (i32.const 2672) "\01\00\00\00a\00") - (data (i32.const 2680) "\01\00\00\00b\00") - (data (i32.const 2688) "\02\00\00\00a\00b\00") - (data (i32.const 2696) "\02\00\00\00b\00a\00") - (data (i32.const 2704) "\00\00\00\00") - (data (i32.const 2712) "\1c\00\00\00\00\00\00\00p\n\00\00x\n\00\00p\n\00\00\80\n\00\00\88\n\00\00\90\n\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2776) "\98\n\00\00\07\00\00\00") - (data (i32.const 2784) "\1c\00\00\00\00\00\00\00\90\n\00\00p\n\00\00p\n\00\00\80\n\00\00x\n\00\00\88\n\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2848) "\e0\n\00\00\07\00\00\00") - (data (i32.const 2856) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 2888) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 2944) "\04\00\00\00n\00u\00l\00l\00") - (data (i32.const 2960) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 2976) "\90\0b\00\00\02\00\00\00") - (data (i32.const 2984) "\04\00\00\00t\00r\00u\00e\00") - (data (i32.const 3000) "\05\00\00\00f\00a\00l\00s\00e\00") - (data (i32.const 3016) "\01\00\00\00,\00") - (data (i32.const 3024) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3040) "\d0\0b\00\00\02\00\00\00") - (data (i32.const 3048) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") - (data (i32.const 3072) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3104) "\00\0c\00\00\03\00\00\00") - (data (i32.const 3112) "\01\00\00\000\00") - (data (i32.const 3120) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3632) "0\0c\00\00d\00\00\00") - (data (i32.const 3640) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3672) "8\0e\00\00\03\00\00\00") - (data (i32.const 3680) "\05\00\00\001\00-\002\00-\003\00") - (data (i32.const 3696) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3728) "p\0e\00\00\03\00\00\00") - (data (i32.const 3736) "\01\00\00\00-\00") - (data (i32.const 3744) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3776) "\a0\0e\00\00\03\00\00\00") - (data (i32.const 3784) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 3800) "\c8\0e\00\00\02\00\00\00") - (data (i32.const 3808) "\02\00\00\00_\00_\00") - (data (i32.const 3816) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 3832) "\e8\0e\00\00\02\00\00\00") - (data (i32.const 3840) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 3896) "0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00") - (data (i32.const 3960) "8\0f\00\00\06\00\00\00") - (data (i32.const 3968) "\02\00\00\00,\00 \00") - (data (i32.const 3976) "\03\00\00\000\00.\000\00") - (data (i32.const 3992) "\03\00\00\00N\00a\00N\00") - (data (i32.const 4008) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4032) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4056) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#sort|trampoline~anonymous|43 $~lib/array/Array#sort|trampoline~anonymous|44 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|46 $std/array/assertSortedDefault~anonymous|47 $start~anonymous|48 $start~anonymous|49 $start~anonymous|50 $start~anonymous|51 $start~anonymous|52 $start~anonymous|53 $start~anonymous|54 $start~anonymous|55) (global $~lib/internal/allocator/AL_BITS i32 (i32.const 3)) @@ -309,16 +317,16 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/charset i32 (i32.const 1728)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 1968)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 2176)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 2352)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 2432)) - (global $std/array/reversed0 (mut i32) (i32.const 2488)) - (global $std/array/reversed1 (mut i32) (i32.const 2512)) - (global $std/array/reversed2 (mut i32) (i32.const 2536)) - (global $std/array/reversed4 (mut i32) (i32.const 2576)) - (global $std/array/expected4 (mut i32) (i32.const 2616)) + (global $std/array/charset i32 (i32.const 1848)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 2088)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 2296)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 2472)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 2552)) + (global $std/array/reversed0 (mut i32) (i32.const 2608)) + (global $std/array/reversed1 (mut i32) (i32.const 2632)) + (global $std/array/reversed2 (mut i32) (i32.const 2656)) + (global $std/array/reversed4 (mut i32) (i32.const 2696)) + (global $std/array/expected4 (mut i32) (i32.const 2736)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -328,8 +336,8 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 2776)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 2848)) + (global $std/array/randomStringsActual (mut i32) (i32.const 2896)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 2968)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/internal/string/CharCode.PLUS i32 (i32.const 43)) @@ -363,10 +371,10 @@ (global $std/array/refArr (mut i32) (i32.const 0)) (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) (global $~lib/builtins/i64.MAX_VALUE i64 (i64.const 9223372036854775807)) - (global $std/array/subarr32 (mut i32) (i32.const 7056)) - (global $std/array/subarr8 (mut i32) (i32.const 7152)) - (global $std/array/subarrU32 (mut i32) (i32.const 7224)) - (global $HEAP_BASE i32 (i32.const 7232)) + (global $std/array/subarr32 (mut i32) (i32.const 7176)) + (global $std/array/subarr8 (mut i32) (i32.const 7272)) + (global $std/array/subarrU32 (mut i32) (i32.const 7344)) + (global $HEAP_BASE i32 (i32.const 7352)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -796,16 +804,19 @@ get_local $0 get_local $1 i32.store offset=4 - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 get_local $2 - call $~lib/internal/memory/memset + if + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 + get_local $2 + call $~lib/internal/memory/memset + end get_local $0 ) (func $~lib/array/Array.isArray | null> (; 8 ;) (type $ii) (param $0 i32) (result i32) @@ -2808,7 +2819,7 @@ if i32.const 0 i32.const 8 - i32.const 184 + i32.const 186 i32.const 42 call $~lib/env/abort unreachable @@ -2871,7 +2882,7 @@ if i32.const 0 i32.const 8 - i32.const 246 + i32.const 248 i32.const 20 call $~lib/env/abort unreachable @@ -3292,7 +3303,7 @@ if i32.const 0 i32.const 8 - i32.const 336 + i32.const 338 i32.const 42 call $~lib/env/abort unreachable @@ -3363,7 +3374,7 @@ if i32.const 0 i32.const 8 - i32.const 307 + i32.const 309 i32.const 20 call $~lib/env/abort unreachable @@ -3575,7 +3586,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) get_local $2 i32.const 1 i32.lt_s @@ -3639,18 +3649,18 @@ i32.shl i32.add set_local $8 - get_local $2 - i32.const 2 - i32.shl - set_local $9 get_local $7 i32.load get_global $~lib/internal/arraybuffer/HEADER_SIZE i32.add set_local $4 + get_local $2 + i32.const 2 + i32.shl + set_local $5 get_local $4 get_local $8 - get_local $9 + get_local $5 call $~lib/internal/memory/memmove get_local $6 get_global $~lib/internal/arraybuffer/HEADER_SIZE @@ -3661,10 +3671,16 @@ i32.const 2 i32.shl i32.add + set_local $5 + get_local $3 + get_local $2 + i32.sub + i32.const 2 + i32.shl set_local $4 get_local $8 + get_local $5 get_local $4 - get_local $9 call $~lib/internal/memory/memmove get_local $0 get_local $3 @@ -3713,7 +3729,7 @@ if i32.const 0 i32.const 8 - i32.const 109 + i32.const 111 i32.const 41 call $~lib/env/abort unreachable @@ -4176,16 +4192,19 @@ get_local $0 get_local $1 i32.store offset=4 - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 get_local $2 - call $~lib/internal/memory/memset + if + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 + get_local $2 + call $~lib/internal/memory/memset + end get_local $0 ) (func $~lib/array/Array#map (; 64 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) @@ -4908,7 +4927,7 @@ i64.eqz if i32.const 0 - i32.const 1696 + i32.const 1816 i32.const 959 i32.const 4 call $~lib/env/abort @@ -5471,7 +5490,7 @@ if i32.const 0 i32.const 8 - i32.const 408 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -6235,7 +6254,7 @@ if i32.const 0 i32.const 8 - i32.const 408 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -7021,7 +7040,7 @@ if i32.const 0 i32.const 8 - i32.const 408 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -7677,7 +7696,7 @@ if i32.const 0 i32.const 8 - i32.const 408 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -7850,7 +7869,7 @@ i32.eqz if i32.const 0 - i32.const 1696 + i32.const 1816 i32.const 968 i32.const 24 call $~lib/env/abort @@ -8005,7 +8024,7 @@ if i32.const 0 i32.const 104 - i32.const 738 + i32.const 741 i32.const 2 call $~lib/env/abort unreachable @@ -8086,16 +8105,19 @@ get_local $0 get_local $1 i32.store offset=4 - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 get_local $2 - call $~lib/internal/memory/memset + if + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 + get_local $2 + call $~lib/internal/memory/memset + end get_local $0 ) (func $~lib/array/Array>#__set (; 134 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) @@ -8119,7 +8141,7 @@ if i32.const 0 i32.const 8 - i32.const 109 + i32.const 111 i32.const 41 call $~lib/env/abort unreachable @@ -8354,7 +8376,7 @@ if i32.const 0 i32.const 8 - i32.const 408 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -8499,7 +8521,7 @@ if i32.const 0 i32.const 104 - i32.const 738 + i32.const 741 i32.const 2 call $~lib/env/abort unreachable @@ -8552,16 +8574,19 @@ get_local $0 get_local $1 i32.store offset=4 - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 get_local $2 - call $~lib/internal/memory/memset + if + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 + get_local $2 + call $~lib/internal/memory/memset + end get_local $0 ) (func $std/array/Proxy#constructor (; 143 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) @@ -8604,7 +8629,7 @@ if i32.const 0 i32.const 8 - i32.const 109 + i32.const 111 i32.const 41 call $~lib/env/abort unreachable @@ -8807,7 +8832,7 @@ if i32.const 0 i32.const 8 - i32.const 408 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -8974,7 +8999,7 @@ if i32.const 0 i32.const 104 - i32.const 738 + i32.const 741 i32.const 2 call $~lib/env/abort unreachable @@ -9295,7 +9320,7 @@ if i32.const 0 i32.const 8 - i32.const 408 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -9462,7 +9487,7 @@ if i32.const 0 i32.const 104 - i32.const 738 + i32.const 741 i32.const 2 call $~lib/env/abort unreachable @@ -9624,16 +9649,19 @@ get_local $0 get_local $1 i32.store offset=4 - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 get_local $2 - call $~lib/internal/memory/memset + if + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 + get_local $2 + call $~lib/internal/memory/memset + end get_local $0 ) (func $~lib/internal/string/allocateUnsafe (; 165 ;) (type $ii) (param $0 i32) (result i32) @@ -9653,7 +9681,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 14 i32.const 2 call $~lib/env/abort @@ -9684,7 +9712,7 @@ i32.eqz if i32.const 0 - i32.const 2856 + i32.const 2976 i32.const 58 i32.const 4 call $~lib/env/abort @@ -9695,7 +9723,7 @@ i32.load i32.ge_u if - i32.const 2704 + i32.const 2824 return end i32.const 1 @@ -9751,7 +9779,7 @@ i32.eqz if i32.const 0 - i32.const 2856 + i32.const 2976 i32.const 110 i32.const 4 call $~lib/env/abort @@ -9761,7 +9789,7 @@ i32.const 0 i32.eq if - i32.const 2944 + i32.const 3064 set_local $1 end get_local $0 @@ -9778,7 +9806,7 @@ i32.const 0 i32.eq if - i32.const 2704 + i32.const 2824 return end get_local $4 @@ -9802,7 +9830,7 @@ get_local $0 i32.eqz if - i32.const 2944 + i32.const 3064 set_local $0 end get_local $0 @@ -9813,7 +9841,7 @@ (local $1 i32) (local $2 i32) (local $3 f64) - i32.const 2704 + i32.const 2824 set_local $1 block $break|0 i32.const 0 @@ -9872,7 +9900,7 @@ if i32.const 0 i32.const 8 - i32.const 109 + i32.const 111 i32.const 41 call $~lib/env/abort unreachable @@ -9964,7 +9992,7 @@ i32.eqz if i32.const 0 - i32.const 2856 + i32.const 2976 i32.const 269 i32.const 4 call $~lib/env/abort @@ -10030,7 +10058,7 @@ get_local $3 i32.eqz if - i32.const 2704 + i32.const 2824 return end get_local $8 @@ -10080,10 +10108,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $3 get_local $0 i32.load @@ -10098,8 +10126,8 @@ get_local $2 i32.eqz if - i32.const 2984 - i32.const 3000 + i32.const 3104 + i32.const 3120 block $~lib/internal/arraybuffer/loadUnsafe|inlined.0 (result i32) i32.const 0 set_local $8 @@ -10158,8 +10186,8 @@ set_local $8 get_local $10 get_local $11 - i32.const 2984 - i32.const 3000 + i32.const 3104 + i32.const 3120 get_local $4 i32.const 0 i32.ne @@ -10212,8 +10240,8 @@ set_local $8 get_local $10 get_local $11 - i32.const 2984 - i32.const 3000 + i32.const 3104 + i32.const 3120 get_local $4 i32.const 0 i32.ne @@ -10240,7 +10268,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -10337,7 +10365,7 @@ (local $8 i64) (local $9 i64) block $~lib/internal/number/DIGITS|inlined.0 (result i32) - i32.const 3632 + i32.const 3752 end i32.load set_local $3 @@ -10488,7 +10516,7 @@ get_local $0 i32.eqz if - i32.const 3112 + i32.const 3232 return end get_local $0 @@ -10595,10 +10623,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $3 get_local $0 i32.load @@ -10719,7 +10747,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -10744,7 +10772,7 @@ get_local $0 i32.eqz if - i32.const 3112 + i32.const 3232 return end get_local $0 @@ -10812,10 +10840,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $3 get_local $0 i32.load @@ -10936,7 +10964,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -11014,7 +11042,7 @@ get_local $6 set_local $15 block $~lib/internal/number/POWERS10|inlined.0 (result i32) - i32.const 5416 + i32.const 5536 end i32.load set_local $16 @@ -12010,12 +12038,12 @@ i32.sub set_global $~lib/internal/number/_K block $~lib/internal/number/FRC_POWERS|inlined.0 (result i32) - i32.const 5080 + i32.const 5200 end i32.load set_local $12 block $~lib/internal/number/EXP_POWERS|inlined.0 (result i32) - i32.const 5344 + i32.const 5464 end i32.load set_local $13 @@ -12292,7 +12320,7 @@ f64.const 0 f64.eq if - i32.const 3976 + i32.const 4096 return end get_local $0 @@ -12302,11 +12330,11 @@ get_local $0 call $~lib/builtins/isNaN if - i32.const 3992 + i32.const 4112 return end - i32.const 4008 - i32.const 4032 + i32.const 4128 + i32.const 4152 get_local $0 f64.const 0 f64.lt @@ -12329,7 +12357,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -12402,8 +12430,8 @@ get_local $3 i32.add set_local $4 - i32.const 4008 - i32.const 4032 + i32.const 4128 + i32.const 4152 get_local $3 select set_local $5 @@ -12453,10 +12481,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $3 get_local $0 i32.load @@ -12577,7 +12605,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -12617,10 +12645,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $3 get_local $0 i32.load @@ -12839,16 +12867,19 @@ get_local $0 get_local $1 i32.store offset=4 - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 get_local $2 - call $~lib/internal/memory/memset + if + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 + get_local $2 + call $~lib/internal/memory/memset + end get_local $0 ) (func $~lib/array/Array#__unchecked_set (; 196 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) @@ -12884,10 +12915,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $3 get_local $0 i32.load @@ -12902,7 +12933,7 @@ get_local $2 i32.eqz if - i32.const 5672 + i32.const 5792 return end i32.const 15 @@ -12941,7 +12972,7 @@ if get_local $9 get_local $10 - i32.const 5672 + i32.const 5792 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -12984,7 +13015,7 @@ if get_local $9 get_local $10 - i32.const 5672 + i32.const 5792 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -13008,7 +13039,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13123,10 +13154,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $3 get_local $0 i32.load @@ -13247,7 +13278,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13330,10 +13361,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $3 get_local $0 i32.load @@ -13454,7 +13485,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13555,7 +13586,7 @@ (local $12 i64) (local $13 i64) block $~lib/internal/number/DIGITS|inlined.1 (result i32) - i32.const 6512 + i32.const 6632 end i32.load set_local $3 @@ -13687,7 +13718,7 @@ get_local $0 i64.eqz if - i32.const 3112 + i32.const 3232 return end get_local $0 @@ -13793,10 +13824,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $3 get_local $0 i32.load @@ -13917,7 +13948,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13944,7 +13975,7 @@ get_local $0 i64.eqz if - i32.const 3112 + i32.const 3232 return end get_local $0 @@ -14093,10 +14124,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $3 get_local $0 i32.load @@ -14217,7 +14248,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14253,10 +14284,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $3 get_local $0 i32.load @@ -14288,7 +14319,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 2704 + i32.const 2824 end return end @@ -14422,10 +14453,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $3 get_local $0 i32.load @@ -14546,7 +14577,7 @@ i32.eqz if i32.const 0 - i32.const 2888 + i32.const 3008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14582,10 +14613,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $3 get_local $0 i32.load @@ -14617,7 +14648,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 2704 + i32.const 2824 end return end @@ -14704,10 +14735,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $3 get_local $0 i32.load @@ -14739,7 +14770,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 2704 + i32.const 2824 end return end @@ -14826,10 +14857,10 @@ i32.const 0 i32.lt_s if - i32.const 2704 + i32.const 2824 return end - i32.const 2704 + i32.const 2824 set_local $3 get_local $0 i32.load @@ -14861,7 +14892,7 @@ get_local $1 call $~lib/array/Array>#join else - i32.const 2704 + i32.const 2824 end return end @@ -17135,13 +17166,26 @@ call $~lib/env/abort unreachable end - i32.const 1624 + get_global $std/array/sarr + i32.const 1600 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 337 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 1640 set_global $std/array/sarr get_global $std/array/sarr i32.const 2 i32.const 2 call $~lib/array/Array#splice - i32.const 1648 + i32.const 1664 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17154,7 +17198,7 @@ unreachable end get_global $std/array/sarr - i32.const 1688 + i32.const 1704 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17166,6 +17210,37 @@ call $~lib/env/abort unreachable end + i32.const 1744 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const 0 + i32.const 1 + call $~lib/array/Array#splice + i32.const 1768 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 344 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 1808 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 345 + i32.const 0 + call $~lib/env/abort + unreachable + end get_global $std/array/arr i32.const 0 i32.const 0 @@ -17193,7 +17268,7 @@ if i32.const 0 i32.const 104 - i32.const 352 + i32.const 355 i32.const 0 call $~lib/env/abort unreachable @@ -17209,7 +17284,7 @@ if i32.const 0 i32.const 104 - i32.const 355 + i32.const 358 i32.const 0 call $~lib/env/abort unreachable @@ -17225,7 +17300,7 @@ if i32.const 0 i32.const 104 - i32.const 358 + i32.const 361 i32.const 0 call $~lib/env/abort unreachable @@ -17241,7 +17316,7 @@ if i32.const 0 i32.const 104 - i32.const 366 + i32.const 369 i32.const 0 call $~lib/env/abort unreachable @@ -17258,7 +17333,7 @@ if i32.const 0 i32.const 104 - i32.const 367 + i32.const 370 i32.const 0 call $~lib/env/abort unreachable @@ -17274,7 +17349,7 @@ if i32.const 0 i32.const 104 - i32.const 369 + i32.const 372 i32.const 0 call $~lib/env/abort unreachable @@ -17302,7 +17377,7 @@ if i32.const 0 i32.const 104 - i32.const 382 + i32.const 385 i32.const 0 call $~lib/env/abort unreachable @@ -17319,7 +17394,7 @@ if i32.const 0 i32.const 104 - i32.const 383 + i32.const 386 i32.const 0 call $~lib/env/abort unreachable @@ -17343,7 +17418,7 @@ if i32.const 0 i32.const 104 - i32.const 391 + i32.const 394 i32.const 0 call $~lib/env/abort unreachable @@ -17359,7 +17434,7 @@ if i32.const 0 i32.const 104 - i32.const 394 + i32.const 397 i32.const 0 call $~lib/env/abort unreachable @@ -17375,7 +17450,7 @@ if i32.const 0 i32.const 104 - i32.const 402 + i32.const 405 i32.const 0 call $~lib/env/abort unreachable @@ -17392,7 +17467,7 @@ if i32.const 0 i32.const 104 - i32.const 403 + i32.const 406 i32.const 0 call $~lib/env/abort unreachable @@ -17408,7 +17483,7 @@ if i32.const 0 i32.const 104 - i32.const 405 + i32.const 408 i32.const 0 call $~lib/env/abort unreachable @@ -17436,7 +17511,7 @@ if i32.const 0 i32.const 104 - i32.const 418 + i32.const 421 i32.const 0 call $~lib/env/abort unreachable @@ -17453,7 +17528,7 @@ if i32.const 0 i32.const 104 - i32.const 419 + i32.const 422 i32.const 0 call $~lib/env/abort unreachable @@ -17477,7 +17552,7 @@ if i32.const 0 i32.const 104 - i32.const 427 + i32.const 430 i32.const 0 call $~lib/env/abort unreachable @@ -17493,7 +17568,7 @@ if i32.const 0 i32.const 104 - i32.const 430 + i32.const 433 i32.const 0 call $~lib/env/abort unreachable @@ -17509,7 +17584,7 @@ if i32.const 0 i32.const 104 - i32.const 438 + i32.const 441 i32.const 0 call $~lib/env/abort unreachable @@ -17526,7 +17601,7 @@ if i32.const 0 i32.const 104 - i32.const 439 + i32.const 442 i32.const 0 call $~lib/env/abort unreachable @@ -17542,7 +17617,7 @@ if i32.const 0 i32.const 104 - i32.const 441 + i32.const 444 i32.const 0 call $~lib/env/abort unreachable @@ -17570,7 +17645,7 @@ if i32.const 0 i32.const 104 - i32.const 454 + i32.const 457 i32.const 0 call $~lib/env/abort unreachable @@ -17587,7 +17662,7 @@ if i32.const 0 i32.const 104 - i32.const 455 + i32.const 458 i32.const 0 call $~lib/env/abort unreachable @@ -17612,7 +17687,7 @@ if i32.const 0 i32.const 104 - i32.const 464 + i32.const 467 i32.const 0 call $~lib/env/abort unreachable @@ -17629,7 +17704,7 @@ if i32.const 0 i32.const 104 - i32.const 473 + i32.const 476 i32.const 0 call $~lib/env/abort unreachable @@ -17646,7 +17721,7 @@ if i32.const 0 i32.const 104 - i32.const 474 + i32.const 477 i32.const 0 call $~lib/env/abort unreachable @@ -17663,7 +17738,7 @@ if i32.const 0 i32.const 104 - i32.const 477 + i32.const 480 i32.const 0 call $~lib/env/abort unreachable @@ -17692,7 +17767,7 @@ if i32.const 0 i32.const 104 - i32.const 491 + i32.const 494 i32.const 0 call $~lib/env/abort unreachable @@ -17709,7 +17784,7 @@ if i32.const 0 i32.const 104 - i32.const 492 + i32.const 495 i32.const 0 call $~lib/env/abort unreachable @@ -17738,7 +17813,7 @@ if i32.const 0 i32.const 104 - i32.const 501 + i32.const 504 i32.const 0 call $~lib/env/abort unreachable @@ -17755,7 +17830,7 @@ if i32.const 0 i32.const 104 - i32.const 502 + i32.const 505 i32.const 0 call $~lib/env/abort unreachable @@ -17773,7 +17848,7 @@ if i32.const 0 i32.const 104 - i32.const 511 + i32.const 514 i32.const 0 call $~lib/env/abort unreachable @@ -17790,7 +17865,7 @@ if i32.const 0 i32.const 104 - i32.const 512 + i32.const 515 i32.const 0 call $~lib/env/abort unreachable @@ -17808,7 +17883,7 @@ if i32.const 0 i32.const 104 - i32.const 519 + i32.const 522 i32.const 0 call $~lib/env/abort unreachable @@ -17838,7 +17913,7 @@ if i32.const 0 i32.const 104 - i32.const 534 + i32.const 537 i32.const 0 call $~lib/env/abort unreachable @@ -17855,7 +17930,7 @@ if i32.const 0 i32.const 104 - i32.const 535 + i32.const 538 i32.const 0 call $~lib/env/abort unreachable @@ -17884,7 +17959,7 @@ if i32.const 0 i32.const 104 - i32.const 543 + i32.const 546 i32.const 0 call $~lib/env/abort unreachable @@ -17902,7 +17977,7 @@ if i32.const 0 i32.const 104 - i32.const 552 + i32.const 555 i32.const 0 call $~lib/env/abort unreachable @@ -17919,7 +17994,7 @@ if i32.const 0 i32.const 104 - i32.const 553 + i32.const 556 i32.const 0 call $~lib/env/abort unreachable @@ -17937,7 +18012,7 @@ if i32.const 0 i32.const 104 - i32.const 560 + i32.const 563 i32.const 0 call $~lib/env/abort unreachable @@ -17967,7 +18042,7 @@ if i32.const 0 i32.const 104 - i32.const 575 + i32.const 578 i32.const 0 call $~lib/env/abort unreachable @@ -17984,7 +18059,7 @@ if i32.const 0 i32.const 104 - i32.const 576 + i32.const 579 i32.const 0 call $~lib/env/abort unreachable @@ -18009,7 +18084,7 @@ if i32.const 0 i32.const 104 - i32.const 584 + i32.const 587 i32.const 0 call $~lib/env/abort unreachable @@ -18026,7 +18101,7 @@ if i32.const 0 i32.const 104 - i32.const 588 + i32.const 591 i32.const 0 call $~lib/env/abort unreachable @@ -18045,7 +18120,7 @@ if i32.const 0 i32.const 104 - i32.const 591 + i32.const 594 i32.const 0 call $~lib/env/abort unreachable @@ -18064,7 +18139,7 @@ if i32.const 0 i32.const 104 - i32.const 594 + i32.const 597 i32.const 0 call $~lib/env/abort unreachable @@ -18081,7 +18156,7 @@ if i32.const 0 i32.const 104 - i32.const 602 + i32.const 605 i32.const 0 call $~lib/env/abort unreachable @@ -18098,7 +18173,7 @@ if i32.const 0 i32.const 104 - i32.const 603 + i32.const 606 i32.const 0 call $~lib/env/abort unreachable @@ -18115,7 +18190,7 @@ if i32.const 0 i32.const 104 - i32.const 605 + i32.const 608 i32.const 0 call $~lib/env/abort unreachable @@ -18144,7 +18219,7 @@ if i32.const 0 i32.const 104 - i32.const 618 + i32.const 621 i32.const 0 call $~lib/env/abort unreachable @@ -18161,7 +18236,7 @@ if i32.const 0 i32.const 104 - i32.const 619 + i32.const 622 i32.const 0 call $~lib/env/abort unreachable @@ -18186,7 +18261,7 @@ if i32.const 0 i32.const 104 - i32.const 627 + i32.const 630 i32.const 0 call $~lib/env/abort unreachable @@ -18203,7 +18278,7 @@ if i32.const 0 i32.const 104 - i32.const 631 + i32.const 634 i32.const 0 call $~lib/env/abort unreachable @@ -18222,7 +18297,7 @@ if i32.const 0 i32.const 104 - i32.const 634 + i32.const 637 i32.const 0 call $~lib/env/abort unreachable @@ -18241,7 +18316,7 @@ if i32.const 0 i32.const 104 - i32.const 637 + i32.const 640 i32.const 0 call $~lib/env/abort unreachable @@ -18258,7 +18333,7 @@ if i32.const 0 i32.const 104 - i32.const 645 + i32.const 648 i32.const 0 call $~lib/env/abort unreachable @@ -18275,7 +18350,7 @@ if i32.const 0 i32.const 104 - i32.const 646 + i32.const 649 i32.const 0 call $~lib/env/abort unreachable @@ -18292,7 +18367,7 @@ if i32.const 0 i32.const 104 - i32.const 648 + i32.const 651 i32.const 0 call $~lib/env/abort unreachable @@ -18321,7 +18396,7 @@ if i32.const 0 i32.const 104 - i32.const 661 + i32.const 664 i32.const 0 call $~lib/env/abort unreachable @@ -18338,7 +18413,7 @@ if i32.const 0 i32.const 104 - i32.const 662 + i32.const 665 i32.const 0 call $~lib/env/abort unreachable @@ -18371,14 +18446,14 @@ end drop get_global $std/array/f32ArrayTyped - i32.const 2040 + i32.const 2160 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 749 + i32.const 752 i32.const 0 call $~lib/env/abort unreachable @@ -18392,14 +18467,14 @@ end drop get_global $std/array/f64ArrayTyped - i32.const 2312 + i32.const 2432 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 753 + i32.const 756 i32.const 0 call $~lib/env/abort unreachable @@ -18413,14 +18488,14 @@ end drop get_global $std/array/i32ArrayTyped - i32.const 2392 + i32.const 2512 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 757 + i32.const 760 i32.const 0 call $~lib/env/abort unreachable @@ -18434,14 +18509,14 @@ end drop get_global $std/array/u32ArrayTyped - i32.const 2472 + i32.const 2592 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 761 + i32.const 764 i32.const 0 call $~lib/env/abort unreachable @@ -18466,14 +18541,14 @@ get_global $std/array/reversed1 call $std/array/assertSortedDefault get_global $std/array/reversed1 - i32.const 2640 + i32.const 2760 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 781 + i32.const 784 i32.const 0 call $~lib/env/abort unreachable @@ -18481,14 +18556,14 @@ get_global $std/array/reversed2 call $std/array/assertSortedDefault get_global $std/array/reversed2 - i32.const 2664 + i32.const 2784 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 784 + i32.const 787 i32.const 0 call $~lib/env/abort unreachable @@ -18503,7 +18578,7 @@ if i32.const 0 i32.const 104 - i32.const 787 + i32.const 790 i32.const 0 call $~lib/env/abort unreachable @@ -18518,7 +18593,7 @@ if i32.const 0 i32.const 104 - i32.const 790 + i32.const 793 i32.const 0 call $~lib/env/abort unreachable @@ -18533,7 +18608,7 @@ if i32.const 0 i32.const 104 - i32.const 793 + i32.const 796 i32.const 0 call $~lib/env/abort unreachable @@ -18548,7 +18623,7 @@ if i32.const 0 i32.const 104 - i32.const 796 + i32.const 799 i32.const 0 call $~lib/env/abort unreachable @@ -18563,7 +18638,7 @@ if i32.const 0 i32.const 104 - i32.const 799 + i32.const 802 i32.const 0 call $~lib/env/abort unreachable @@ -18611,7 +18686,7 @@ if i32.const 0 i32.const 104 - i32.const 828 + i32.const 831 i32.const 0 call $~lib/env/abort unreachable @@ -18622,86 +18697,86 @@ get_global $std/array/randomStrings400 i32.const 55 call $std/array/assertSorted - i32.const 3040 - i32.const 3016 + i32.const 3160 + i32.const 3136 call $~lib/array/Array#join - i32.const 3048 + i32.const 3168 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 837 + i32.const 840 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3672 - i32.const 2704 + i32.const 3792 + i32.const 2824 call $~lib/array/Array#join - i32.const 3680 + i32.const 3800 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 838 + i32.const 841 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3776 - i32.const 3736 + i32.const 3896 + i32.const 3856 call $~lib/array/Array#join - i32.const 3680 + i32.const 3800 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 839 + i32.const 842 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3832 - i32.const 3808 + i32.const 3952 + i32.const 3928 call $~lib/array/Array#join - i32.const 3840 + i32.const 3960 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 840 + i32.const 843 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5488 - i32.const 3968 + i32.const 5608 + i32.const 4088 call $~lib/array/Array#join - i32.const 5496 + i32.const 5616 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 841 + i32.const 844 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5664 - i32.const 2704 + i32.const 5784 + i32.const 2824 call $~lib/array/Array#join - i32.const 5584 + i32.const 5704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 842 + i32.const 845 i32.const 0 call $~lib/env/abort unreachable @@ -18729,15 +18804,15 @@ end set_global $std/array/refArr get_global $std/array/refArr - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join - i32.const 5712 + i32.const 5832 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 844 + i32.const 847 i32.const 0 call $~lib/env/abort unreachable @@ -18746,16 +18821,16 @@ get_global $std/array/reversed0 set_local $3 get_local $3 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join end - i32.const 2704 + i32.const 2824 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 848 + i32.const 851 i32.const 0 call $~lib/env/abort unreachable @@ -18764,16 +18839,16 @@ get_global $std/array/reversed1 set_local $3 get_local $3 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join end - i32.const 5584 + i32.const 5704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 849 + i32.const 852 i32.const 0 call $~lib/env/abort unreachable @@ -18782,16 +18857,16 @@ get_global $std/array/reversed2 set_local $3 get_local $3 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join end - i32.const 5784 + i32.const 5904 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 850 + i32.const 853 i32.const 0 call $~lib/env/abort unreachable @@ -18800,88 +18875,88 @@ get_global $std/array/reversed4 set_local $3 get_local $3 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join end - i32.const 5800 + i32.const 5920 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 851 + i32.const 854 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 5864 + i32.const 5984 set_local $3 get_local $3 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join end - i32.const 5872 + i32.const 5992 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 853 + i32.const 856 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 5928 + i32.const 6048 set_local $3 get_local $3 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join end - i32.const 5936 + i32.const 6056 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 854 + i32.const 857 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6552 + i32.const 6672 set_local $3 get_local $3 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join end - i32.const 6560 + i32.const 6680 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 855 + i32.const 858 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6752 + i32.const 6872 set_local $3 get_local $3 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join end - i32.const 6760 + i32.const 6880 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 856 + i32.const 859 i32.const 0 call $~lib/env/abort unreachable @@ -18890,34 +18965,34 @@ get_global $std/array/randomStringsExpected set_local $3 get_local $3 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join end - i32.const 6848 + i32.const 6968 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 857 + i32.const 860 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.3 (result i32) - i32.const 6968 + i32.const 7088 set_local $3 get_local $3 - i32.const 3016 + i32.const 3136 call $~lib/array/Array#join end - i32.const 6976 + i32.const 7096 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 858 + i32.const 861 i32.const 0 call $~lib/env/abort unreachable @@ -18926,16 +19001,16 @@ get_global $std/array/subarr32 set_local $3 get_local $3 - i32.const 3016 + i32.const 3136 call $~lib/array/Array>#join end - i32.const 7064 + i32.const 7184 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 861 + i32.const 864 i32.const 0 call $~lib/env/abort unreachable @@ -18944,16 +19019,16 @@ get_global $std/array/subarr8 set_local $3 get_local $3 - i32.const 3016 + i32.const 3136 call $~lib/array/Array>#join end - i32.const 7064 + i32.const 7184 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 864 + i32.const 867 i32.const 0 call $~lib/env/abort unreachable @@ -18962,16 +19037,16 @@ get_global $std/array/subarrU32 set_local $3 get_local $3 - i32.const 3016 + i32.const 3136 call $~lib/array/Array>>#join end - i32.const 5584 + i32.const 5704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 867 + i32.const 870 i32.const 0 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/gc-array.optimized.wat b/tests/compiler/std/gc-array.optimized.wat index 5998a907ed..ad99c9cddc 100644 --- a/tests/compiler/std/gc-array.optimized.wat +++ b/tests/compiler/std/gc-array.optimized.wat @@ -1900,7 +1900,7 @@ if i32.const 0 i32.const 72 - i32.const 109 + i32.const 111 i32.const 41 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/gc-array.untouched.wat b/tests/compiler/std/gc-array.untouched.wat index b4d953e084..35fcf0f9fe 100644 --- a/tests/compiler/std/gc-array.untouched.wat +++ b/tests/compiler/std/gc-array.untouched.wat @@ -2430,7 +2430,7 @@ if i32.const 0 i32.const 72 - i32.const 109 + i32.const 111 i32.const 41 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/static-array.untouched.wat b/tests/compiler/std/static-array.untouched.wat index bc73ca8be5..39ac9d1272 100644 --- a/tests/compiler/std/static-array.untouched.wat +++ b/tests/compiler/std/static-array.untouched.wat @@ -1996,7 +1996,7 @@ if i32.const 0 i32.const 184 - i32.const 109 + i32.const 111 i32.const 41 call $~lib/env/abort unreachable @@ -2069,7 +2069,7 @@ if i32.const 0 i32.const 184 - i32.const 109 + i32.const 111 i32.const 41 call $~lib/env/abort unreachable @@ -2142,7 +2142,7 @@ if i32.const 0 i32.const 184 - i32.const 109 + i32.const 111 i32.const 41 call $~lib/env/abort unreachable @@ -2215,7 +2215,7 @@ if i32.const 0 i32.const 184 - i32.const 109 + i32.const 111 i32.const 41 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index e6f6bfdd61..33b22ac9b7 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -3325,9 +3325,9 @@ get_local $0 i32.const 2 i32.shl - tee_local $3 + tee_local $2 call $~lib/internal/arraybuffer/allocateUnsafe - set_local $2 + set_local $3 i32.const 8 call $~lib/allocator/arena/__memory_allocate tee_local $1 @@ -3337,16 +3337,19 @@ i32.const 0 i32.store offset=4 get_local $1 - get_local $2 + get_local $3 i32.store get_local $1 get_local $0 i32.store offset=4 get_local $2 - i32.const 8 - i32.add - get_local $3 - call $~lib/internal/memory/memset + if + get_local $3 + i32.const 8 + i32.add + get_local $2 + call $~lib/internal/memory/memset + end get_local $1 ) (func $~lib/internal/arraybuffer/reallocateUnsafe (; 36 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) @@ -3465,7 +3468,7 @@ if i32.const 0 i32.const 976 - i32.const 184 + i32.const 186 i32.const 42 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index ef7560969d..8f50ce7b39 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -4139,16 +4139,19 @@ get_local $0 get_local $1 i32.store offset=4 - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 get_local $2 - call $~lib/internal/memory/memset + if + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 + get_local $2 + call $~lib/internal/memory/memset + end get_local $0 ) (func $~lib/array/Array#__unchecked_set (; 39 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) @@ -4304,7 +4307,7 @@ if i32.const 0 i32.const 976 - i32.const 184 + i32.const 186 i32.const 42 call $~lib/env/abort unreachable From c7153c03a564ecbb9787d3184854485b7ef7e3c1 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Tue, 27 Nov 2018 16:01:09 +0200 Subject: [PATCH 3/9] more tests & fixes (wip) --- std/assembly/array.ts | 25 +- tests/compiler/std/array.optimized.wat | 1331 +++++++++++++----------- tests/compiler/std/array.ts | 8 + tests/compiler/std/array.untouched.wat | 991 ++++++++++-------- 4 files changed, 1271 insertions(+), 1084 deletions(-) diff --git a/std/assembly/array.ts b/std/assembly/array.ts index a3e4883bc5..ae8b85abbe 100644 --- a/std/assembly/array.ts +++ b/std/assembly/array.ts @@ -372,25 +372,28 @@ export class Array { } splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array { - if (deleteCount < 1) return new Array(); + // if (deleteCount < 1) return new Array(); var length = this.length_; - if (start < 0) start = max(length + start, 0); - if (start >= length) return new Array(); - deleteCount = min(deleteCount, length - start); + var actualStart = start < 0 ? max(length + start, 0) : min(start, length); + deleteCount = min(deleteCount, length - actualStart); var buffer = this.buffer_; var spliced = new Array(deleteCount); - var source = changetype(buffer) + HEADER_SIZE + (start << alignof()); + var source = changetype(buffer) + HEADER_SIZE + (actualStart << alignof()); memory.copy( changetype(spliced.buffer_) + HEADER_SIZE, source, deleteCount << alignof() ); - memory.copy( - source, - changetype(buffer) + HEADER_SIZE + ((start + deleteCount) << alignof()), - (length - deleteCount) << alignof() - ); - this.length_ = length - deleteCount; + var newLength = length - deleteCount; + var offset = start + deleteCount; + if (newLength != 0 && offset != 0) { + memory.copy( + source, + changetype(buffer) + HEADER_SIZE + (offset << alignof()), + newLength << alignof() + ); + } + this.length_ = newLength; return spliced; } diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index f6137f77ff..c4321f4d1a 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -123,163 +123,175 @@ (data (i32.const 1768) "\d8\06\00\00\01") (data (i32.const 1776) "\10\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") (data (i32.const 1808) "\f0\06\00\00\04") - (data (i32.const 1816) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 1848) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?") - (data (i32.const 2024) " ") - (data (i32.const 2034) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") - (data (i32.const 2088) "\e8\07\00\00\08") - (data (i32.const 2096) " ") - (data (i32.const 2106) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") - (data (i32.const 2160) "0\08\00\00\08") - (data (i32.const 2168) "@") - (data (i32.const 2182) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") - (data (i32.const 2222) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") - (data (i32.const 2296) "x\08\00\00\08") - (data (i32.const 2304) "@") - (data (i32.const 2318) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") - (data (i32.const 2350) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") - (data (i32.const 2433) "\t\00\00\08") - (data (i32.const 2440) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") - (data (i32.const 2472) "\88\t\00\00\05") - (data (i32.const 2480) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") - (data (i32.const 2512) "\b0\t\00\00\05") - (data (i32.const 2520) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") - (data (i32.const 2552) "\d8\t\00\00\05") - (data (i32.const 2560) "\14") - (data (i32.const 2572) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 2593) "\n\00\00\05") - (data (i32.const 2608) "(\n") - (data (i32.const 2616) "\04\00\00\00\00\00\00\00\01") - (data (i32.const 2632) "8\n\00\00\01") - (data (i32.const 2640) "\08\00\00\00\00\00\00\00\02\00\00\00\01") - (data (i32.const 2656) "P\n\00\00\02") - (data (i32.const 2664) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") - (data (i32.const 2696) "h\n\00\00\04") - (data (i32.const 2704) "\10") - (data (i32.const 2716) "\01\00\00\00\02\00\00\00\03") - (data (i32.const 2736) "\90\n\00\00\04") - (data (i32.const 2744) "\04\00\00\00\00\00\00\00\01") - (data (i32.const 2760) "\b8\n\00\00\01") - (data (i32.const 2768) "\08\00\00\00\00\00\00\00\01\00\00\00\02") - (data (i32.const 2784) "\d0\n\00\00\02") - (data (i32.const 2792) "\01\00\00\00a") - (data (i32.const 2800) "\01\00\00\00b") - (data (i32.const 2808) "\02\00\00\00a\00b") - (data (i32.const 2816) "\02\00\00\00b\00a") - (data (i32.const 2832) "\1c\00\00\00\00\00\00\00\e8\n\00\00\f0\n\00\00\e8\n\00\00\f8\n\00\00\00\0b\00\00\08\0b") - (data (i32.const 2896) "\10\0b\00\00\07") - (data (i32.const 2904) "\1c\00\00\00\00\00\00\00\08\0b\00\00\e8\n\00\00\e8\n\00\00\f8\n\00\00\f0\n\00\00\00\0b") - (data (i32.const 2968) "X\0b\00\00\07") - (data (i32.const 2976) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 3008) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 3064) "\04\00\00\00n\00u\00l\00l") - (data (i32.const 3080) "\02\00\00\00\00\00\00\00\01") - (data (i32.const 3096) "\08\0c\00\00\02") - (data (i32.const 3104) "\04\00\00\00t\00r\00u\00e") - (data (i32.const 3120) "\05\00\00\00f\00a\00l\00s\00e") - (data (i32.const 3136) "\01\00\00\00,") - (data (i32.const 3144) "\02\00\00\00\00\00\00\00\01") - (data (i32.const 3160) "H\0c\00\00\02") - (data (i32.const 3168) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") - (data (i32.const 3192) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 3224) "x\0c\00\00\03") - (data (i32.const 3232) "\01\00\00\000") - (data (i32.const 3240) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 3752) "\a8\0c\00\00d") - (data (i32.const 3760) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 3792) "\b0\0e\00\00\03") - (data (i32.const 3800) "\05\00\00\001\00-\002\00-\003") - (data (i32.const 3816) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 3848) "\e8\0e\00\00\03") - (data (i32.const 3856) "\01\00\00\00-") - (data (i32.const 3864) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 3896) "\18\0f\00\00\03") - (data (i32.const 3904) "\08") - (data (i32.const 3915) "\80\00\00\00\80") - (data (i32.const 3920) "@\0f\00\00\02") - (data (i32.const 3928) "\02\00\00\00_\00_") - (data (i32.const 3936) "\08") - (data (i32.const 3947) "\80\00\00\00\80") - (data (i32.const 3952) "`\0f\00\00\02") - (data (i32.const 3960) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 4016) "0") - (data (i32.const 4038) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") - (data (i32.const 4080) "\b0\0f\00\00\06") - (data (i32.const 4088) "\02\00\00\00,\00 ") - (data (i32.const 4096) "\03\00\00\000\00.\000") - (data (i32.const 4112) "\03\00\00\00N\00a\00N") - (data (i32.const 4128) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4152) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4176) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00*\00&\00$\00%\00^\00@\00#\00!\00?") + (data (i32.const 2232) " ") + (data (i32.const 2242) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") + (data (i32.const 2296) "\b8\08\00\00\08") + (data (i32.const 2304) " ") + (data (i32.const 2314) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") + (data (i32.const 2369) "\t\00\00\08") + (data (i32.const 2376) "@") + (data (i32.const 2390) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") + (data (i32.const 2430) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") + (data (i32.const 2504) "H\t\00\00\08") + (data (i32.const 2512) "@") + (data (i32.const 2526) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") + (data (i32.const 2558) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") + (data (i32.const 2640) "\d0\t\00\00\08") + (data (i32.const 2648) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") + (data (i32.const 2680) "X\n\00\00\05") + (data (i32.const 2688) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") + (data (i32.const 2720) "\80\n\00\00\05") + (data (i32.const 2728) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") + (data (i32.const 2760) "\a8\n\00\00\05") + (data (i32.const 2768) "\14") + (data (i32.const 2780) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 2800) "\d0\n\00\00\05") + (data (i32.const 2816) "\f8\n") + (data (i32.const 2824) "\04\00\00\00\00\00\00\00\01") + (data (i32.const 2840) "\08\0b\00\00\01") + (data (i32.const 2848) "\08\00\00\00\00\00\00\00\02\00\00\00\01") + (data (i32.const 2864) " \0b\00\00\02") + (data (i32.const 2872) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") + (data (i32.const 2904) "8\0b\00\00\04") + (data (i32.const 2912) "\10") + (data (i32.const 2924) "\01\00\00\00\02\00\00\00\03") + (data (i32.const 2944) "`\0b\00\00\04") + (data (i32.const 2952) "\04\00\00\00\00\00\00\00\01") + (data (i32.const 2968) "\88\0b\00\00\01") + (data (i32.const 2976) "\08\00\00\00\00\00\00\00\01\00\00\00\02") + (data (i32.const 2992) "\a0\0b\00\00\02") + (data (i32.const 3000) "\01\00\00\00a") + (data (i32.const 3008) "\01\00\00\00b") + (data (i32.const 3016) "\02\00\00\00a\00b") + (data (i32.const 3024) "\02\00\00\00b\00a") + (data (i32.const 3040) "\1c\00\00\00\00\00\00\00\b8\0b\00\00\c0\0b\00\00\b8\0b\00\00\c8\0b\00\00\d0\0b\00\00\d8\0b") + (data (i32.const 3104) "\e0\0b\00\00\07") + (data (i32.const 3112) "\1c\00\00\00\00\00\00\00\d8\0b\00\00\b8\0b\00\00\b8\0b\00\00\c8\0b\00\00\c0\0b\00\00\d0\0b") + (data (i32.const 3176) "(\0c\00\00\07") + (data (i32.const 3184) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 3216) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 3272) "\04\00\00\00n\00u\00l\00l") + (data (i32.const 3288) "\02\00\00\00\00\00\00\00\01") + (data (i32.const 3304) "\d8\0c\00\00\02") + (data (i32.const 3312) "\04\00\00\00t\00r\00u\00e") + (data (i32.const 3328) "\05\00\00\00f\00a\00l\00s\00e") + (data (i32.const 3344) "\01\00\00\00,") + (data (i32.const 3352) "\02\00\00\00\00\00\00\00\01") + (data (i32.const 3368) "\18\0d\00\00\02") + (data (i32.const 3376) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") + (data (i32.const 3400) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 3432) "H\0d\00\00\03") + (data (i32.const 3440) "\01\00\00\000") + (data (i32.const 3448) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data (i32.const 3960) "x\0d\00\00d") + (data (i32.const 3968) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 4000) "\80\0f\00\00\03") + (data (i32.const 4008) "\05\00\00\001\00-\002\00-\003") + (data (i32.const 4024) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 4056) "\b8\0f\00\00\03") + (data (i32.const 4064) "\01\00\00\00-") + (data (i32.const 4072) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 4104) "\e8\0f\00\00\03") + (data (i32.const 4112) "\08") + (data (i32.const 4123) "\80\00\00\00\80") + (data (i32.const 4128) "\10\10\00\00\02") + (data (i32.const 4136) "\02\00\00\00_\00_") + (data (i32.const 4144) "\08") + (data (i32.const 4155) "\80\00\00\00\80") + (data (i32.const 4160) "0\10\00\00\02") + (data (i32.const 4168) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") + (data (i32.const 4224) "0") + (data (i32.const 4246) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") + (data (i32.const 4288) "\80\10\00\00\06") + (data (i32.const 4296) "\02\00\00\00,\00 ") + (data (i32.const 4304) "\03\00\00\000\00.\000") + (data (i32.const 4320) "\03\00\00\00N\00a\00N") + (data (i32.const 4336) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 4360) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 4384) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#sort|trampoline~anonymous|43 $~lib/array/Array#sort|trampoline~anonymous|44 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|46 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|45 $start~anonymous|49 $~lib/array/Array#sort|trampoline~anonymous|45 $start~anonymous|49 $start~anonymous|52 $start~anonymous|53 $start~anonymous|54 $start~anonymous|54) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -312,15 +324,15 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 2088)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 2296)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 2472)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 2552)) - (global $std/array/reversed0 (mut i32) (i32.const 2608)) - (global $std/array/reversed1 (mut i32) (i32.const 2632)) - (global $std/array/reversed2 (mut i32) (i32.const 2656)) - (global $std/array/reversed4 (mut i32) (i32.const 2696)) - (global $std/array/expected4 (mut i32) (i32.const 2736)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 2296)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 2504)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 2680)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 2760)) + (global $std/array/reversed0 (mut i32) (i32.const 2816)) + (global $std/array/reversed1 (mut i32) (i32.const 2840)) + (global $std/array/reversed2 (mut i32) (i32.const 2864)) + (global $std/array/reversed4 (mut i32) (i32.const 2904)) + (global $std/array/expected4 (mut i32) (i32.const 2944)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -330,13 +342,13 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 2896)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 2968)) + (global $std/array/randomStringsActual (mut i32) (i32.const 3104)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 3176)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $std/array/refArr (mut i32) (i32.const 0)) - (global $std/array/subarr32 (mut i32) (i32.const 7176)) - (global $std/array/subarr8 (mut i32) (i32.const 7272)) - (global $std/array/subarrU32 (mut i32) (i32.const 7344)) + (global $std/array/subarr32 (mut i32) (i32.const 7384)) + (global $std/array/subarr8 (mut i32) (i32.const 7480)) + (global $std/array/subarrU32 (mut i32) (i32.const 7552)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -2850,21 +2862,14 @@ (local $4 i32) (local $5 i32) (local $6 i32) - get_local $2 - i32.const 1 - i32.lt_s - if - i32.const 0 - call $~lib/array/Array#constructor - return - end + (local $7 i32) get_local $0 i32.load offset=4 set_local $4 get_local $1 i32.const 0 i32.lt_s - if + if (result i32) get_local $4 get_local $1 i32.add @@ -2874,23 +2879,22 @@ i32.const 0 i32.gt_s select - set_local $1 - end - get_local $1 - get_local $4 - i32.ge_s - if - i32.const 0 - call $~lib/array/Array#constructor - return + else + get_local $1 + get_local $4 + get_local $1 + get_local $4 + i32.lt_s + select end + set_local $5 get_local $0 i32.load - set_local $5 + set_local $6 get_local $2 tee_local $3 get_local $4 - get_local $1 + get_local $5 i32.sub tee_local $2 get_local $3 @@ -2899,45 +2903,80 @@ select tee_local $2 call $~lib/array/Array#constructor - tee_local $3 + tee_local $7 i32.load i32.const 8 i32.add - get_local $5 + get_local $6 i32.const 8 i32.add - get_local $1 + get_local $5 i32.const 2 i32.shl i32.add - tee_local $6 + tee_local $5 get_local $2 i32.const 2 i32.shl call $~lib/internal/memory/memmove - get_local $6 - get_local $5 - i32.const 8 - i32.add get_local $1 get_local $2 i32.add - i32.const 2 - i32.shl - i32.add + set_local $1 get_local $4 get_local $2 i32.sub - tee_local $1 - i32.const 2 - i32.shl - call $~lib/internal/memory/memmove + tee_local $3 + i32.const 0 + i32.ne + tee_local $2 + if + get_local $1 + i32.const 0 + i32.ne + set_local $2 + end + get_local $2 + if + get_local $5 + get_local $6 + i32.const 8 + i32.add + get_local $1 + i32.const 2 + i32.shl + i32.add + get_local $3 + i32.const 2 + i32.shl + call $~lib/internal/memory/memmove + end get_local $0 - get_local $1 - i32.store offset=4 get_local $3 + i32.store offset=4 + get_local $7 ) - (func $~lib/array/Array#__set (; 25 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#splice|trampoline (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $1of1 + block $0of1 + block $outOfRange + get_global $~argc + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 2147483647 + set_local $2 + end + get_local $0 + get_local $1 + get_local $2 + call $~lib/array/Array#splice + ) + (func $~lib/array/Array#__set (; 26 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) get_local $1 @@ -2983,11 +3022,11 @@ get_local $2 i32.store offset=8 ) - (func $start~anonymous|1 (; 26 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|1 (; 27 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.eqz ) - (func $~lib/array/Array#findIndex (; 27 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#findIndex (; 28 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3043,17 +3082,17 @@ end i32.const -1 ) - (func $start~anonymous|2 (; 28 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|2 (; 29 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 1 i32.eq ) - (func $start~anonymous|3 (; 29 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|3 (; 30 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 100 i32.eq ) - (func $start~anonymous|4 (; 30 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|4 (; 31 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 i32.const 100 call $~lib/array/Array#push @@ -3062,7 +3101,7 @@ i32.const 100 i32.eq ) - (func $start~anonymous|6 (; 31 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|6 (; 32 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 call $~lib/array/Array#pop drop @@ -3070,12 +3109,12 @@ i32.const 100 i32.eq ) - (func $start~anonymous|7 (; 32 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|7 (; 33 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 0 i32.ge_s ) - (func $~lib/array/Array#every (; 33 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#every (; 34 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3131,12 +3170,12 @@ end i32.const 1 ) - (func $start~anonymous|8 (; 34 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|8 (; 35 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 0 i32.le_s ) - (func $start~anonymous|9 (; 35 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|9 (; 36 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 i32.const 100 call $~lib/array/Array#push @@ -3145,12 +3184,12 @@ i32.const 10 i32.lt_s ) - (func $start~anonymous|10 (; 36 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|10 (; 37 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 10 i32.lt_s ) - (func $start~anonymous|11 (; 37 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|11 (; 38 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 call $~lib/array/Array#pop drop @@ -3158,12 +3197,12 @@ i32.const 3 i32.lt_s ) - (func $start~anonymous|12 (; 38 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|12 (; 39 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 3 i32.ge_s ) - (func $~lib/array/Array#some (; 39 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#some (; 40 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3219,12 +3258,12 @@ end i32.const 0 ) - (func $start~anonymous|13 (; 40 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|13 (; 41 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const -1 i32.le_s ) - (func $start~anonymous|14 (; 41 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|14 (; 42 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 i32.const 100 call $~lib/array/Array#push @@ -3233,12 +3272,12 @@ i32.const 10 i32.gt_s ) - (func $start~anonymous|15 (; 42 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|15 (; 43 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 10 i32.gt_s ) - (func $start~anonymous|16 (; 43 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|16 (; 44 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 call $~lib/array/Array#pop drop @@ -3246,13 +3285,13 @@ i32.const 3 i32.gt_s ) - (func $start~anonymous|17 (; 44 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start~anonymous|17 (; 45 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) get_global $std/array/i get_local $0 i32.add set_global $std/array/i ) - (func $~lib/array/Array#forEach (; 45 ;) (type $iiv) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#forEach (; 46 ;) (type $iiv) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3301,7 +3340,7 @@ unreachable end ) - (func $start~anonymous|18 (; 46 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start~anonymous|18 (; 47 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) get_local $2 i32.const 100 call $~lib/array/Array#push @@ -3311,7 +3350,7 @@ i32.add set_global $std/array/i ) - (func $start~anonymous|20 (; 47 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start~anonymous|20 (; 48 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) get_local $2 call $~lib/array/Array#pop drop @@ -3320,11 +3359,11 @@ i32.add set_global $std/array/i ) - (func $start~anonymous|21 (; 48 ;) (type $iiif) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) + (func $start~anonymous|21 (; 49 ;) (type $iiif) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) get_local $0 f32.convert_s/i32 ) - (func $~lib/array/Array#map (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#map (; 50 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3381,7 +3420,7 @@ end get_local $5 ) - (func $start~anonymous|22 (; 50 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|22 (; 51 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 i32.const 100 call $~lib/array/Array#push @@ -3392,7 +3431,7 @@ set_global $std/array/i get_local $0 ) - (func $~lib/array/Array#map (; 51 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#map (; 52 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3454,14 +3493,14 @@ end get_local $6 ) - (func $start~anonymous|23 (; 52 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|23 (; 53 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_global $std/array/i get_local $0 i32.add set_global $std/array/i get_local $0 ) - (func $start~anonymous|24 (; 53 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|24 (; 54 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 call $~lib/array/Array#pop drop @@ -3471,12 +3510,12 @@ set_global $std/array/i get_local $0 ) - (func $start~anonymous|25 (; 54 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|25 (; 55 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 i32.const 2 i32.ge_s ) - (func $~lib/array/Array#filter (; 55 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#filter (; 56 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3538,7 +3577,7 @@ end get_local $4 ) - (func $start~anonymous|26 (; 56 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|26 (; 57 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 i32.const 100 call $~lib/array/Array#push @@ -3551,7 +3590,7 @@ i32.const 2 i32.ge_s ) - (func $start~anonymous|27 (; 57 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|27 (; 58 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_global $std/array/i get_local $0 i32.add @@ -3560,7 +3599,7 @@ i32.const 2 i32.ge_s ) - (func $start~anonymous|28 (; 58 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start~anonymous|28 (; 59 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $2 call $~lib/array/Array#pop drop @@ -3572,12 +3611,12 @@ i32.const 2 i32.ge_s ) - (func $start~anonymous|29 (; 59 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|29 (; 60 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $0 get_local $1 i32.add ) - (func $~lib/array/Array#reduce (; 60 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduce (; 61 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3629,7 +3668,7 @@ end get_local $2 ) - (func $start~anonymous|31 (; 61 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|31 (; 62 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $0 if (result i32) get_local $0 @@ -3639,7 +3678,7 @@ i32.gt_s end ) - (func $start~anonymous|32 (; 62 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|32 (; 63 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $0 if (result i32) get_local $0 @@ -3649,7 +3688,7 @@ i32.gt_s end ) - (func $start~anonymous|33 (; 63 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|33 (; 64 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $3 i32.const 1 call $~lib/array/Array#push @@ -3658,7 +3697,7 @@ get_local $1 i32.add ) - (func $start~anonymous|35 (; 64 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start~anonymous|35 (; 65 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) get_local $3 call $~lib/array/Array#pop drop @@ -3666,7 +3705,7 @@ get_local $1 i32.add ) - (func $~lib/array/Array#reduceRight (; 65 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduceRight (; 66 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) get_local $0 @@ -3708,7 +3747,7 @@ end get_local $2 ) - (func $~lib/math/splitMix32 (; 66 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/math/splitMix32 (; 67 ;) (type $ii) (param $0 i32) (result i32) get_local $0 i32.const 1831565813 i32.add @@ -3740,13 +3779,13 @@ i32.shr_u i32.xor ) - (func $~lib/math/NativeMath.seedRandom (; 67 ;) (type $Iv) (param $0 i64) + (func $~lib/math/NativeMath.seedRandom (; 68 ;) (type $Iv) (param $0 i64) (local $1 i64) get_local $0 i64.eqz if i32.const 0 - i32.const 1816 + i32.const 2024 i32.const 959 i32.const 4 call $~lib/env/abort @@ -3805,7 +3844,7 @@ call $~lib/math/splitMix32 set_global $~lib/math/random_state1_32 ) - (func $~lib/internal/array/insertionSort (; 68 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/array/insertionSort (; 69 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 f32) @@ -3885,7 +3924,7 @@ end end ) - (func $~lib/internal/array/weakHeapSort (; 69 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/array/weakHeapSort (; 70 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4151,7 +4190,7 @@ get_local $6 f32.store offset=8 ) - (func $~lib/array/Array#sort (; 70 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 71 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 f32) @@ -4161,7 +4200,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 412 i32.const 4 call $~lib/env/abort unreachable @@ -4227,7 +4266,7 @@ end get_local $0 ) - (func $~lib/array/Array#sort|trampoline~anonymous|43 (; 71 ;) (type $ffi) (param $0 f32) (param $1 f32) (result i32) + (func $~lib/array/Array#sort|trampoline~anonymous|43 (; 72 ;) (type $ffi) (param $0 f32) (param $1 f32) (result i32) (local $2 i32) (local $3 i32) get_local $0 @@ -4256,7 +4295,7 @@ i32.lt_s i32.sub ) - (func $std/array/isArraysEqual (; 72 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/isArraysEqual (; 73 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 f32) @@ -4266,7 +4305,7 @@ get_local $0 i32.load offset=4 tee_local $5 - i32.const 2164 + i32.const 2372 i32.load i32.ne if @@ -4274,7 +4313,7 @@ return end get_local $0 - i32.const 2160 + i32.const 2368 i32.eq if i32.const 1 @@ -4311,7 +4350,7 @@ f32.ne set_local $4 get_local $1 - i32.const 2160 + i32.const 2368 i32.load tee_local $2 i32.load @@ -4356,7 +4395,7 @@ end set_local $3 get_local $1 - i32.const 2160 + i32.const 2368 i32.load tee_local $2 i32.load @@ -4391,7 +4430,7 @@ end i32.const 1 ) - (func $~lib/internal/array/insertionSort (; 73 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/array/insertionSort (; 74 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 f64) @@ -4471,7 +4510,7 @@ end end ) - (func $~lib/internal/array/weakHeapSort (; 74 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/array/weakHeapSort (; 75 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4737,7 +4776,7 @@ get_local $6 f64.store offset=8 ) - (func $~lib/array/Array#sort (; 75 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 76 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 f64) @@ -4747,7 +4786,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 412 i32.const 4 call $~lib/env/abort unreachable @@ -4813,7 +4852,7 @@ end get_local $0 ) - (func $~lib/array/Array#sort|trampoline~anonymous|44 (; 76 ;) (type $FFi) (param $0 f64) (param $1 f64) (result i32) + (func $~lib/array/Array#sort|trampoline~anonymous|44 (; 77 ;) (type $FFi) (param $0 f64) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) get_local $0 @@ -4842,7 +4881,7 @@ i64.lt_s i32.sub ) - (func $std/array/isArraysEqual (; 77 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $std/array/isArraysEqual (; 78 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 f64) @@ -4852,7 +4891,7 @@ get_local $0 i32.load offset=4 tee_local $5 - i32.const 2436 + i32.const 2644 i32.load i32.ne if @@ -4860,7 +4899,7 @@ return end get_local $0 - i32.const 2432 + i32.const 2640 i32.eq if i32.const 1 @@ -4897,7 +4936,7 @@ f64.ne set_local $4 get_local $1 - i32.const 2432 + i32.const 2640 i32.load tee_local $2 i32.load @@ -4942,7 +4981,7 @@ end set_local $3 get_local $1 - i32.const 2432 + i32.const 2640 i32.load tee_local $2 i32.load @@ -4977,7 +5016,7 @@ end i32.const 1 ) - (func $~lib/internal/array/insertionSort (; 78 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/array/insertionSort (; 79 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5059,7 +5098,7 @@ end end ) - (func $~lib/internal/array/weakHeapSort (; 79 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/array/weakHeapSort (; 80 ;) (type $FUNCSIG$viii) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5325,7 +5364,7 @@ get_local $1 i32.store offset=8 ) - (func $~lib/array/Array#sort (; 80 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 81 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5334,7 +5373,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 412 i32.const 4 call $~lib/env/abort unreachable @@ -5400,12 +5439,12 @@ end get_local $0 ) - (func $~lib/array/Array#sort|trampoline~anonymous|45 (; 81 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline~anonymous|45 (; 82 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 get_local $1 i32.sub ) - (func $~lib/array/Array#sort|trampoline~anonymous|46 (; 82 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline~anonymous|46 (; 83 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 get_local $1 i32.gt_u @@ -5414,7 +5453,7 @@ i32.lt_u i32.sub ) - (func $std/array/createReverseOrderedArray (; 83 ;) (type $ii) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedArray (; 84 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) get_local $0 call $~lib/array/Array#constructor @@ -5448,14 +5487,14 @@ end get_local $1 ) - (func $~lib/math/NativeMath.random (; 84 ;) (type $F) (result f64) + (func $~lib/math/NativeMath.random (; 85 ;) (type $F) (result f64) (local $0 i64) (local $1 i64) get_global $~lib/math/random_seeded i32.eqz if i32.const 0 - i32.const 1816 + i32.const 2024 i32.const 968 i32.const 24 call $~lib/env/abort @@ -5495,7 +5534,7 @@ f64.const 1 f64.sub ) - (func $std/array/createRandomOrderedArray (; 85 ;) (type $ii) (param $0 i32) (result i32) + (func $std/array/createRandomOrderedArray (; 86 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) get_local $0 call $~lib/array/Array#constructor @@ -5527,7 +5566,7 @@ end get_local $0 ) - (func $std/array/isSorted (; 86 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted (; 87 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5610,7 +5649,7 @@ end i32.const 1 ) - (func $std/array/assertSorted (; 87 ;) (type $iiv) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted (; 88 ;) (type $iiv) (param $0 i32) (param $1 i32) get_local $0 get_local $1 call $~lib/array/Array#sort @@ -5620,23 +5659,23 @@ if i32.const 0 i32.const 104 - i32.const 741 + i32.const 749 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/array/assertSortedDefault (; 88 ;) (type $iv) (param $0 i32) + (func $std/array/assertSortedDefault (; 89 ;) (type $iv) (param $0 i32) get_local $0 i32.const 47 call $std/array/assertSorted ) - (func $start~anonymous|49 (; 89 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $start~anonymous|49 (; 90 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $1 get_local $0 i32.sub ) - (func $std/array/createReverseOrderedNestedArray (; 90 ;) (type $FUNCSIG$i) (result i32) + (func $std/array/createReverseOrderedNestedArray (; 91 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -5690,7 +5729,7 @@ end get_local $1 ) - (func $start~anonymous|52 (; 91 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $start~anonymous|52 (; 92 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) i32.const 0 get_local $0 @@ -5727,7 +5766,7 @@ get_local $0 i32.sub ) - (func $~lib/array/Array>#sort (; 92 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#sort (; 93 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5736,7 +5775,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 412 i32.const 4 call $~lib/env/abort unreachable @@ -5792,7 +5831,7 @@ call $~lib/internal/array/insertionSort get_local $0 ) - (func $std/array/assertSorted> (; 93 ;) (type $iiv) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted> (; 94 ;) (type $iiv) (param $0 i32) (param $1 i32) get_local $0 get_local $1 call $~lib/array/Array>#sort @@ -5802,13 +5841,13 @@ if i32.const 0 i32.const 104 - i32.const 741 + i32.const 749 i32.const 2 call $~lib/env/abort unreachable end ) - (func $std/array/createReverseOrderedElementsArray (; 94 ;) (type $FUNCSIG$i) (result i32) + (func $std/array/createReverseOrderedElementsArray (; 95 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -5848,14 +5887,14 @@ end get_local $0 ) - (func $start~anonymous|53 (; 95 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $start~anonymous|53 (; 96 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 i32.load get_local $1 i32.load i32.sub ) - (func $~lib/internal/string/compareUnsafe (; 96 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/internal/string/compareUnsafe (; 97 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) get_local $0 @@ -5892,7 +5931,7 @@ end get_local $4 ) - (func $~lib/string/String.__gt (; 97 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gt (; 98 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) get_local $0 @@ -5946,7 +5985,7 @@ i32.const 0 i32.gt_s ) - (func $~lib/string/String.__lt (; 98 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__lt (; 99 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) get_local $0 @@ -6000,7 +6039,7 @@ i32.const 0 i32.lt_s ) - (func $start~anonymous|54 (; 99 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $start~anonymous|54 (; 100 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 get_local $1 call $~lib/string/String.__gt @@ -6009,7 +6048,7 @@ call $~lib/string/String.__lt i32.sub ) - (func $~lib/string/String.__eq (; 100 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 101 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) get_local $0 get_local $1 @@ -6048,7 +6087,7 @@ call $~lib/internal/string/compareUnsafe i32.eqz ) - (func $std/array/isArraysEqual (; 101 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isArraysEqual (; 102 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6133,7 +6172,7 @@ end i32.const 1 ) - (func $~lib/internal/string/allocateUnsafe (; 102 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/internal/string/allocateUnsafe (; 103 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) get_local $0 i32.const 0 @@ -6149,7 +6188,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 14 i32.const 2 call $~lib/env/abort @@ -6166,14 +6205,14 @@ i32.store get_local $1 ) - (func $~lib/string/String#charAt (; 103 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/string/String#charAt (; 104 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) get_local $0 - i32.const 1848 + i32.const 2056 i32.load i32.ge_u if - i32.const 2824 + i32.const 3032 return end i32.const 1 @@ -6182,13 +6221,13 @@ get_local $0 i32.const 1 i32.shl - i32.const 1848 + i32.const 2056 i32.add i32.load16_u offset=4 i32.store16 offset=4 get_local $1 ) - (func $~lib/internal/string/copyUnsafe (; 104 ;) (type $iiiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (func $~lib/internal/string/copyUnsafe (; 105 ;) (type $iiiiiv) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) get_local $0 get_local $1 i32.const 1 @@ -6208,7 +6247,7 @@ i32.shl call $~lib/internal/memory/memmove ) - (func $~lib/string/String#concat (; 105 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 106 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6216,7 +6255,7 @@ i32.eqz if i32.const 0 - i32.const 2976 + i32.const 3184 i32.const 110 i32.const 4 call $~lib/env/abort @@ -6225,7 +6264,7 @@ get_local $1 i32.eqz if - i32.const 3064 + i32.const 3272 set_local $1 end get_local $0 @@ -6238,7 +6277,7 @@ tee_local $2 i32.eqz if - i32.const 2824 + i32.const 3032 return end get_local $2 @@ -6257,21 +6296,21 @@ call $~lib/internal/string/copyUnsafe get_local $2 ) - (func $~lib/string/String.__concat (; 106 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 107 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) get_local $0 i32.eqz if - i32.const 3064 + i32.const 3272 set_local $0 end get_local $0 get_local $1 call $~lib/string/String#concat ) - (func $std/array/createRandomString (; 107 ;) (type $ii) (param $0 i32) (result i32) + (func $std/array/createRandomString (; 108 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - i32.const 2824 + i32.const 3032 set_local $1 block $break|0 loop $repeat|0 @@ -6281,7 +6320,7 @@ br_if $break|0 get_local $1 call $~lib/math/NativeMath.random - i32.const 1848 + i32.const 2056 i32.load f64.convert_s/i32 f64.mul @@ -6301,7 +6340,7 @@ end get_local $1 ) - (func $std/array/createRandomStringArray (; 108 ;) (type $FUNCSIG$i) (result i32) + (func $std/array/createRandomStringArray (; 109 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) i32.const 400 @@ -6333,7 +6372,7 @@ end get_local $1 ) - (func $~lib/string/String#substring (; 109 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#substring (; 110 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6341,7 +6380,7 @@ i32.eqz if i32.const 0 - i32.const 2976 + i32.const 3184 i32.const 269 i32.const 4 call $~lib/env/abort @@ -6387,7 +6426,7 @@ tee_local $3 i32.eqz if - i32.const 2824 + i32.const 3032 return end get_local $4 @@ -6415,7 +6454,7 @@ call $~lib/internal/string/copyUnsafe get_local $2 ) - (func $~lib/array/Array#join (; 110 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/array/Array#join (; 111 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -6426,7 +6465,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) - i32.const 3164 + i32.const 3372 i32.load i32.const 1 i32.sub @@ -6434,13 +6473,13 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 3160 + i32.const 3368 i32.load set_local $5 - i32.const 3136 + i32.const 3344 i32.load tee_local $6 i32.const 0 @@ -6449,8 +6488,8 @@ get_local $4 i32.eqz if - i32.const 3104 - i32.const 3120 + i32.const 3312 + i32.const 3328 get_local $5 i32.load8_u offset=8 select @@ -6484,8 +6523,8 @@ set_local $3 get_local $2 get_local $0 - i32.const 3104 - i32.const 3120 + i32.const 3312 + i32.const 3328 get_local $9 select i32.const 0 @@ -6499,7 +6538,7 @@ if get_local $2 get_local $0 - i32.const 3136 + i32.const 3344 i32.const 0 get_local $6 call $~lib/internal/string/copyUnsafe @@ -6528,8 +6567,8 @@ set_local $3 get_local $2 get_local $0 - i32.const 3104 - i32.const 3120 + i32.const 3312 + i32.const 3328 get_local $1 select i32.const 0 @@ -6552,7 +6591,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6561,7 +6600,7 @@ end get_local $1 ) - (func $~lib/internal/number/decimalCount32 (; 111 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/internal/number/decimalCount32 (; 112 ;) (type $ii) (param $0 i32) (result i32) get_local $0 i32.const 100000 i32.lt_u @@ -6615,10 +6654,10 @@ end end ) - (func $~lib/internal/number/utoa32_lut (; 112 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/internal/number/utoa32_lut (; 113 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - i32.const 3752 + i32.const 3960 i32.load set_local $3 loop $continue|0 @@ -6725,14 +6764,14 @@ i32.store16 offset=4 end ) - (func $~lib/internal/number/itoa32 (; 113 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/internal/number/itoa32 (; 114 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) get_local $0 i32.eqz if - i32.const 3232 + i32.const 3440 return end get_local $0 @@ -6763,7 +6802,7 @@ end get_local $2 ) - (func $~lib/internal/number/itoa_stream (; 114 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/internal/number/itoa_stream (; 115 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 get_local $1 i32.const 1 @@ -6805,7 +6844,7 @@ end get_local $2 ) - (func $~lib/array/Array#join (; 115 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 116 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6821,7 +6860,7 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end get_local $0 @@ -6913,7 +6952,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6922,13 +6961,13 @@ end get_local $3 ) - (func $~lib/internal/number/utoa32 (; 116 ;) (type $ii) (param $0 i32) (result i32) + (func $~lib/internal/number/utoa32 (; 117 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) get_local $0 i32.eqz if - i32.const 3232 + i32.const 3440 return end get_local $0 @@ -6941,7 +6980,7 @@ call $~lib/internal/number/utoa32_lut get_local $2 ) - (func $~lib/internal/number/itoa_stream (; 117 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/internal/number/itoa_stream (; 118 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) get_local $0 get_local $1 @@ -6966,7 +7005,7 @@ call $~lib/internal/number/utoa32_lut get_local $3 ) - (func $~lib/array/Array#join (; 118 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 119 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6982,7 +7021,7 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end get_local $0 @@ -7074,7 +7113,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -7083,7 +7122,7 @@ end get_local $3 ) - (func $~lib/internal/number/genDigits (; 119 ;) (type $iIiIiIii) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/internal/number/genDigits (; 120 ;) (type $iIiIiIii) (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 i32) @@ -7118,7 +7157,7 @@ tee_local $7 call $~lib/internal/number/decimalCount32 set_local $9 - i32.const 5536 + i32.const 5744 i32.load set_local $12 loop $continue|0 @@ -7493,7 +7532,7 @@ end end ) - (func $~lib/internal/number/prettify (; 120 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/internal/number/prettify (; 121 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) get_local $2 @@ -7762,7 +7801,7 @@ end end ) - (func $~lib/internal/number/dtoa_core (; 121 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/internal/number/dtoa_core (; 122 ;) (type $iFi) (param $0 i32) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) (local $4 i32) @@ -7883,10 +7922,10 @@ i32.shl i32.sub set_global $~lib/internal/number/_K - i32.const 5464 + i32.const 5672 i32.load set_local $4 - i32.const 5200 + i32.const 5408 i32.load get_local $5 i32.const 3 @@ -8085,14 +8124,14 @@ get_local $12 i32.add ) - (func $~lib/internal/number/dtoa (; 122 ;) (type $Fi) (param $0 f64) (result i32) + (func $~lib/internal/number/dtoa (; 123 ;) (type $Fi) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) get_local $0 f64.const 0 f64.eq if - i32.const 4096 + i32.const 4304 return end get_local $0 @@ -8105,11 +8144,11 @@ get_local $0 f64.ne if - i32.const 4112 + i32.const 4320 return end - i32.const 4128 - i32.const 4152 + i32.const 4336 + i32.const 4360 get_local $0 f64.const 0 f64.lt @@ -8130,7 +8169,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8138,7 +8177,7 @@ end get_local $1 ) - (func $~lib/internal/number/dtoa_stream (; 123 ;) (type $iiFi) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) + (func $~lib/internal/number/dtoa_stream (; 124 ;) (type $iiFi) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) get_local $0 get_local $1 i32.const 1 @@ -8187,8 +8226,8 @@ i32.const 4 i32.add tee_local $1 - i32.const 4128 - i32.const 4152 + i32.const 4336 + i32.const 4360 get_local $2 f64.const 0 f64.lt @@ -8212,7 +8251,7 @@ get_local $2 call $~lib/internal/number/dtoa_core ) - (func $~lib/array/Array#join (; 124 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/array/Array#join (; 125 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -8221,7 +8260,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 5612 + i32.const 5820 i32.load i32.const 1 i32.sub @@ -8229,13 +8268,13 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 5608 + i32.const 5816 i32.load set_local $4 - i32.const 4088 + i32.const 4296 i32.load tee_local $5 i32.const 0 @@ -8280,7 +8319,7 @@ if get_local $2 get_local $0 - i32.const 4088 + i32.const 4296 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8320,7 +8359,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8329,7 +8368,7 @@ end get_local $1 ) - (func $~lib/array/Array#join (; 125 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 126 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8345,7 +8384,7 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end get_local $0 @@ -8473,7 +8512,7 @@ end get_local $0 ) - (func $~lib/array/Array#join (; 126 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array#join (; 127 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -8489,13 +8528,13 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end get_local $0 i32.load set_local $5 - i32.const 3136 + i32.const 3344 i32.load tee_local $4 i32.const 0 @@ -8504,7 +8543,7 @@ get_local $3 i32.eqz if - i32.const 5792 + i32.const 6000 return end get_local $4 @@ -8531,7 +8570,7 @@ if get_local $0 get_local $1 - i32.const 5792 + i32.const 6000 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -8544,7 +8583,7 @@ if get_local $0 get_local $1 - i32.const 3136 + i32.const 3344 i32.const 0 get_local $4 call $~lib/internal/string/copyUnsafe @@ -8569,7 +8608,7 @@ if get_local $0 get_local $1 - i32.const 5792 + i32.const 6000 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -8592,7 +8631,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8601,7 +8640,7 @@ end get_local $2 ) - (func $~lib/internal/number/itoa_stream (; 127 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/internal/number/itoa_stream (; 128 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) get_local $0 get_local $1 @@ -8656,7 +8695,7 @@ end get_local $1 ) - (func $~lib/array/Array#join (; 128 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/array/Array#join (; 129 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -8665,7 +8704,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 5988 + i32.const 6196 i32.load i32.const 1 i32.sub @@ -8673,13 +8712,13 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 5984 + i32.const 6192 i32.load set_local $4 - i32.const 3136 + i32.const 3344 i32.load tee_local $5 i32.const 0 @@ -8722,7 +8761,7 @@ if get_local $2 get_local $0 - i32.const 3136 + i32.const 3344 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8760,7 +8799,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8769,7 +8808,7 @@ end get_local $1 ) - (func $~lib/internal/number/itoa_stream (; 129 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/internal/number/itoa_stream (; 130 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 get_local $1 i32.const 1 @@ -8799,7 +8838,7 @@ call $~lib/internal/number/utoa32_lut get_local $1 ) - (func $~lib/array/Array#join (; 130 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/array/Array#join (; 131 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -8808,7 +8847,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6052 + i32.const 6260 i32.load i32.const 1 i32.sub @@ -8816,13 +8855,13 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 6048 + i32.const 6256 i32.load set_local $4 - i32.const 3136 + i32.const 3344 i32.load tee_local $5 i32.const 0 @@ -8867,7 +8906,7 @@ if get_local $2 get_local $0 - i32.const 3136 + i32.const 3344 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8907,7 +8946,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8916,7 +8955,7 @@ end get_local $1 ) - (func $~lib/internal/number/decimalCount64 (; 131 ;) (type $Ii) (param $0 i64) (result i32) + (func $~lib/internal/number/decimalCount64 (; 132 ;) (type $Ii) (param $0 i64) (result i32) get_local $0 i64.const 1000000000000000 i64.lt_u @@ -8970,12 +9009,12 @@ end end ) - (func $~lib/internal/number/utoa64_lut (; 132 ;) (type $iIiv) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/internal/number/utoa64_lut (; 133 ;) (type $iIiv) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 6632 + i32.const 6840 i32.load set_local $3 loop $continue|0 @@ -9067,14 +9106,14 @@ get_local $2 call $~lib/internal/number/utoa32_lut ) - (func $~lib/internal/number/utoa64 (; 133 ;) (type $Ii) (param $0 i64) (result i32) + (func $~lib/internal/number/utoa64 (; 134 ;) (type $Ii) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) get_local $0 i64.eqz if - i32.const 3232 + i32.const 3440 return end get_local $0 @@ -9103,7 +9142,7 @@ end get_local $2 ) - (func $~lib/internal/number/itoa_stream (; 134 ;) (type $iiIi) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/internal/number/itoa_stream (; 135 ;) (type $iiIi) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) get_local $0 get_local $1 @@ -9143,7 +9182,7 @@ end get_local $1 ) - (func $~lib/array/Array#join (; 135 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/array/Array#join (; 136 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9152,7 +9191,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6676 + i32.const 6884 i32.load i32.const 1 i32.sub @@ -9160,13 +9199,13 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 6672 + i32.const 6880 i32.load set_local $4 - i32.const 3136 + i32.const 3344 i32.load tee_local $5 i32.const 0 @@ -9211,7 +9250,7 @@ if get_local $2 get_local $0 - i32.const 3136 + i32.const 3344 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -9251,7 +9290,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9260,7 +9299,7 @@ end get_local $1 ) - (func $~lib/internal/number/itoa64 (; 136 ;) (type $Ii) (param $0 i64) (result i32) + (func $~lib/internal/number/itoa64 (; 137 ;) (type $Ii) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9268,7 +9307,7 @@ get_local $0 i64.eqz if - i32.const 3232 + i32.const 3440 return end get_local $0 @@ -9317,7 +9356,7 @@ end get_local $3 ) - (func $~lib/internal/number/itoa_stream (; 137 ;) (type $iiIi) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/internal/number/itoa_stream (; 138 ;) (type $iiIi) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) get_local $0 @@ -9378,7 +9417,7 @@ end get_local $1 ) - (func $~lib/array/Array#join (; 138 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/array/Array#join (; 139 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9387,7 +9426,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6876 + i32.const 7084 i32.load i32.const 1 i32.sub @@ -9395,13 +9434,13 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 6872 + i32.const 7080 i32.load set_local $4 - i32.const 3136 + i32.const 3344 i32.load tee_local $5 i32.const 0 @@ -9446,7 +9485,7 @@ if get_local $2 get_local $0 - i32.const 3136 + i32.const 3344 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -9486,7 +9525,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9495,7 +9534,7 @@ end get_local $1 ) - (func $~lib/array/Array>#join (; 139 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array>#join (; 140 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9509,15 +9548,15 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $1 get_local $0 i32.load set_local $4 - i32.const 3136 + i32.const 3344 i32.load i32.const 0 i32.ne @@ -9530,10 +9569,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join else - i32.const 2824 + i32.const 3032 end tee_local $0 return @@ -9556,7 +9595,7 @@ if get_local $1 get_local $2 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9564,7 +9603,7 @@ get_local $5 if get_local $1 - i32.const 3136 + i32.const 3344 call $~lib/string/String.__concat set_local $1 end @@ -9587,14 +9626,14 @@ if get_local $1 get_local $2 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 end get_local $1 ) - (func $~lib/internal/number/itoa_stream (; 140 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/internal/number/itoa_stream (; 141 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) get_local $0 get_local $1 i32.const 1 @@ -9624,7 +9663,7 @@ call $~lib/internal/number/utoa32_lut get_local $1 ) - (func $~lib/array/Array#join (; 141 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 142 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9640,7 +9679,7 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end get_local $0 @@ -9728,7 +9767,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9737,7 +9776,7 @@ end get_local $3 ) - (func $~lib/array/Array>#join (; 142 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array>#join (; 143 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9751,15 +9790,15 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $1 get_local $0 i32.load set_local $4 - i32.const 3136 + i32.const 3344 i32.load i32.const 0 i32.ne @@ -9772,10 +9811,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join else - i32.const 2824 + i32.const 3032 end tee_local $0 return @@ -9798,7 +9837,7 @@ if get_local $1 get_local $2 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9806,7 +9845,7 @@ get_local $5 if get_local $1 - i32.const 3136 + i32.const 3344 call $~lib/string/String.__concat set_local $1 end @@ -9829,14 +9868,14 @@ if get_local $1 get_local $2 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 end get_local $1 ) - (func $~lib/array/Array>#join (; 143 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#join (; 144 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9850,10 +9889,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $2 get_local $0 i32.load @@ -9874,7 +9913,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 2824 + i32.const 3032 end tee_local $0 return @@ -9935,7 +9974,7 @@ end get_local $2 ) - (func $~lib/array/Array>>#join (; 144 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array>>#join (; 145 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9949,15 +9988,15 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $1 get_local $0 i32.load set_local $4 - i32.const 3136 + i32.const 3344 i32.load i32.const 0 i32.ne @@ -9970,10 +10009,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 3136 + i32.const 3344 call $~lib/array/Array>#join else - i32.const 2824 + i32.const 3032 end tee_local $0 return @@ -9996,7 +10035,7 @@ if get_local $1 get_local $2 - i32.const 3136 + i32.const 3344 call $~lib/array/Array>#join call $~lib/string/String.__concat set_local $1 @@ -10004,7 +10043,7 @@ get_local $5 if get_local $1 - i32.const 3136 + i32.const 3344 call $~lib/string/String.__concat set_local $1 end @@ -10027,18 +10066,18 @@ if get_local $1 get_local $2 - i32.const 3136 + i32.const 3344 call $~lib/array/Array>#join call $~lib/string/String.__concat set_local $1 end get_local $1 ) - (func $start (; 145 ;) (type $v) + (func $start (; 146 ;) (type $v) (local $0 i32) (local $1 i32) (local $2 f32) - i32.const 7352 + i32.const 7560 set_global $~lib/allocator/arena/startOffset get_global $~lib/allocator/arena/startOffset set_global $~lib/allocator/arena/offset @@ -12408,26 +12447,8 @@ i32.const 1 set_global $~argc get_global $std/array/sarr - set_local $1 i32.const 0 - set_local $0 - block $1of1 - block $0of1 - block $outOfRange - get_global $~argc - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 2147483647 - set_local $0 - end - get_local $1 - i32.const 0 - get_local $0 - call $~lib/array/Array#splice + call $~lib/array/Array#splice|trampoline i32.const 1584 i32.const 0 call $std/array/isArraysEqual @@ -12515,6 +12536,70 @@ call $~lib/env/abort unreachable end + i32.const 1848 + set_global $std/array/sarr + i32.const 1 + set_global $~argc + get_global $std/array/sarr + i32.const -1 + call $~lib/array/Array#splice|trampoline + i32.const 1872 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 348 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 1912 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 349 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 1952 + set_global $std/array/sarr + i32.const 1 + set_global $~argc + get_global $std/array/sarr + i32.const -2 + call $~lib/array/Array#splice|trampoline + i32.const 1976 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 352 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2016 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 353 + i32.const 0 + call $~lib/env/abort + unreachable + end get_global $std/array/arr i32.const 0 i32.const 0 @@ -12539,7 +12624,7 @@ if i32.const 0 i32.const 104 - i32.const 355 + i32.const 363 i32.const 0 call $~lib/env/abort unreachable @@ -12554,7 +12639,7 @@ if i32.const 0 i32.const 104 - i32.const 358 + i32.const 366 i32.const 0 call $~lib/env/abort unreachable @@ -12569,7 +12654,7 @@ if i32.const 0 i32.const 104 - i32.const 361 + i32.const 369 i32.const 0 call $~lib/env/abort unreachable @@ -12584,7 +12669,7 @@ if i32.const 0 i32.const 104 - i32.const 369 + i32.const 377 i32.const 0 call $~lib/env/abort unreachable @@ -12596,7 +12681,7 @@ if i32.const 0 i32.const 104 - i32.const 370 + i32.const 378 i32.const 0 call $~lib/env/abort unreachable @@ -12611,7 +12696,7 @@ if i32.const 0 i32.const 104 - i32.const 372 + i32.const 380 i32.const 0 call $~lib/env/abort unreachable @@ -12638,7 +12723,7 @@ if i32.const 0 i32.const 104 - i32.const 385 + i32.const 393 i32.const 0 call $~lib/env/abort unreachable @@ -12650,7 +12735,7 @@ if i32.const 0 i32.const 104 - i32.const 386 + i32.const 394 i32.const 0 call $~lib/env/abort unreachable @@ -12673,7 +12758,7 @@ if i32.const 0 i32.const 104 - i32.const 394 + i32.const 402 i32.const 0 call $~lib/env/abort unreachable @@ -12686,7 +12771,7 @@ if i32.const 0 i32.const 104 - i32.const 397 + i32.const 405 i32.const 0 call $~lib/env/abort unreachable @@ -12701,7 +12786,7 @@ if i32.const 0 i32.const 104 - i32.const 405 + i32.const 413 i32.const 0 call $~lib/env/abort unreachable @@ -12713,7 +12798,7 @@ if i32.const 0 i32.const 104 - i32.const 406 + i32.const 414 i32.const 0 call $~lib/env/abort unreachable @@ -12726,7 +12811,7 @@ if i32.const 0 i32.const 104 - i32.const 408 + i32.const 416 i32.const 0 call $~lib/env/abort unreachable @@ -12753,7 +12838,7 @@ if i32.const 0 i32.const 104 - i32.const 421 + i32.const 429 i32.const 0 call $~lib/env/abort unreachable @@ -12765,7 +12850,7 @@ if i32.const 0 i32.const 104 - i32.const 422 + i32.const 430 i32.const 0 call $~lib/env/abort unreachable @@ -12788,7 +12873,7 @@ if i32.const 0 i32.const 104 - i32.const 430 + i32.const 438 i32.const 0 call $~lib/env/abort unreachable @@ -12801,7 +12886,7 @@ if i32.const 0 i32.const 104 - i32.const 433 + i32.const 441 i32.const 0 call $~lib/env/abort unreachable @@ -12814,7 +12899,7 @@ if i32.const 0 i32.const 104 - i32.const 441 + i32.const 449 i32.const 0 call $~lib/env/abort unreachable @@ -12826,7 +12911,7 @@ if i32.const 0 i32.const 104 - i32.const 442 + i32.const 450 i32.const 0 call $~lib/env/abort unreachable @@ -12841,7 +12926,7 @@ if i32.const 0 i32.const 104 - i32.const 444 + i32.const 452 i32.const 0 call $~lib/env/abort unreachable @@ -12866,7 +12951,7 @@ if i32.const 0 i32.const 104 - i32.const 457 + i32.const 465 i32.const 0 call $~lib/env/abort unreachable @@ -12878,7 +12963,7 @@ if i32.const 0 i32.const 104 - i32.const 458 + i32.const 466 i32.const 0 call $~lib/env/abort unreachable @@ -12902,7 +12987,7 @@ if i32.const 0 i32.const 104 - i32.const 467 + i32.const 475 i32.const 0 call $~lib/env/abort unreachable @@ -12918,7 +13003,7 @@ if i32.const 0 i32.const 104 - i32.const 476 + i32.const 484 i32.const 0 call $~lib/env/abort unreachable @@ -12930,7 +13015,7 @@ if i32.const 0 i32.const 104 - i32.const 477 + i32.const 485 i32.const 0 call $~lib/env/abort unreachable @@ -12946,7 +13031,7 @@ if i32.const 0 i32.const 104 - i32.const 480 + i32.const 488 i32.const 0 call $~lib/env/abort unreachable @@ -12974,7 +13059,7 @@ if i32.const 0 i32.const 104 - i32.const 494 + i32.const 502 i32.const 0 call $~lib/env/abort unreachable @@ -12986,7 +13071,7 @@ if i32.const 0 i32.const 104 - i32.const 495 + i32.const 503 i32.const 0 call $~lib/env/abort unreachable @@ -13009,7 +13094,7 @@ if i32.const 0 i32.const 104 - i32.const 504 + i32.const 512 i32.const 0 call $~lib/env/abort unreachable @@ -13051,7 +13136,7 @@ if i32.const 0 i32.const 104 - i32.const 505 + i32.const 513 i32.const 0 call $~lib/env/abort unreachable @@ -13068,7 +13153,7 @@ if i32.const 0 i32.const 104 - i32.const 514 + i32.const 522 i32.const 0 call $~lib/env/abort unreachable @@ -13080,7 +13165,7 @@ if i32.const 0 i32.const 104 - i32.const 515 + i32.const 523 i32.const 0 call $~lib/env/abort unreachable @@ -13097,7 +13182,7 @@ if i32.const 0 i32.const 104 - i32.const 522 + i32.const 530 i32.const 0 call $~lib/env/abort unreachable @@ -13126,7 +13211,7 @@ if i32.const 0 i32.const 104 - i32.const 537 + i32.const 545 i32.const 0 call $~lib/env/abort unreachable @@ -13138,7 +13223,7 @@ if i32.const 0 i32.const 104 - i32.const 538 + i32.const 546 i32.const 0 call $~lib/env/abort unreachable @@ -13162,7 +13247,7 @@ if i32.const 0 i32.const 104 - i32.const 546 + i32.const 554 i32.const 0 call $~lib/env/abort unreachable @@ -13179,7 +13264,7 @@ if i32.const 0 i32.const 104 - i32.const 555 + i32.const 563 i32.const 0 call $~lib/env/abort unreachable @@ -13191,7 +13276,7 @@ if i32.const 0 i32.const 104 - i32.const 556 + i32.const 564 i32.const 0 call $~lib/env/abort unreachable @@ -13208,7 +13293,7 @@ if i32.const 0 i32.const 104 - i32.const 563 + i32.const 571 i32.const 0 call $~lib/env/abort unreachable @@ -13237,7 +13322,7 @@ if i32.const 0 i32.const 104 - i32.const 578 + i32.const 586 i32.const 0 call $~lib/env/abort unreachable @@ -13249,7 +13334,7 @@ if i32.const 0 i32.const 104 - i32.const 579 + i32.const 587 i32.const 0 call $~lib/env/abort unreachable @@ -13273,7 +13358,7 @@ if i32.const 0 i32.const 104 - i32.const 587 + i32.const 595 i32.const 0 call $~lib/env/abort unreachable @@ -13289,7 +13374,7 @@ if i32.const 0 i32.const 104 - i32.const 591 + i32.const 599 i32.const 0 call $~lib/env/abort unreachable @@ -13307,7 +13392,7 @@ if i32.const 0 i32.const 104 - i32.const 594 + i32.const 602 i32.const 0 call $~lib/env/abort unreachable @@ -13323,7 +13408,7 @@ if i32.const 0 i32.const 104 - i32.const 597 + i32.const 605 i32.const 0 call $~lib/env/abort unreachable @@ -13339,7 +13424,7 @@ if i32.const 0 i32.const 104 - i32.const 605 + i32.const 613 i32.const 0 call $~lib/env/abort unreachable @@ -13351,7 +13436,7 @@ if i32.const 0 i32.const 104 - i32.const 606 + i32.const 614 i32.const 0 call $~lib/env/abort unreachable @@ -13367,7 +13452,7 @@ if i32.const 0 i32.const 104 - i32.const 608 + i32.const 616 i32.const 0 call $~lib/env/abort unreachable @@ -13395,7 +13480,7 @@ if i32.const 0 i32.const 104 - i32.const 621 + i32.const 629 i32.const 0 call $~lib/env/abort unreachable @@ -13407,7 +13492,7 @@ if i32.const 0 i32.const 104 - i32.const 622 + i32.const 630 i32.const 0 call $~lib/env/abort unreachable @@ -13431,7 +13516,7 @@ if i32.const 0 i32.const 104 - i32.const 630 + i32.const 638 i32.const 0 call $~lib/env/abort unreachable @@ -13447,7 +13532,7 @@ if i32.const 0 i32.const 104 - i32.const 634 + i32.const 642 i32.const 0 call $~lib/env/abort unreachable @@ -13465,7 +13550,7 @@ if i32.const 0 i32.const 104 - i32.const 637 + i32.const 645 i32.const 0 call $~lib/env/abort unreachable @@ -13481,7 +13566,7 @@ if i32.const 0 i32.const 104 - i32.const 640 + i32.const 648 i32.const 0 call $~lib/env/abort unreachable @@ -13497,7 +13582,7 @@ if i32.const 0 i32.const 104 - i32.const 648 + i32.const 656 i32.const 0 call $~lib/env/abort unreachable @@ -13509,7 +13594,7 @@ if i32.const 0 i32.const 104 - i32.const 649 + i32.const 657 i32.const 0 call $~lib/env/abort unreachable @@ -13525,7 +13610,7 @@ if i32.const 0 i32.const 104 - i32.const 651 + i32.const 659 i32.const 0 call $~lib/env/abort unreachable @@ -13553,7 +13638,7 @@ if i32.const 0 i32.const 104 - i32.const 664 + i32.const 672 i32.const 0 call $~lib/env/abort unreachable @@ -13563,7 +13648,7 @@ if i32.const 0 i32.const 104 - i32.const 665 + i32.const 673 i32.const 0 call $~lib/env/abort unreachable @@ -13593,11 +13678,11 @@ set_local $1 i32.const 0 set_local $0 - block $1of153 - block $0of154 - block $outOfRange55 + block $1of1 + block $0of1 + block $outOfRange get_global $~argc - br_table $0of154 $1of153 $outOfRange55 + br_table $0of1 $1of1 $outOfRange end unreachable end @@ -13614,7 +13699,7 @@ if i32.const 0 i32.const 104 - i32.const 752 + i32.const 760 i32.const 0 call $~lib/env/abort unreachable @@ -13625,11 +13710,11 @@ set_local $1 i32.const 0 set_local $0 - block $1of156 - block $0of157 - block $outOfRange58 + block $1of153 + block $0of154 + block $outOfRange55 get_global $~argc - br_table $0of157 $1of156 $outOfRange58 + br_table $0of154 $1of153 $outOfRange55 end unreachable end @@ -13646,7 +13731,7 @@ if i32.const 0 i32.const 104 - i32.const 756 + i32.const 764 i32.const 0 call $~lib/env/abort unreachable @@ -13657,11 +13742,11 @@ set_local $1 i32.const 0 set_local $0 - block $1of159 - block $0of160 - block $outOfRange61 + block $1of156 + block $0of157 + block $outOfRange58 get_global $~argc - br_table $0of160 $1of159 $outOfRange61 + br_table $0of157 $1of156 $outOfRange58 end unreachable end @@ -13673,14 +13758,14 @@ call $~lib/array/Array#sort drop get_global $std/array/i32ArrayTyped - i32.const 2512 + i32.const 2720 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 760 + i32.const 768 i32.const 0 call $~lib/env/abort unreachable @@ -13691,11 +13776,11 @@ set_local $1 i32.const 0 set_local $0 - block $1of162 - block $0of163 - block $outOfRange64 + block $1of159 + block $0of160 + block $outOfRange61 get_global $~argc - br_table $0of163 $1of162 $outOfRange64 + br_table $0of160 $1of159 $outOfRange61 end unreachable end @@ -13707,14 +13792,14 @@ call $~lib/array/Array#sort drop get_global $std/array/u32ArrayTyped - i32.const 2592 + i32.const 2800 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 764 + i32.const 772 i32.const 0 call $~lib/env/abort unreachable @@ -13739,14 +13824,14 @@ get_global $std/array/reversed1 call $std/array/assertSortedDefault get_global $std/array/reversed1 - i32.const 2760 + i32.const 2968 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 784 + i32.const 792 i32.const 0 call $~lib/env/abort unreachable @@ -13754,14 +13839,14 @@ get_global $std/array/reversed2 call $std/array/assertSortedDefault get_global $std/array/reversed2 - i32.const 2784 + i32.const 2992 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 787 + i32.const 795 i32.const 0 call $~lib/env/abort unreachable @@ -13776,7 +13861,7 @@ if i32.const 0 i32.const 104 - i32.const 790 + i32.const 798 i32.const 0 call $~lib/env/abort unreachable @@ -13791,7 +13876,7 @@ if i32.const 0 i32.const 104 - i32.const 793 + i32.const 801 i32.const 0 call $~lib/env/abort unreachable @@ -13806,7 +13891,7 @@ if i32.const 0 i32.const 104 - i32.const 796 + i32.const 804 i32.const 0 call $~lib/env/abort unreachable @@ -13821,7 +13906,7 @@ if i32.const 0 i32.const 104 - i32.const 799 + i32.const 807 i32.const 0 call $~lib/env/abort unreachable @@ -13836,7 +13921,7 @@ if i32.const 0 i32.const 104 - i32.const 802 + i32.const 810 i32.const 0 call $~lib/env/abort unreachable @@ -13881,7 +13966,7 @@ if i32.const 0 i32.const 104 - i32.const 831 + i32.const 839 i32.const 0 call $~lib/env/abort unreachable @@ -13892,81 +13977,81 @@ i32.const 55 call $std/array/assertSorted> call $~lib/array/Array#join - i32.const 3168 + i32.const 3376 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 840 + i32.const 848 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3792 - i32.const 2824 + i32.const 4000 + i32.const 3032 call $~lib/array/Array#join - i32.const 3800 + i32.const 4008 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 841 + i32.const 849 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3896 - i32.const 3856 + i32.const 4104 + i32.const 4064 call $~lib/array/Array#join - i32.const 3800 + i32.const 4008 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 842 + i32.const 850 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3952 - i32.const 3928 + i32.const 4160 + i32.const 4136 call $~lib/array/Array#join - i32.const 3960 + i32.const 4168 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 843 + i32.const 851 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 5616 + i32.const 5824 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 844 + i32.const 852 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5784 - i32.const 2824 + i32.const 5992 + i32.const 3032 call $~lib/array/Array#join - i32.const 5704 + i32.const 5912 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 845 + i32.const 853 i32.const 0 call $~lib/env/abort unreachable @@ -14000,190 +14085,190 @@ set_global $std/array/refArr get_global $std/array/refArr call $~lib/array/Array#join - i32.const 5832 + i32.const 6040 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 847 + i32.const 855 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed0 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join - i32.const 2824 + i32.const 3032 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 851 + i32.const 859 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed1 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join - i32.const 5704 + i32.const 5912 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 852 + i32.const 860 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed2 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join - i32.const 5904 + i32.const 6112 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 853 + i32.const 861 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed4 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join - i32.const 5920 + i32.const 6128 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 854 + i32.const 862 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 5992 + i32.const 6200 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 856 + i32.const 864 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6056 + i32.const 6264 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 857 + i32.const 865 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6680 + i32.const 6888 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 858 + i32.const 866 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6880 + i32.const 7088 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 859 + i32.const 867 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/randomStringsExpected - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join - i32.const 6968 + i32.const 7176 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 860 + i32.const 868 i32.const 0 call $~lib/env/abort unreachable end - i32.const 7088 - i32.const 3136 + i32.const 7296 + i32.const 3344 call $~lib/array/Array#join - i32.const 7096 + i32.const 7304 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 861 + i32.const 869 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarr32 call $~lib/array/Array>#join - i32.const 7184 + i32.const 7392 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 864 + i32.const 872 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarr8 call $~lib/array/Array>#join - i32.const 7184 + i32.const 7392 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 867 + i32.const 875 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarrU32 call $~lib/array/Array>>#join - i32.const 5704 + i32.const 5912 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 870 + i32.const 878 i32.const 0 call $~lib/env/abort unreachable end ) - (func $null (; 146 ;) (type $v) + (func $null (; 147 ;) (type $v) nop ) ) diff --git a/tests/compiler/std/array.ts b/tests/compiler/std/array.ts index 9b9fd2e6e9..4164ba17fe 100644 --- a/tests/compiler/std/array.ts +++ b/tests/compiler/std/array.ts @@ -344,6 +344,14 @@ sarr = [1, 2, 3, 4, 5]; assert(isArraysEqual(sarr.splice(0, 1), [1])); assert(isArraysEqual(sarr, [2, 3, 4, 5])); +sarr = [1, 2, 3, 4, 5]; +assert(isArraysEqual(sarr.splice(-1), [5])); +assert(isArraysEqual(sarr, [1, 2, 3, 4])); + +sarr = [1, 2, 3, 4, 5]; +assert(isArraysEqual(sarr.splice(-2), [4, 5])); +assert(isArraysEqual(sarr, [1, 2, 3])); + // Array#findIndex ///////////////////////////////////////////////////////////////////////////////// arr[0] = 0; diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index 536b7ab44c..b072099b67 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -126,151 +126,163 @@ (data (i32.const 1768) "\d8\06\00\00\01\00\00\00") (data (i32.const 1776) "\10\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 1808) "\f0\06\00\00\04\00\00\00") - (data (i32.const 1816) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") - (data (i32.const 1848) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") - (data (i32.const 2024) " \00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2088) "\e8\07\00\00\08\00\00\00") - (data (i32.const 2096) " \00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2160) "0\08\00\00\08\00\00\00") - (data (i32.const 2168) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2296) "x\08\00\00\08\00\00\00") - (data (i32.const 2304) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2432) "\00\t\00\00\08\00\00\00") - (data (i32.const 2440) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 2472) "\88\t\00\00\05\00\00\00") - (data (i32.const 2480) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 2512) "\b0\t\00\00\05\00\00\00") - (data (i32.const 2520) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 2552) "\d8\t\00\00\05\00\00\00") - (data (i32.const 2560) "\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00") - (data (i32.const 2592) "\00\n\00\00\05\00\00\00") - (data (i32.const 2600) "\00\00\00\00\00\00\00\00") - (data (i32.const 2608) "(\n\00\00\00\00\00\00") - (data (i32.const 2616) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 2632) "8\n\00\00\01\00\00\00") - (data (i32.const 2640) "\08\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") - (data (i32.const 2656) "P\n\00\00\02\00\00\00") - (data (i32.const 2664) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2696) "h\n\00\00\04\00\00\00") - (data (i32.const 2704) "\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2736) "\90\n\00\00\04\00\00\00") - (data (i32.const 2744) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 2760) "\b8\n\00\00\01\00\00\00") - (data (i32.const 2768) "\08\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 2784) "\d0\n\00\00\02\00\00\00") - (data (i32.const 2792) "\01\00\00\00a\00") - (data (i32.const 2800) "\01\00\00\00b\00") - (data (i32.const 2808) "\02\00\00\00a\00b\00") - (data (i32.const 2816) "\02\00\00\00b\00a\00") - (data (i32.const 2824) "\00\00\00\00") - (data (i32.const 2832) "\1c\00\00\00\00\00\00\00\e8\n\00\00\f0\n\00\00\e8\n\00\00\f8\n\00\00\00\0b\00\00\08\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2896) "\10\0b\00\00\07\00\00\00") - (data (i32.const 2904) "\1c\00\00\00\00\00\00\00\08\0b\00\00\e8\n\00\00\e8\n\00\00\f8\n\00\00\f0\n\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2968) "X\0b\00\00\07\00\00\00") - (data (i32.const 2976) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 3008) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 3064) "\04\00\00\00n\00u\00l\00l\00") - (data (i32.const 3080) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3096) "\08\0c\00\00\02\00\00\00") - (data (i32.const 3104) "\04\00\00\00t\00r\00u\00e\00") - (data (i32.const 3120) "\05\00\00\00f\00a\00l\00s\00e\00") - (data (i32.const 3136) "\01\00\00\00,\00") - (data (i32.const 3144) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3160) "H\0c\00\00\02\00\00\00") - (data (i32.const 3168) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") - (data (i32.const 3192) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3224) "x\0c\00\00\03\00\00\00") - (data (i32.const 3232) "\01\00\00\000\00") - (data (i32.const 3240) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3752) "\a8\0c\00\00d\00\00\00") - (data (i32.const 3760) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3792) "\b0\0e\00\00\03\00\00\00") - (data (i32.const 3800) "\05\00\00\001\00-\002\00-\003\00") - (data (i32.const 3816) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3848) "\e8\0e\00\00\03\00\00\00") - (data (i32.const 3856) "\01\00\00\00-\00") - (data (i32.const 3864) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3896) "\18\0f\00\00\03\00\00\00") - (data (i32.const 3904) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 3920) "@\0f\00\00\02\00\00\00") - (data (i32.const 3928) "\02\00\00\00_\00_\00") - (data (i32.const 3936) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 3952) "`\0f\00\00\02\00\00\00") - (data (i32.const 3960) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 4016) "0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00") - (data (i32.const 4080) "\b0\0f\00\00\06\00\00\00") - (data (i32.const 4088) "\02\00\00\00,\00 \00") - (data (i32.const 4096) "\03\00\00\000\00.\000\00") - (data (i32.const 4112) "\03\00\00\00N\00a\00N\00") - (data (i32.const 4128) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4152) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4176) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") + (data (i32.const 2232) " \00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2296) "\b8\08\00\00\08\00\00\00") + (data (i32.const 2304) " \00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2368) "\00\t\00\00\08\00\00\00") + (data (i32.const 2376) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2504) "H\t\00\00\08\00\00\00") + (data (i32.const 2512) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2640) "\d0\t\00\00\08\00\00\00") + (data (i32.const 2648) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 2680) "X\n\00\00\05\00\00\00") + (data (i32.const 2688) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 2720) "\80\n\00\00\05\00\00\00") + (data (i32.const 2728) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 2760) "\a8\n\00\00\05\00\00\00") + (data (i32.const 2768) "\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00") + (data (i32.const 2800) "\d0\n\00\00\05\00\00\00") + (data (i32.const 2808) "\00\00\00\00\00\00\00\00") + (data (i32.const 2816) "\f8\n\00\00\00\00\00\00") + (data (i32.const 2824) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 2840) "\08\0b\00\00\01\00\00\00") + (data (i32.const 2848) "\08\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") + (data (i32.const 2864) " \0b\00\00\02\00\00\00") + (data (i32.const 2872) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2904) "8\0b\00\00\04\00\00\00") + (data (i32.const 2912) "\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2944) "`\0b\00\00\04\00\00\00") + (data (i32.const 2952) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 2968) "\88\0b\00\00\01\00\00\00") + (data (i32.const 2976) "\08\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 2992) "\a0\0b\00\00\02\00\00\00") + (data (i32.const 3000) "\01\00\00\00a\00") + (data (i32.const 3008) "\01\00\00\00b\00") + (data (i32.const 3016) "\02\00\00\00a\00b\00") + (data (i32.const 3024) "\02\00\00\00b\00a\00") + (data (i32.const 3032) "\00\00\00\00") + (data (i32.const 3040) "\1c\00\00\00\00\00\00\00\b8\0b\00\00\c0\0b\00\00\b8\0b\00\00\c8\0b\00\00\d0\0b\00\00\d8\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3104) "\e0\0b\00\00\07\00\00\00") + (data (i32.const 3112) "\1c\00\00\00\00\00\00\00\d8\0b\00\00\b8\0b\00\00\b8\0b\00\00\c8\0b\00\00\c0\0b\00\00\d0\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3176) "(\0c\00\00\07\00\00\00") + (data (i32.const 3184) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 3216) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 3272) "\04\00\00\00n\00u\00l\00l\00") + (data (i32.const 3288) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3304) "\d8\0c\00\00\02\00\00\00") + (data (i32.const 3312) "\04\00\00\00t\00r\00u\00e\00") + (data (i32.const 3328) "\05\00\00\00f\00a\00l\00s\00e\00") + (data (i32.const 3344) "\01\00\00\00,\00") + (data (i32.const 3352) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3368) "\18\0d\00\00\02\00\00\00") + (data (i32.const 3376) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") + (data (i32.const 3400) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3432) "H\0d\00\00\03\00\00\00") + (data (i32.const 3440) "\01\00\00\000\00") + (data (i32.const 3448) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3960) "x\0d\00\00d\00\00\00") + (data (i32.const 3968) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4000) "\80\0f\00\00\03\00\00\00") + (data (i32.const 4008) "\05\00\00\001\00-\002\00-\003\00") + (data (i32.const 4024) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4056) "\b8\0f\00\00\03\00\00\00") + (data (i32.const 4064) "\01\00\00\00-\00") + (data (i32.const 4072) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4104) "\e8\0f\00\00\03\00\00\00") + (data (i32.const 4112) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 4128) "\10\10\00\00\02\00\00\00") + (data (i32.const 4136) "\02\00\00\00_\00_\00") + (data (i32.const 4144) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 4160) "0\10\00\00\02\00\00\00") + (data (i32.const 4168) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") + (data (i32.const 4224) "0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00") + (data (i32.const 4288) "\80\10\00\00\06\00\00\00") + (data (i32.const 4296) "\02\00\00\00,\00 \00") + (data (i32.const 4304) "\03\00\00\000\00.\000\00") + (data (i32.const 4320) "\03\00\00\00N\00a\00N\00") + (data (i32.const 4336) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 4360) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 4384) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#sort|trampoline~anonymous|43 $~lib/array/Array#sort|trampoline~anonymous|44 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|46 $std/array/assertSortedDefault~anonymous|47 $start~anonymous|48 $start~anonymous|49 $start~anonymous|50 $start~anonymous|51 $start~anonymous|52 $start~anonymous|53 $start~anonymous|54 $start~anonymous|55) (global $~lib/internal/allocator/AL_BITS i32 (i32.const 3)) @@ -317,16 +329,16 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/charset i32 (i32.const 1848)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 2088)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 2296)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 2472)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 2552)) - (global $std/array/reversed0 (mut i32) (i32.const 2608)) - (global $std/array/reversed1 (mut i32) (i32.const 2632)) - (global $std/array/reversed2 (mut i32) (i32.const 2656)) - (global $std/array/reversed4 (mut i32) (i32.const 2696)) - (global $std/array/expected4 (mut i32) (i32.const 2736)) + (global $std/array/charset i32 (i32.const 2056)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 2296)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 2504)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 2680)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 2760)) + (global $std/array/reversed0 (mut i32) (i32.const 2816)) + (global $std/array/reversed1 (mut i32) (i32.const 2840)) + (global $std/array/reversed2 (mut i32) (i32.const 2864)) + (global $std/array/reversed4 (mut i32) (i32.const 2904)) + (global $std/array/expected4 (mut i32) (i32.const 2944)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -336,8 +348,8 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 2896)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 2968)) + (global $std/array/randomStringsActual (mut i32) (i32.const 3104)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 3176)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/internal/string/CharCode.PLUS i32 (i32.const 43)) @@ -371,10 +383,10 @@ (global $std/array/refArr (mut i32) (i32.const 0)) (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) (global $~lib/builtins/i64.MAX_VALUE i64 (i64.const 9223372036854775807)) - (global $std/array/subarr32 (mut i32) (i32.const 7176)) - (global $std/array/subarr8 (mut i32) (i32.const 7272)) - (global $std/array/subarrU32 (mut i32) (i32.const 7344)) - (global $HEAP_BASE i32 (i32.const 7352)) + (global $std/array/subarr32 (mut i32) (i32.const 7384)) + (global $std/array/subarr8 (mut i32) (i32.const 7480)) + (global $std/array/subarrU32 (mut i32) (i32.const 7552)) + (global $HEAP_BASE i32 (i32.const 7560)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -3586,22 +3598,16 @@ (local $6 i32) (local $7 i32) (local $8 i32) - get_local $2 - i32.const 1 - i32.lt_s - if - i32.const 0 - i32.const 0 - call $~lib/array/Array#constructor - return - end + (local $9 i32) + (local $10 i32) + (local $11 i32) get_local $0 i32.load offset=4 set_local $3 get_local $1 i32.const 0 i32.lt_s - if + if (result i32) get_local $3 get_local $1 i32.add @@ -3612,21 +3618,21 @@ get_local $5 i32.gt_s select - set_local $1 - end - get_local $1 - get_local $3 - i32.ge_s - if - i32.const 0 - i32.const 0 - call $~lib/array/Array#constructor - return + else + get_local $1 + tee_local $4 + get_local $3 + tee_local $5 + get_local $4 + get_local $5 + i32.lt_s + select end + set_local $6 get_local $2 tee_local $4 get_local $3 - get_local $1 + get_local $6 i32.sub tee_local $5 get_local $4 @@ -3636,20 +3642,20 @@ set_local $2 get_local $0 i32.load - set_local $6 + set_local $7 i32.const 0 get_local $2 call $~lib/array/Array#constructor - set_local $7 - get_local $6 + set_local $8 + get_local $7 get_global $~lib/internal/arraybuffer/HEADER_SIZE i32.add - get_local $1 + get_local $6 i32.const 2 i32.shl i32.add - set_local $8 - get_local $7 + set_local $9 + get_local $8 i32.load get_global $~lib/internal/arraybuffer/HEADER_SIZE i32.add @@ -3659,35 +3665,50 @@ i32.shl set_local $5 get_local $4 - get_local $8 + get_local $9 get_local $5 call $~lib/internal/memory/memmove - get_local $6 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - get_local $1 - get_local $2 - i32.add - i32.const 2 - i32.shl - i32.add - set_local $5 get_local $3 get_local $2 i32.sub - i32.const 2 - i32.shl - set_local $4 - get_local $8 - get_local $5 - get_local $4 - call $~lib/internal/memory/memmove - get_local $0 - get_local $3 + set_local $10 + get_local $1 get_local $2 - i32.sub + i32.add + set_local $11 + get_local $10 + i32.const 0 + i32.ne + tee_local $5 + if (result i32) + get_local $11 + i32.const 0 + i32.ne + else + get_local $5 + end + if + get_local $7 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + get_local $11 + i32.const 2 + i32.shl + i32.add + set_local $5 + get_local $10 + i32.const 2 + i32.shl + set_local $4 + get_local $9 + get_local $5 + get_local $4 + call $~lib/internal/memory/memmove + end + get_local $0 + get_local $10 i32.store offset=4 - get_local $7 + get_local $8 ) (func $~lib/array/Array#splice|trampoline (; 36 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $1of1 @@ -4927,7 +4948,7 @@ i64.eqz if i32.const 0 - i32.const 1816 + i32.const 2024 i32.const 959 i32.const 4 call $~lib/env/abort @@ -5490,7 +5511,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 412 i32.const 4 call $~lib/env/abort unreachable @@ -6254,7 +6275,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 412 i32.const 4 call $~lib/env/abort unreachable @@ -7040,7 +7061,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 412 i32.const 4 call $~lib/env/abort unreachable @@ -7696,7 +7717,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 412 i32.const 4 call $~lib/env/abort unreachable @@ -7869,7 +7890,7 @@ i32.eqz if i32.const 0 - i32.const 1816 + i32.const 2024 i32.const 968 i32.const 24 call $~lib/env/abort @@ -8024,7 +8045,7 @@ if i32.const 0 i32.const 104 - i32.const 741 + i32.const 749 i32.const 2 call $~lib/env/abort unreachable @@ -8376,7 +8397,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 412 i32.const 4 call $~lib/env/abort unreachable @@ -8521,7 +8542,7 @@ if i32.const 0 i32.const 104 - i32.const 741 + i32.const 749 i32.const 2 call $~lib/env/abort unreachable @@ -8832,7 +8853,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 412 i32.const 4 call $~lib/env/abort unreachable @@ -8999,7 +9020,7 @@ if i32.const 0 i32.const 104 - i32.const 741 + i32.const 749 i32.const 2 call $~lib/env/abort unreachable @@ -9320,7 +9341,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 412 i32.const 4 call $~lib/env/abort unreachable @@ -9487,7 +9508,7 @@ if i32.const 0 i32.const 104 - i32.const 741 + i32.const 749 i32.const 2 call $~lib/env/abort unreachable @@ -9681,7 +9702,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 14 i32.const 2 call $~lib/env/abort @@ -9712,7 +9733,7 @@ i32.eqz if i32.const 0 - i32.const 2976 + i32.const 3184 i32.const 58 i32.const 4 call $~lib/env/abort @@ -9723,7 +9744,7 @@ i32.load i32.ge_u if - i32.const 2824 + i32.const 3032 return end i32.const 1 @@ -9779,7 +9800,7 @@ i32.eqz if i32.const 0 - i32.const 2976 + i32.const 3184 i32.const 110 i32.const 4 call $~lib/env/abort @@ -9789,7 +9810,7 @@ i32.const 0 i32.eq if - i32.const 3064 + i32.const 3272 set_local $1 end get_local $0 @@ -9806,7 +9827,7 @@ i32.const 0 i32.eq if - i32.const 2824 + i32.const 3032 return end get_local $4 @@ -9830,7 +9851,7 @@ get_local $0 i32.eqz if - i32.const 3064 + i32.const 3272 set_local $0 end get_local $0 @@ -9841,7 +9862,7 @@ (local $1 i32) (local $2 i32) (local $3 f64) - i32.const 2824 + i32.const 3032 set_local $1 block $break|0 i32.const 0 @@ -9992,7 +10013,7 @@ i32.eqz if i32.const 0 - i32.const 2976 + i32.const 3184 i32.const 269 i32.const 4 call $~lib/env/abort @@ -10058,7 +10079,7 @@ get_local $3 i32.eqz if - i32.const 2824 + i32.const 3032 return end get_local $8 @@ -10108,10 +10129,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $3 get_local $0 i32.load @@ -10126,8 +10147,8 @@ get_local $2 i32.eqz if - i32.const 3104 - i32.const 3120 + i32.const 3312 + i32.const 3328 block $~lib/internal/arraybuffer/loadUnsafe|inlined.0 (result i32) i32.const 0 set_local $8 @@ -10186,8 +10207,8 @@ set_local $8 get_local $10 get_local $11 - i32.const 3104 - i32.const 3120 + i32.const 3312 + i32.const 3328 get_local $4 i32.const 0 i32.ne @@ -10240,8 +10261,8 @@ set_local $8 get_local $10 get_local $11 - i32.const 3104 - i32.const 3120 + i32.const 3312 + i32.const 3328 get_local $4 i32.const 0 i32.ne @@ -10268,7 +10289,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -10365,7 +10386,7 @@ (local $8 i64) (local $9 i64) block $~lib/internal/number/DIGITS|inlined.0 (result i32) - i32.const 3752 + i32.const 3960 end i32.load set_local $3 @@ -10516,7 +10537,7 @@ get_local $0 i32.eqz if - i32.const 3232 + i32.const 3440 return end get_local $0 @@ -10623,10 +10644,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $3 get_local $0 i32.load @@ -10747,7 +10768,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -10772,7 +10793,7 @@ get_local $0 i32.eqz if - i32.const 3232 + i32.const 3440 return end get_local $0 @@ -10840,10 +10861,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $3 get_local $0 i32.load @@ -10964,7 +10985,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -11042,7 +11063,7 @@ get_local $6 set_local $15 block $~lib/internal/number/POWERS10|inlined.0 (result i32) - i32.const 5536 + i32.const 5744 end i32.load set_local $16 @@ -12038,12 +12059,12 @@ i32.sub set_global $~lib/internal/number/_K block $~lib/internal/number/FRC_POWERS|inlined.0 (result i32) - i32.const 5200 + i32.const 5408 end i32.load set_local $12 block $~lib/internal/number/EXP_POWERS|inlined.0 (result i32) - i32.const 5464 + i32.const 5672 end i32.load set_local $13 @@ -12320,7 +12341,7 @@ f64.const 0 f64.eq if - i32.const 4096 + i32.const 4304 return end get_local $0 @@ -12330,11 +12351,11 @@ get_local $0 call $~lib/builtins/isNaN if - i32.const 4112 + i32.const 4320 return end - i32.const 4128 - i32.const 4152 + i32.const 4336 + i32.const 4360 get_local $0 f64.const 0 f64.lt @@ -12357,7 +12378,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -12430,8 +12451,8 @@ get_local $3 i32.add set_local $4 - i32.const 4128 - i32.const 4152 + i32.const 4336 + i32.const 4360 get_local $3 select set_local $5 @@ -12481,10 +12502,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $3 get_local $0 i32.load @@ -12605,7 +12626,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -12645,10 +12666,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $3 get_local $0 i32.load @@ -12915,10 +12936,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $3 get_local $0 i32.load @@ -12933,7 +12954,7 @@ get_local $2 i32.eqz if - i32.const 5792 + i32.const 6000 return end i32.const 15 @@ -12972,7 +12993,7 @@ if get_local $9 get_local $10 - i32.const 5792 + i32.const 6000 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -13015,7 +13036,7 @@ if get_local $9 get_local $10 - i32.const 5792 + i32.const 6000 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -13039,7 +13060,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13154,10 +13175,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $3 get_local $0 i32.load @@ -13278,7 +13299,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13361,10 +13382,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $3 get_local $0 i32.load @@ -13485,7 +13506,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13586,7 +13607,7 @@ (local $12 i64) (local $13 i64) block $~lib/internal/number/DIGITS|inlined.1 (result i32) - i32.const 6632 + i32.const 6840 end i32.load set_local $3 @@ -13718,7 +13739,7 @@ get_local $0 i64.eqz if - i32.const 3232 + i32.const 3440 return end get_local $0 @@ -13824,10 +13845,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $3 get_local $0 i32.load @@ -13948,7 +13969,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13975,7 +13996,7 @@ get_local $0 i64.eqz if - i32.const 3232 + i32.const 3440 return end get_local $0 @@ -14124,10 +14145,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $3 get_local $0 i32.load @@ -14248,7 +14269,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14284,10 +14305,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $3 get_local $0 i32.load @@ -14319,7 +14340,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 2824 + i32.const 3032 end return end @@ -14453,10 +14474,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $3 get_local $0 i32.load @@ -14577,7 +14598,7 @@ i32.eqz if i32.const 0 - i32.const 3008 + i32.const 3216 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14613,10 +14634,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $3 get_local $0 i32.load @@ -14648,7 +14669,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 2824 + i32.const 3032 end return end @@ -14735,10 +14756,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $3 get_local $0 i32.load @@ -14770,7 +14791,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 2824 + i32.const 3032 end return end @@ -14857,10 +14878,10 @@ i32.const 0 i32.lt_s if - i32.const 2824 + i32.const 3032 return end - i32.const 2824 + i32.const 3032 set_local $3 get_local $0 i32.load @@ -14892,7 +14913,7 @@ get_local $1 call $~lib/array/Array>#join else - i32.const 2824 + i32.const 3032 end return end @@ -17241,6 +17262,76 @@ call $~lib/env/abort unreachable end + i32.const 1848 + set_global $std/array/sarr + block (result i32) + i32.const 1 + set_global $~argc + get_global $std/array/sarr + i32.const -1 + i32.const 0 + call $~lib/array/Array#splice|trampoline + end + i32.const 1872 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 348 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 1912 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 349 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 1952 + set_global $std/array/sarr + block (result i32) + i32.const 1 + set_global $~argc + get_global $std/array/sarr + i32.const -2 + i32.const 0 + call $~lib/array/Array#splice|trampoline + end + i32.const 1976 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 352 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2016 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 353 + i32.const 0 + call $~lib/env/abort + unreachable + end get_global $std/array/arr i32.const 0 i32.const 0 @@ -17268,7 +17359,7 @@ if i32.const 0 i32.const 104 - i32.const 355 + i32.const 363 i32.const 0 call $~lib/env/abort unreachable @@ -17284,7 +17375,7 @@ if i32.const 0 i32.const 104 - i32.const 358 + i32.const 366 i32.const 0 call $~lib/env/abort unreachable @@ -17300,7 +17391,7 @@ if i32.const 0 i32.const 104 - i32.const 361 + i32.const 369 i32.const 0 call $~lib/env/abort unreachable @@ -17316,7 +17407,7 @@ if i32.const 0 i32.const 104 - i32.const 369 + i32.const 377 i32.const 0 call $~lib/env/abort unreachable @@ -17333,7 +17424,7 @@ if i32.const 0 i32.const 104 - i32.const 370 + i32.const 378 i32.const 0 call $~lib/env/abort unreachable @@ -17349,7 +17440,7 @@ if i32.const 0 i32.const 104 - i32.const 372 + i32.const 380 i32.const 0 call $~lib/env/abort unreachable @@ -17377,7 +17468,7 @@ if i32.const 0 i32.const 104 - i32.const 385 + i32.const 393 i32.const 0 call $~lib/env/abort unreachable @@ -17394,7 +17485,7 @@ if i32.const 0 i32.const 104 - i32.const 386 + i32.const 394 i32.const 0 call $~lib/env/abort unreachable @@ -17418,7 +17509,7 @@ if i32.const 0 i32.const 104 - i32.const 394 + i32.const 402 i32.const 0 call $~lib/env/abort unreachable @@ -17434,7 +17525,7 @@ if i32.const 0 i32.const 104 - i32.const 397 + i32.const 405 i32.const 0 call $~lib/env/abort unreachable @@ -17450,7 +17541,7 @@ if i32.const 0 i32.const 104 - i32.const 405 + i32.const 413 i32.const 0 call $~lib/env/abort unreachable @@ -17467,7 +17558,7 @@ if i32.const 0 i32.const 104 - i32.const 406 + i32.const 414 i32.const 0 call $~lib/env/abort unreachable @@ -17483,7 +17574,7 @@ if i32.const 0 i32.const 104 - i32.const 408 + i32.const 416 i32.const 0 call $~lib/env/abort unreachable @@ -17511,7 +17602,7 @@ if i32.const 0 i32.const 104 - i32.const 421 + i32.const 429 i32.const 0 call $~lib/env/abort unreachable @@ -17528,7 +17619,7 @@ if i32.const 0 i32.const 104 - i32.const 422 + i32.const 430 i32.const 0 call $~lib/env/abort unreachable @@ -17552,7 +17643,7 @@ if i32.const 0 i32.const 104 - i32.const 430 + i32.const 438 i32.const 0 call $~lib/env/abort unreachable @@ -17568,7 +17659,7 @@ if i32.const 0 i32.const 104 - i32.const 433 + i32.const 441 i32.const 0 call $~lib/env/abort unreachable @@ -17584,7 +17675,7 @@ if i32.const 0 i32.const 104 - i32.const 441 + i32.const 449 i32.const 0 call $~lib/env/abort unreachable @@ -17601,7 +17692,7 @@ if i32.const 0 i32.const 104 - i32.const 442 + i32.const 450 i32.const 0 call $~lib/env/abort unreachable @@ -17617,7 +17708,7 @@ if i32.const 0 i32.const 104 - i32.const 444 + i32.const 452 i32.const 0 call $~lib/env/abort unreachable @@ -17645,7 +17736,7 @@ if i32.const 0 i32.const 104 - i32.const 457 + i32.const 465 i32.const 0 call $~lib/env/abort unreachable @@ -17662,7 +17753,7 @@ if i32.const 0 i32.const 104 - i32.const 458 + i32.const 466 i32.const 0 call $~lib/env/abort unreachable @@ -17687,7 +17778,7 @@ if i32.const 0 i32.const 104 - i32.const 467 + i32.const 475 i32.const 0 call $~lib/env/abort unreachable @@ -17704,7 +17795,7 @@ if i32.const 0 i32.const 104 - i32.const 476 + i32.const 484 i32.const 0 call $~lib/env/abort unreachable @@ -17721,7 +17812,7 @@ if i32.const 0 i32.const 104 - i32.const 477 + i32.const 485 i32.const 0 call $~lib/env/abort unreachable @@ -17738,7 +17829,7 @@ if i32.const 0 i32.const 104 - i32.const 480 + i32.const 488 i32.const 0 call $~lib/env/abort unreachable @@ -17767,7 +17858,7 @@ if i32.const 0 i32.const 104 - i32.const 494 + i32.const 502 i32.const 0 call $~lib/env/abort unreachable @@ -17784,7 +17875,7 @@ if i32.const 0 i32.const 104 - i32.const 495 + i32.const 503 i32.const 0 call $~lib/env/abort unreachable @@ -17813,7 +17904,7 @@ if i32.const 0 i32.const 104 - i32.const 504 + i32.const 512 i32.const 0 call $~lib/env/abort unreachable @@ -17830,7 +17921,7 @@ if i32.const 0 i32.const 104 - i32.const 505 + i32.const 513 i32.const 0 call $~lib/env/abort unreachable @@ -17848,7 +17939,7 @@ if i32.const 0 i32.const 104 - i32.const 514 + i32.const 522 i32.const 0 call $~lib/env/abort unreachable @@ -17865,7 +17956,7 @@ if i32.const 0 i32.const 104 - i32.const 515 + i32.const 523 i32.const 0 call $~lib/env/abort unreachable @@ -17883,7 +17974,7 @@ if i32.const 0 i32.const 104 - i32.const 522 + i32.const 530 i32.const 0 call $~lib/env/abort unreachable @@ -17913,7 +18004,7 @@ if i32.const 0 i32.const 104 - i32.const 537 + i32.const 545 i32.const 0 call $~lib/env/abort unreachable @@ -17930,7 +18021,7 @@ if i32.const 0 i32.const 104 - i32.const 538 + i32.const 546 i32.const 0 call $~lib/env/abort unreachable @@ -17959,7 +18050,7 @@ if i32.const 0 i32.const 104 - i32.const 546 + i32.const 554 i32.const 0 call $~lib/env/abort unreachable @@ -17977,7 +18068,7 @@ if i32.const 0 i32.const 104 - i32.const 555 + i32.const 563 i32.const 0 call $~lib/env/abort unreachable @@ -17994,7 +18085,7 @@ if i32.const 0 i32.const 104 - i32.const 556 + i32.const 564 i32.const 0 call $~lib/env/abort unreachable @@ -18012,7 +18103,7 @@ if i32.const 0 i32.const 104 - i32.const 563 + i32.const 571 i32.const 0 call $~lib/env/abort unreachable @@ -18042,7 +18133,7 @@ if i32.const 0 i32.const 104 - i32.const 578 + i32.const 586 i32.const 0 call $~lib/env/abort unreachable @@ -18059,7 +18150,7 @@ if i32.const 0 i32.const 104 - i32.const 579 + i32.const 587 i32.const 0 call $~lib/env/abort unreachable @@ -18084,7 +18175,7 @@ if i32.const 0 i32.const 104 - i32.const 587 + i32.const 595 i32.const 0 call $~lib/env/abort unreachable @@ -18101,7 +18192,7 @@ if i32.const 0 i32.const 104 - i32.const 591 + i32.const 599 i32.const 0 call $~lib/env/abort unreachable @@ -18120,7 +18211,7 @@ if i32.const 0 i32.const 104 - i32.const 594 + i32.const 602 i32.const 0 call $~lib/env/abort unreachable @@ -18139,7 +18230,7 @@ if i32.const 0 i32.const 104 - i32.const 597 + i32.const 605 i32.const 0 call $~lib/env/abort unreachable @@ -18156,7 +18247,7 @@ if i32.const 0 i32.const 104 - i32.const 605 + i32.const 613 i32.const 0 call $~lib/env/abort unreachable @@ -18173,7 +18264,7 @@ if i32.const 0 i32.const 104 - i32.const 606 + i32.const 614 i32.const 0 call $~lib/env/abort unreachable @@ -18190,7 +18281,7 @@ if i32.const 0 i32.const 104 - i32.const 608 + i32.const 616 i32.const 0 call $~lib/env/abort unreachable @@ -18219,7 +18310,7 @@ if i32.const 0 i32.const 104 - i32.const 621 + i32.const 629 i32.const 0 call $~lib/env/abort unreachable @@ -18236,7 +18327,7 @@ if i32.const 0 i32.const 104 - i32.const 622 + i32.const 630 i32.const 0 call $~lib/env/abort unreachable @@ -18261,7 +18352,7 @@ if i32.const 0 i32.const 104 - i32.const 630 + i32.const 638 i32.const 0 call $~lib/env/abort unreachable @@ -18278,7 +18369,7 @@ if i32.const 0 i32.const 104 - i32.const 634 + i32.const 642 i32.const 0 call $~lib/env/abort unreachable @@ -18297,7 +18388,7 @@ if i32.const 0 i32.const 104 - i32.const 637 + i32.const 645 i32.const 0 call $~lib/env/abort unreachable @@ -18316,7 +18407,7 @@ if i32.const 0 i32.const 104 - i32.const 640 + i32.const 648 i32.const 0 call $~lib/env/abort unreachable @@ -18333,7 +18424,7 @@ if i32.const 0 i32.const 104 - i32.const 648 + i32.const 656 i32.const 0 call $~lib/env/abort unreachable @@ -18350,7 +18441,7 @@ if i32.const 0 i32.const 104 - i32.const 649 + i32.const 657 i32.const 0 call $~lib/env/abort unreachable @@ -18367,7 +18458,7 @@ if i32.const 0 i32.const 104 - i32.const 651 + i32.const 659 i32.const 0 call $~lib/env/abort unreachable @@ -18396,7 +18487,7 @@ if i32.const 0 i32.const 104 - i32.const 664 + i32.const 672 i32.const 0 call $~lib/env/abort unreachable @@ -18413,7 +18504,7 @@ if i32.const 0 i32.const 104 - i32.const 665 + i32.const 673 i32.const 0 call $~lib/env/abort unreachable @@ -18446,14 +18537,14 @@ end drop get_global $std/array/f32ArrayTyped - i32.const 2160 + i32.const 2368 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 752 + i32.const 760 i32.const 0 call $~lib/env/abort unreachable @@ -18467,14 +18558,14 @@ end drop get_global $std/array/f64ArrayTyped - i32.const 2432 + i32.const 2640 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 756 + i32.const 764 i32.const 0 call $~lib/env/abort unreachable @@ -18488,14 +18579,14 @@ end drop get_global $std/array/i32ArrayTyped - i32.const 2512 + i32.const 2720 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 760 + i32.const 768 i32.const 0 call $~lib/env/abort unreachable @@ -18509,14 +18600,14 @@ end drop get_global $std/array/u32ArrayTyped - i32.const 2592 + i32.const 2800 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 764 + i32.const 772 i32.const 0 call $~lib/env/abort unreachable @@ -18541,14 +18632,14 @@ get_global $std/array/reversed1 call $std/array/assertSortedDefault get_global $std/array/reversed1 - i32.const 2760 + i32.const 2968 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 784 + i32.const 792 i32.const 0 call $~lib/env/abort unreachable @@ -18556,14 +18647,14 @@ get_global $std/array/reversed2 call $std/array/assertSortedDefault get_global $std/array/reversed2 - i32.const 2784 + i32.const 2992 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 787 + i32.const 795 i32.const 0 call $~lib/env/abort unreachable @@ -18578,7 +18669,7 @@ if i32.const 0 i32.const 104 - i32.const 790 + i32.const 798 i32.const 0 call $~lib/env/abort unreachable @@ -18593,7 +18684,7 @@ if i32.const 0 i32.const 104 - i32.const 793 + i32.const 801 i32.const 0 call $~lib/env/abort unreachable @@ -18608,7 +18699,7 @@ if i32.const 0 i32.const 104 - i32.const 796 + i32.const 804 i32.const 0 call $~lib/env/abort unreachable @@ -18623,7 +18714,7 @@ if i32.const 0 i32.const 104 - i32.const 799 + i32.const 807 i32.const 0 call $~lib/env/abort unreachable @@ -18638,7 +18729,7 @@ if i32.const 0 i32.const 104 - i32.const 802 + i32.const 810 i32.const 0 call $~lib/env/abort unreachable @@ -18686,7 +18777,7 @@ if i32.const 0 i32.const 104 - i32.const 831 + i32.const 839 i32.const 0 call $~lib/env/abort unreachable @@ -18697,86 +18788,86 @@ get_global $std/array/randomStrings400 i32.const 55 call $std/array/assertSorted - i32.const 3160 - i32.const 3136 + i32.const 3368 + i32.const 3344 call $~lib/array/Array#join - i32.const 3168 + i32.const 3376 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 840 + i32.const 848 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3792 - i32.const 2824 + i32.const 4000 + i32.const 3032 call $~lib/array/Array#join - i32.const 3800 + i32.const 4008 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 841 + i32.const 849 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3896 - i32.const 3856 + i32.const 4104 + i32.const 4064 call $~lib/array/Array#join - i32.const 3800 + i32.const 4008 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 842 + i32.const 850 i32.const 0 call $~lib/env/abort unreachable end - i32.const 3952 - i32.const 3928 + i32.const 4160 + i32.const 4136 call $~lib/array/Array#join - i32.const 3960 + i32.const 4168 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 843 + i32.const 851 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5608 - i32.const 4088 + i32.const 5816 + i32.const 4296 call $~lib/array/Array#join - i32.const 5616 + i32.const 5824 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 844 + i32.const 852 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5784 - i32.const 2824 + i32.const 5992 + i32.const 3032 call $~lib/array/Array#join - i32.const 5704 + i32.const 5912 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 845 + i32.const 853 i32.const 0 call $~lib/env/abort unreachable @@ -18804,15 +18895,15 @@ end set_global $std/array/refArr get_global $std/array/refArr - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join - i32.const 5832 + i32.const 6040 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 847 + i32.const 855 i32.const 0 call $~lib/env/abort unreachable @@ -18821,16 +18912,16 @@ get_global $std/array/reversed0 set_local $3 get_local $3 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join end - i32.const 2824 + i32.const 3032 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 851 + i32.const 859 i32.const 0 call $~lib/env/abort unreachable @@ -18839,16 +18930,16 @@ get_global $std/array/reversed1 set_local $3 get_local $3 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join end - i32.const 5704 + i32.const 5912 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 852 + i32.const 860 i32.const 0 call $~lib/env/abort unreachable @@ -18857,16 +18948,16 @@ get_global $std/array/reversed2 set_local $3 get_local $3 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join end - i32.const 5904 + i32.const 6112 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 853 + i32.const 861 i32.const 0 call $~lib/env/abort unreachable @@ -18875,88 +18966,88 @@ get_global $std/array/reversed4 set_local $3 get_local $3 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join end - i32.const 5920 + i32.const 6128 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 854 + i32.const 862 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 5984 + i32.const 6192 set_local $3 get_local $3 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join end - i32.const 5992 + i32.const 6200 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 856 + i32.const 864 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6048 + i32.const 6256 set_local $3 get_local $3 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join end - i32.const 6056 + i32.const 6264 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 857 + i32.const 865 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6672 + i32.const 6880 set_local $3 get_local $3 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join end - i32.const 6680 + i32.const 6888 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 858 + i32.const 866 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6872 + i32.const 7080 set_local $3 get_local $3 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join end - i32.const 6880 + i32.const 7088 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 859 + i32.const 867 i32.const 0 call $~lib/env/abort unreachable @@ -18965,34 +19056,34 @@ get_global $std/array/randomStringsExpected set_local $3 get_local $3 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join end - i32.const 6968 + i32.const 7176 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 860 + i32.const 868 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.3 (result i32) - i32.const 7088 + i32.const 7296 set_local $3 get_local $3 - i32.const 3136 + i32.const 3344 call $~lib/array/Array#join end - i32.const 7096 + i32.const 7304 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 861 + i32.const 869 i32.const 0 call $~lib/env/abort unreachable @@ -19001,16 +19092,16 @@ get_global $std/array/subarr32 set_local $3 get_local $3 - i32.const 3136 + i32.const 3344 call $~lib/array/Array>#join end - i32.const 7184 + i32.const 7392 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 864 + i32.const 872 i32.const 0 call $~lib/env/abort unreachable @@ -19019,16 +19110,16 @@ get_global $std/array/subarr8 set_local $3 get_local $3 - i32.const 3136 + i32.const 3344 call $~lib/array/Array>#join end - i32.const 7184 + i32.const 7392 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 867 + i32.const 875 i32.const 0 call $~lib/env/abort unreachable @@ -19037,16 +19128,16 @@ get_global $std/array/subarrU32 set_local $3 get_local $3 - i32.const 3136 + i32.const 3344 call $~lib/array/Array>>#join end - i32.const 5704 + i32.const 5912 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 870 + i32.const 878 i32.const 0 call $~lib/env/abort unreachable From a6a35ac99e7bcdea17c4dc5d6af5a7bbb6a2e80d Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Tue, 27 Nov 2018 17:53:45 +0200 Subject: [PATCH 4/9] more fixes (wip) --- std/assembly/array.ts | 14 +- tests/compiler/std/array.optimized.wat | 958 +++++++++++++------------ tests/compiler/std/array.ts | 4 + tests/compiler/std/array.untouched.wat | 891 ++++++++++++----------- 4 files changed, 963 insertions(+), 904 deletions(-) diff --git a/std/assembly/array.ts b/std/assembly/array.ts index ae8b85abbe..0b88361c62 100644 --- a/std/assembly/array.ts +++ b/std/assembly/array.ts @@ -372,28 +372,26 @@ export class Array { } splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array { - // if (deleteCount < 1) return new Array(); var length = this.length_; - var actualStart = start < 0 ? max(length + start, 0) : min(start, length); - deleteCount = min(deleteCount, length - actualStart); + start = start < 0 ? max(length + start, 0) : min(start, length); + deleteCount = min(deleteCount, length - start); var buffer = this.buffer_; var spliced = new Array(deleteCount); - var source = changetype(buffer) + HEADER_SIZE + (actualStart << alignof()); + var source = changetype(buffer) + HEADER_SIZE + (start << alignof()); memory.copy( changetype(spliced.buffer_) + HEADER_SIZE, source, deleteCount << alignof() ); - var newLength = length - deleteCount; var offset = start + deleteCount; - if (newLength != 0 && offset != 0) { + if (length != offset) { memory.copy( source, changetype(buffer) + HEADER_SIZE + (offset << alignof()), - newLength << alignof() + (length - offset) << alignof() ); } - this.length_ = newLength; + this.length_ = length - deleteCount; return spliced; } diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index c4321f4d1a..429e6f22e6 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -135,163 +135,169 @@ (data (i32.const 1976) "\a8\07\00\00\02") (data (i32.const 1984) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") (data (i32.const 2016) "\c0\07\00\00\03") - (data (i32.const 2024) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 2056) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?") - (data (i32.const 2232) " ") - (data (i32.const 2242) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") - (data (i32.const 2296) "\b8\08\00\00\08") - (data (i32.const 2304) " ") - (data (i32.const 2314) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") - (data (i32.const 2369) "\t\00\00\08") - (data (i32.const 2376) "@") - (data (i32.const 2390) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") - (data (i32.const 2430) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") - (data (i32.const 2504) "H\t\00\00\08") - (data (i32.const 2512) "@") - (data (i32.const 2526) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") - (data (i32.const 2558) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") - (data (i32.const 2640) "\d0\t\00\00\08") - (data (i32.const 2648) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") - (data (i32.const 2680) "X\n\00\00\05") - (data (i32.const 2688) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") - (data (i32.const 2720) "\80\n\00\00\05") - (data (i32.const 2728) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") - (data (i32.const 2760) "\a8\n\00\00\05") - (data (i32.const 2768) "\14") - (data (i32.const 2780) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 2800) "\d0\n\00\00\05") - (data (i32.const 2816) "\f8\n") - (data (i32.const 2824) "\04\00\00\00\00\00\00\00\01") - (data (i32.const 2840) "\08\0b\00\00\01") - (data (i32.const 2848) "\08\00\00\00\00\00\00\00\02\00\00\00\01") - (data (i32.const 2864) " \0b\00\00\02") - (data (i32.const 2872) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") - (data (i32.const 2904) "8\0b\00\00\04") - (data (i32.const 2912) "\10") - (data (i32.const 2924) "\01\00\00\00\02\00\00\00\03") - (data (i32.const 2944) "`\0b\00\00\04") - (data (i32.const 2952) "\04\00\00\00\00\00\00\00\01") - (data (i32.const 2968) "\88\0b\00\00\01") - (data (i32.const 2976) "\08\00\00\00\00\00\00\00\01\00\00\00\02") - (data (i32.const 2992) "\a0\0b\00\00\02") - (data (i32.const 3000) "\01\00\00\00a") - (data (i32.const 3008) "\01\00\00\00b") - (data (i32.const 3016) "\02\00\00\00a\00b") - (data (i32.const 3024) "\02\00\00\00b\00a") - (data (i32.const 3040) "\1c\00\00\00\00\00\00\00\b8\0b\00\00\c0\0b\00\00\b8\0b\00\00\c8\0b\00\00\d0\0b\00\00\d8\0b") - (data (i32.const 3104) "\e0\0b\00\00\07") - (data (i32.const 3112) "\1c\00\00\00\00\00\00\00\d8\0b\00\00\b8\0b\00\00\b8\0b\00\00\c8\0b\00\00\c0\0b\00\00\d0\0b") - (data (i32.const 3176) "(\0c\00\00\07") - (data (i32.const 3184) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 3216) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 3272) "\04\00\00\00n\00u\00l\00l") - (data (i32.const 3288) "\02\00\00\00\00\00\00\00\01") - (data (i32.const 3304) "\d8\0c\00\00\02") - (data (i32.const 3312) "\04\00\00\00t\00r\00u\00e") - (data (i32.const 3328) "\05\00\00\00f\00a\00l\00s\00e") - (data (i32.const 3344) "\01\00\00\00,") - (data (i32.const 3352) "\02\00\00\00\00\00\00\00\01") - (data (i32.const 3368) "\18\0d\00\00\02") - (data (i32.const 3376) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") - (data (i32.const 3400) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 3432) "H\0d\00\00\03") - (data (i32.const 3440) "\01\00\00\000") - (data (i32.const 3448) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 3960) "x\0d\00\00d") - (data (i32.const 3968) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 4000) "\80\0f\00\00\03") - (data (i32.const 4008) "\05\00\00\001\00-\002\00-\003") - (data (i32.const 4024) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 4056) "\b8\0f\00\00\03") - (data (i32.const 4064) "\01\00\00\00-") - (data (i32.const 4072) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 2024) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2056) "\e8\07\00\00\05") + (data (i32.const 2064) "\04\00\00\00\00\00\00\00\04") + (data (i32.const 2080) "\10\08\00\00\01") + (data (i32.const 2088) "\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05") + (data (i32.const 2120) "(\08\00\00\04") + (data (i32.const 2128) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") + (data (i32.const 2160) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?") + (data (i32.const 2336) " ") + (data (i32.const 2346) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") + (data (i32.const 2400) " \t\00\00\08") + (data (i32.const 2408) " ") + (data (i32.const 2418) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") + (data (i32.const 2472) "h\t\00\00\08") + (data (i32.const 2480) "@") + (data (i32.const 2494) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") + (data (i32.const 2534) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") + (data (i32.const 2608) "\b0\t\00\00\08") + (data (i32.const 2616) "@") + (data (i32.const 2630) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") + (data (i32.const 2662) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") + (data (i32.const 2744) "8\n\00\00\08") + (data (i32.const 2752) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") + (data (i32.const 2784) "\c0\n\00\00\05") + (data (i32.const 2792) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") + (data (i32.const 2824) "\e8\n\00\00\05") + (data (i32.const 2832) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") + (data (i32.const 2864) "\10\0b\00\00\05") + (data (i32.const 2872) "\14") + (data (i32.const 2884) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 2904) "8\0b\00\00\05") + (data (i32.const 2920) "`\0b") + (data (i32.const 2928) "\04\00\00\00\00\00\00\00\01") + (data (i32.const 2944) "p\0b\00\00\01") + (data (i32.const 2952) "\08\00\00\00\00\00\00\00\02\00\00\00\01") + (data (i32.const 2968) "\88\0b\00\00\02") + (data (i32.const 2976) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") + (data (i32.const 3008) "\a0\0b\00\00\04") + (data (i32.const 3016) "\10") + (data (i32.const 3028) "\01\00\00\00\02\00\00\00\03") + (data (i32.const 3048) "\c8\0b\00\00\04") + (data (i32.const 3056) "\04\00\00\00\00\00\00\00\01") + (data (i32.const 3072) "\f0\0b\00\00\01") + (data (i32.const 3080) "\08\00\00\00\00\00\00\00\01\00\00\00\02") + (data (i32.const 3096) "\08\0c\00\00\02") + (data (i32.const 3104) "\01\00\00\00a") + (data (i32.const 3112) "\01\00\00\00b") + (data (i32.const 3120) "\02\00\00\00a\00b") + (data (i32.const 3128) "\02\00\00\00b\00a") + (data (i32.const 3144) "\1c\00\00\00\00\00\00\00 \0c\00\00(\0c\00\00 \0c\00\000\0c\00\008\0c\00\00@\0c") + (data (i32.const 3208) "H\0c\00\00\07") + (data (i32.const 3216) "\1c\00\00\00\00\00\00\00@\0c\00\00 \0c\00\00 \0c\00\000\0c\00\00(\0c\00\008\0c") + (data (i32.const 3280) "\90\0c\00\00\07") + (data (i32.const 3288) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 3320) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 3376) "\04\00\00\00n\00u\00l\00l") + (data (i32.const 3392) "\02\00\00\00\00\00\00\00\01") + (data (i32.const 3408) "@\0d\00\00\02") + (data (i32.const 3416) "\04\00\00\00t\00r\00u\00e") + (data (i32.const 3432) "\05\00\00\00f\00a\00l\00s\00e") + (data (i32.const 3448) "\01\00\00\00,") + (data (i32.const 3456) "\02\00\00\00\00\00\00\00\01") + (data (i32.const 3472) "\80\0d\00\00\02") + (data (i32.const 3480) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") + (data (i32.const 3504) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 3536) "\b0\0d\00\00\03") + (data (i32.const 3544) "\01\00\00\000") + (data (i32.const 3552) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data (i32.const 4064) "\e0\0d\00\00d") + (data (i32.const 4072) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") (data (i32.const 4104) "\e8\0f\00\00\03") - (data (i32.const 4112) "\08") - (data (i32.const 4123) "\80\00\00\00\80") - (data (i32.const 4128) "\10\10\00\00\02") - (data (i32.const 4136) "\02\00\00\00_\00_") - (data (i32.const 4144) "\08") - (data (i32.const 4155) "\80\00\00\00\80") - (data (i32.const 4160) "0\10\00\00\02") - (data (i32.const 4168) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 4224) "0") - (data (i32.const 4246) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") - (data (i32.const 4288) "\80\10\00\00\06") - (data (i32.const 4296) "\02\00\00\00,\00 ") - (data (i32.const 4304) "\03\00\00\000\00.\000") - (data (i32.const 4320) "\03\00\00\00N\00a\00N") - (data (i32.const 4336) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4360) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4384) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#sort|trampoline~anonymous|43 $~lib/array/Array#sort|trampoline~anonymous|44 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|46 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|45 $start~anonymous|49 $~lib/array/Array#sort|trampoline~anonymous|45 $start~anonymous|49 $start~anonymous|52 $start~anonymous|53 $start~anonymous|54 $start~anonymous|54) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -324,15 +330,15 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 2296)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 2504)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 2680)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 2760)) - (global $std/array/reversed0 (mut i32) (i32.const 2816)) - (global $std/array/reversed1 (mut i32) (i32.const 2840)) - (global $std/array/reversed2 (mut i32) (i32.const 2864)) - (global $std/array/reversed4 (mut i32) (i32.const 2904)) - (global $std/array/expected4 (mut i32) (i32.const 2944)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 2400)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 2608)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 2784)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 2864)) + (global $std/array/reversed0 (mut i32) (i32.const 2920)) + (global $std/array/reversed1 (mut i32) (i32.const 2944)) + (global $std/array/reversed2 (mut i32) (i32.const 2968)) + (global $std/array/reversed4 (mut i32) (i32.const 3008)) + (global $std/array/expected4 (mut i32) (i32.const 3048)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -342,13 +348,13 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 3104)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 3176)) + (global $std/array/randomStringsActual (mut i32) (i32.const 3208)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 3280)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $std/array/refArr (mut i32) (i32.const 0)) - (global $std/array/subarr32 (mut i32) (i32.const 7384)) - (global $std/array/subarr8 (mut i32) (i32.const 7480)) - (global $std/array/subarrU32 (mut i32) (i32.const 7552)) + (global $std/array/subarr32 (mut i32) (i32.const 7488)) + (global $std/array/subarr8 (mut i32) (i32.const 7584)) + (global $std/array/subarrU32 (mut i32) (i32.const 7656)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -2862,84 +2868,73 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) get_local $0 i32.load offset=4 - set_local $4 + set_local $3 get_local $1 i32.const 0 i32.lt_s if (result i32) - get_local $4 + get_local $3 get_local $1 i32.add - tee_local $3 + tee_local $4 i32.const 0 - get_local $3 + get_local $4 i32.const 0 i32.gt_s select else get_local $1 - get_local $4 + tee_local $4 + get_local $3 get_local $1 - get_local $4 + get_local $3 i32.lt_s select end - set_local $5 - get_local $0 - i32.load - set_local $6 + set_local $1 get_local $2 - tee_local $3 - get_local $4 - get_local $5 + tee_local $4 + get_local $3 + get_local $1 i32.sub tee_local $2 - get_local $3 + get_local $4 get_local $2 i32.lt_s select - tee_local $2 + set_local $2 + get_local $0 + i32.load + set_local $4 + get_local $2 call $~lib/array/Array#constructor - tee_local $7 + tee_local $5 i32.load i32.const 8 i32.add - get_local $6 + get_local $4 i32.const 8 i32.add - get_local $5 + get_local $1 i32.const 2 i32.shl i32.add - tee_local $5 + tee_local $6 get_local $2 i32.const 2 i32.shl call $~lib/internal/memory/memmove + get_local $3 get_local $1 get_local $2 i32.add - set_local $1 - get_local $4 - get_local $2 - i32.sub - tee_local $3 - i32.const 0 + tee_local $1 i32.ne - tee_local $2 if - get_local $1 - i32.const 0 - i32.ne - set_local $2 - end - get_local $2 - if - get_local $5 get_local $6 + get_local $4 i32.const 8 i32.add get_local $1 @@ -2947,14 +2942,18 @@ i32.shl i32.add get_local $3 + get_local $1 + i32.sub i32.const 2 i32.shl call $~lib/internal/memory/memmove end get_local $0 get_local $3 + get_local $2 + i32.sub i32.store offset=4 - get_local $7 + get_local $5 ) (func $~lib/array/Array#splice|trampoline (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -3785,7 +3784,7 @@ i64.eqz if i32.const 0 - i32.const 2024 + i32.const 2128 i32.const 959 i32.const 4 call $~lib/env/abort @@ -4200,7 +4199,7 @@ if i32.const 0 i32.const 8 - i32.const 412 + i32.const 410 i32.const 4 call $~lib/env/abort unreachable @@ -4305,7 +4304,7 @@ get_local $0 i32.load offset=4 tee_local $5 - i32.const 2372 + i32.const 2476 i32.load i32.ne if @@ -4313,7 +4312,7 @@ return end get_local $0 - i32.const 2368 + i32.const 2472 i32.eq if i32.const 1 @@ -4350,7 +4349,7 @@ f32.ne set_local $4 get_local $1 - i32.const 2368 + i32.const 2472 i32.load tee_local $2 i32.load @@ -4395,7 +4394,7 @@ end set_local $3 get_local $1 - i32.const 2368 + i32.const 2472 i32.load tee_local $2 i32.load @@ -4786,7 +4785,7 @@ if i32.const 0 i32.const 8 - i32.const 412 + i32.const 410 i32.const 4 call $~lib/env/abort unreachable @@ -4891,7 +4890,7 @@ get_local $0 i32.load offset=4 tee_local $5 - i32.const 2644 + i32.const 2748 i32.load i32.ne if @@ -4899,7 +4898,7 @@ return end get_local $0 - i32.const 2640 + i32.const 2744 i32.eq if i32.const 1 @@ -4936,7 +4935,7 @@ f64.ne set_local $4 get_local $1 - i32.const 2640 + i32.const 2744 i32.load tee_local $2 i32.load @@ -4981,7 +4980,7 @@ end set_local $3 get_local $1 - i32.const 2640 + i32.const 2744 i32.load tee_local $2 i32.load @@ -5373,7 +5372,7 @@ if i32.const 0 i32.const 8 - i32.const 412 + i32.const 410 i32.const 4 call $~lib/env/abort unreachable @@ -5494,7 +5493,7 @@ i32.eqz if i32.const 0 - i32.const 2024 + i32.const 2128 i32.const 968 i32.const 24 call $~lib/env/abort @@ -5659,7 +5658,7 @@ if i32.const 0 i32.const 104 - i32.const 749 + i32.const 753 i32.const 2 call $~lib/env/abort unreachable @@ -5775,7 +5774,7 @@ if i32.const 0 i32.const 8 - i32.const 412 + i32.const 410 i32.const 4 call $~lib/env/abort unreachable @@ -5841,7 +5840,7 @@ if i32.const 0 i32.const 104 - i32.const 749 + i32.const 753 i32.const 2 call $~lib/env/abort unreachable @@ -6188,7 +6187,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 14 i32.const 2 call $~lib/env/abort @@ -6208,11 +6207,11 @@ (func $~lib/string/String#charAt (; 104 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) get_local $0 - i32.const 2056 + i32.const 2160 i32.load i32.ge_u if - i32.const 3032 + i32.const 3136 return end i32.const 1 @@ -6221,7 +6220,7 @@ get_local $0 i32.const 1 i32.shl - i32.const 2056 + i32.const 2160 i32.add i32.load16_u offset=4 i32.store16 offset=4 @@ -6255,7 +6254,7 @@ i32.eqz if i32.const 0 - i32.const 3184 + i32.const 3288 i32.const 110 i32.const 4 call $~lib/env/abort @@ -6264,7 +6263,7 @@ get_local $1 i32.eqz if - i32.const 3272 + i32.const 3376 set_local $1 end get_local $0 @@ -6277,7 +6276,7 @@ tee_local $2 i32.eqz if - i32.const 3032 + i32.const 3136 return end get_local $2 @@ -6300,7 +6299,7 @@ get_local $0 i32.eqz if - i32.const 3272 + i32.const 3376 set_local $0 end get_local $0 @@ -6310,7 +6309,7 @@ (func $std/array/createRandomString (; 108 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - i32.const 3032 + i32.const 3136 set_local $1 block $break|0 loop $repeat|0 @@ -6320,7 +6319,7 @@ br_if $break|0 get_local $1 call $~lib/math/NativeMath.random - i32.const 2056 + i32.const 2160 i32.load f64.convert_s/i32 f64.mul @@ -6380,7 +6379,7 @@ i32.eqz if i32.const 0 - i32.const 3184 + i32.const 3288 i32.const 269 i32.const 4 call $~lib/env/abort @@ -6426,7 +6425,7 @@ tee_local $3 i32.eqz if - i32.const 3032 + i32.const 3136 return end get_local $4 @@ -6465,7 +6464,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) - i32.const 3372 + i32.const 3476 i32.load i32.const 1 i32.sub @@ -6473,13 +6472,13 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3368 + i32.const 3472 i32.load set_local $5 - i32.const 3344 + i32.const 3448 i32.load tee_local $6 i32.const 0 @@ -6488,8 +6487,8 @@ get_local $4 i32.eqz if - i32.const 3312 - i32.const 3328 + i32.const 3416 + i32.const 3432 get_local $5 i32.load8_u offset=8 select @@ -6523,8 +6522,8 @@ set_local $3 get_local $2 get_local $0 - i32.const 3312 - i32.const 3328 + i32.const 3416 + i32.const 3432 get_local $9 select i32.const 0 @@ -6538,7 +6537,7 @@ if get_local $2 get_local $0 - i32.const 3344 + i32.const 3448 i32.const 0 get_local $6 call $~lib/internal/string/copyUnsafe @@ -6567,8 +6566,8 @@ set_local $3 get_local $2 get_local $0 - i32.const 3312 - i32.const 3328 + i32.const 3416 + i32.const 3432 get_local $1 select i32.const 0 @@ -6591,7 +6590,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6657,7 +6656,7 @@ (func $~lib/internal/number/utoa32_lut (; 113 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - i32.const 3960 + i32.const 4064 i32.load set_local $3 loop $continue|0 @@ -6771,7 +6770,7 @@ get_local $0 i32.eqz if - i32.const 3440 + i32.const 3544 return end get_local $0 @@ -6860,7 +6859,7 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end get_local $0 @@ -6952,7 +6951,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6967,7 +6966,7 @@ get_local $0 i32.eqz if - i32.const 3440 + i32.const 3544 return end get_local $0 @@ -7021,7 +7020,7 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end get_local $0 @@ -7113,7 +7112,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -7157,7 +7156,7 @@ tee_local $7 call $~lib/internal/number/decimalCount32 set_local $9 - i32.const 5744 + i32.const 5848 i32.load set_local $12 loop $continue|0 @@ -7922,10 +7921,10 @@ i32.shl i32.sub set_global $~lib/internal/number/_K - i32.const 5672 + i32.const 5776 i32.load set_local $4 - i32.const 5408 + i32.const 5512 i32.load get_local $5 i32.const 3 @@ -8131,7 +8130,7 @@ f64.const 0 f64.eq if - i32.const 4304 + i32.const 4408 return end get_local $0 @@ -8144,11 +8143,11 @@ get_local $0 f64.ne if - i32.const 4320 + i32.const 4424 return end - i32.const 4336 - i32.const 4360 + i32.const 4440 + i32.const 4464 get_local $0 f64.const 0 f64.lt @@ -8169,7 +8168,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8226,8 +8225,8 @@ i32.const 4 i32.add tee_local $1 - i32.const 4336 - i32.const 4360 + i32.const 4440 + i32.const 4464 get_local $2 f64.const 0 f64.lt @@ -8260,7 +8259,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 5820 + i32.const 5924 i32.load i32.const 1 i32.sub @@ -8268,13 +8267,13 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 5816 + i32.const 5920 i32.load set_local $4 - i32.const 4296 + i32.const 4400 i32.load tee_local $5 i32.const 0 @@ -8319,7 +8318,7 @@ if get_local $2 get_local $0 - i32.const 4296 + i32.const 4400 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8359,7 +8358,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8384,7 +8383,7 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end get_local $0 @@ -8528,13 +8527,13 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end get_local $0 i32.load set_local $5 - i32.const 3344 + i32.const 3448 i32.load tee_local $4 i32.const 0 @@ -8543,7 +8542,7 @@ get_local $3 i32.eqz if - i32.const 6000 + i32.const 6104 return end get_local $4 @@ -8570,7 +8569,7 @@ if get_local $0 get_local $1 - i32.const 6000 + i32.const 6104 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -8583,7 +8582,7 @@ if get_local $0 get_local $1 - i32.const 3344 + i32.const 3448 i32.const 0 get_local $4 call $~lib/internal/string/copyUnsafe @@ -8608,7 +8607,7 @@ if get_local $0 get_local $1 - i32.const 6000 + i32.const 6104 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -8631,7 +8630,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8704,7 +8703,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6196 + i32.const 6300 i32.load i32.const 1 i32.sub @@ -8712,13 +8711,13 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 6192 + i32.const 6296 i32.load set_local $4 - i32.const 3344 + i32.const 3448 i32.load tee_local $5 i32.const 0 @@ -8761,7 +8760,7 @@ if get_local $2 get_local $0 - i32.const 3344 + i32.const 3448 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8799,7 +8798,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8847,7 +8846,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6260 + i32.const 6364 i32.load i32.const 1 i32.sub @@ -8855,13 +8854,13 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 6256 + i32.const 6360 i32.load set_local $4 - i32.const 3344 + i32.const 3448 i32.load tee_local $5 i32.const 0 @@ -8906,7 +8905,7 @@ if get_local $2 get_local $0 - i32.const 3344 + i32.const 3448 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8946,7 +8945,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9014,7 +9013,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 6840 + i32.const 6944 i32.load set_local $3 loop $continue|0 @@ -9113,7 +9112,7 @@ get_local $0 i64.eqz if - i32.const 3440 + i32.const 3544 return end get_local $0 @@ -9191,7 +9190,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6884 + i32.const 6988 i32.load i32.const 1 i32.sub @@ -9199,13 +9198,13 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 6880 + i32.const 6984 i32.load set_local $4 - i32.const 3344 + i32.const 3448 i32.load tee_local $5 i32.const 0 @@ -9250,7 +9249,7 @@ if get_local $2 get_local $0 - i32.const 3344 + i32.const 3448 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -9290,7 +9289,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9307,7 +9306,7 @@ get_local $0 i64.eqz if - i32.const 3440 + i32.const 3544 return end get_local $0 @@ -9426,7 +9425,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 7084 + i32.const 7188 i32.load i32.const 1 i32.sub @@ -9434,13 +9433,13 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 7080 + i32.const 7184 i32.load set_local $4 - i32.const 3344 + i32.const 3448 i32.load tee_local $5 i32.const 0 @@ -9485,7 +9484,7 @@ if get_local $2 get_local $0 - i32.const 3344 + i32.const 3448 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -9525,7 +9524,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9548,15 +9547,15 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $1 get_local $0 i32.load set_local $4 - i32.const 3344 + i32.const 3448 i32.load i32.const 0 i32.ne @@ -9569,10 +9568,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join else - i32.const 3032 + i32.const 3136 end tee_local $0 return @@ -9595,7 +9594,7 @@ if get_local $1 get_local $2 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9603,7 +9602,7 @@ get_local $5 if get_local $1 - i32.const 3344 + i32.const 3448 call $~lib/string/String.__concat set_local $1 end @@ -9626,7 +9625,7 @@ if get_local $1 get_local $2 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9679,7 +9678,7 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end get_local $0 @@ -9767,7 +9766,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9790,15 +9789,15 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $1 get_local $0 i32.load set_local $4 - i32.const 3344 + i32.const 3448 i32.load i32.const 0 i32.ne @@ -9811,10 +9810,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join else - i32.const 3032 + i32.const 3136 end tee_local $0 return @@ -9837,7 +9836,7 @@ if get_local $1 get_local $2 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9845,7 +9844,7 @@ get_local $5 if get_local $1 - i32.const 3344 + i32.const 3448 call $~lib/string/String.__concat set_local $1 end @@ -9868,7 +9867,7 @@ if get_local $1 get_local $2 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9889,10 +9888,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $2 get_local $0 i32.load @@ -9913,7 +9912,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3032 + i32.const 3136 end tee_local $0 return @@ -9988,15 +9987,15 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $1 get_local $0 i32.load set_local $4 - i32.const 3344 + i32.const 3448 i32.load i32.const 0 i32.ne @@ -10009,10 +10008,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 3344 + i32.const 3448 call $~lib/array/Array>#join else - i32.const 3032 + i32.const 3136 end tee_local $0 return @@ -10035,7 +10034,7 @@ if get_local $1 get_local $2 - i32.const 3344 + i32.const 3448 call $~lib/array/Array>#join call $~lib/string/String.__concat set_local $1 @@ -10043,7 +10042,7 @@ get_local $5 if get_local $1 - i32.const 3344 + i32.const 3448 call $~lib/string/String.__concat set_local $1 end @@ -10066,7 +10065,7 @@ if get_local $1 get_local $2 - i32.const 3344 + i32.const 3448 call $~lib/array/Array>#join call $~lib/string/String.__concat set_local $1 @@ -10077,7 +10076,7 @@ (local $0 i32) (local $1 i32) (local $2 f32) - i32.const 7560 + i32.const 7664 set_global $~lib/allocator/arena/startOffset get_global $~lib/allocator/arena/startOffset set_global $~lib/allocator/arena/offset @@ -12600,6 +12599,37 @@ call $~lib/env/abort unreachable end + i32.const 2056 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const -2 + i32.const 1 + call $~lib/array/Array#splice + i32.const 2080 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 356 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2120 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 357 + i32.const 0 + call $~lib/env/abort + unreachable + end get_global $std/array/arr i32.const 0 i32.const 0 @@ -12624,7 +12654,7 @@ if i32.const 0 i32.const 104 - i32.const 363 + i32.const 367 i32.const 0 call $~lib/env/abort unreachable @@ -12639,7 +12669,7 @@ if i32.const 0 i32.const 104 - i32.const 366 + i32.const 370 i32.const 0 call $~lib/env/abort unreachable @@ -12654,7 +12684,7 @@ if i32.const 0 i32.const 104 - i32.const 369 + i32.const 373 i32.const 0 call $~lib/env/abort unreachable @@ -12669,7 +12699,7 @@ if i32.const 0 i32.const 104 - i32.const 377 + i32.const 381 i32.const 0 call $~lib/env/abort unreachable @@ -12681,7 +12711,7 @@ if i32.const 0 i32.const 104 - i32.const 378 + i32.const 382 i32.const 0 call $~lib/env/abort unreachable @@ -12696,7 +12726,7 @@ if i32.const 0 i32.const 104 - i32.const 380 + i32.const 384 i32.const 0 call $~lib/env/abort unreachable @@ -12723,7 +12753,7 @@ if i32.const 0 i32.const 104 - i32.const 393 + i32.const 397 i32.const 0 call $~lib/env/abort unreachable @@ -12735,7 +12765,7 @@ if i32.const 0 i32.const 104 - i32.const 394 + i32.const 398 i32.const 0 call $~lib/env/abort unreachable @@ -12758,7 +12788,7 @@ if i32.const 0 i32.const 104 - i32.const 402 + i32.const 406 i32.const 0 call $~lib/env/abort unreachable @@ -12771,7 +12801,7 @@ if i32.const 0 i32.const 104 - i32.const 405 + i32.const 409 i32.const 0 call $~lib/env/abort unreachable @@ -12786,7 +12816,7 @@ if i32.const 0 i32.const 104 - i32.const 413 + i32.const 417 i32.const 0 call $~lib/env/abort unreachable @@ -12798,7 +12828,7 @@ if i32.const 0 i32.const 104 - i32.const 414 + i32.const 418 i32.const 0 call $~lib/env/abort unreachable @@ -12811,7 +12841,7 @@ if i32.const 0 i32.const 104 - i32.const 416 + i32.const 420 i32.const 0 call $~lib/env/abort unreachable @@ -12838,7 +12868,7 @@ if i32.const 0 i32.const 104 - i32.const 429 + i32.const 433 i32.const 0 call $~lib/env/abort unreachable @@ -12850,7 +12880,7 @@ if i32.const 0 i32.const 104 - i32.const 430 + i32.const 434 i32.const 0 call $~lib/env/abort unreachable @@ -12873,7 +12903,7 @@ if i32.const 0 i32.const 104 - i32.const 438 + i32.const 442 i32.const 0 call $~lib/env/abort unreachable @@ -12886,7 +12916,7 @@ if i32.const 0 i32.const 104 - i32.const 441 + i32.const 445 i32.const 0 call $~lib/env/abort unreachable @@ -12899,7 +12929,7 @@ if i32.const 0 i32.const 104 - i32.const 449 + i32.const 453 i32.const 0 call $~lib/env/abort unreachable @@ -12911,7 +12941,7 @@ if i32.const 0 i32.const 104 - i32.const 450 + i32.const 454 i32.const 0 call $~lib/env/abort unreachable @@ -12926,7 +12956,7 @@ if i32.const 0 i32.const 104 - i32.const 452 + i32.const 456 i32.const 0 call $~lib/env/abort unreachable @@ -12951,7 +12981,7 @@ if i32.const 0 i32.const 104 - i32.const 465 + i32.const 469 i32.const 0 call $~lib/env/abort unreachable @@ -12963,7 +12993,7 @@ if i32.const 0 i32.const 104 - i32.const 466 + i32.const 470 i32.const 0 call $~lib/env/abort unreachable @@ -12987,7 +13017,7 @@ if i32.const 0 i32.const 104 - i32.const 475 + i32.const 479 i32.const 0 call $~lib/env/abort unreachable @@ -13003,7 +13033,7 @@ if i32.const 0 i32.const 104 - i32.const 484 + i32.const 488 i32.const 0 call $~lib/env/abort unreachable @@ -13015,7 +13045,7 @@ if i32.const 0 i32.const 104 - i32.const 485 + i32.const 489 i32.const 0 call $~lib/env/abort unreachable @@ -13031,7 +13061,7 @@ if i32.const 0 i32.const 104 - i32.const 488 + i32.const 492 i32.const 0 call $~lib/env/abort unreachable @@ -13059,7 +13089,7 @@ if i32.const 0 i32.const 104 - i32.const 502 + i32.const 506 i32.const 0 call $~lib/env/abort unreachable @@ -13071,7 +13101,7 @@ if i32.const 0 i32.const 104 - i32.const 503 + i32.const 507 i32.const 0 call $~lib/env/abort unreachable @@ -13094,7 +13124,7 @@ if i32.const 0 i32.const 104 - i32.const 512 + i32.const 516 i32.const 0 call $~lib/env/abort unreachable @@ -13136,7 +13166,7 @@ if i32.const 0 i32.const 104 - i32.const 513 + i32.const 517 i32.const 0 call $~lib/env/abort unreachable @@ -13153,7 +13183,7 @@ if i32.const 0 i32.const 104 - i32.const 522 + i32.const 526 i32.const 0 call $~lib/env/abort unreachable @@ -13165,7 +13195,7 @@ if i32.const 0 i32.const 104 - i32.const 523 + i32.const 527 i32.const 0 call $~lib/env/abort unreachable @@ -13182,7 +13212,7 @@ if i32.const 0 i32.const 104 - i32.const 530 + i32.const 534 i32.const 0 call $~lib/env/abort unreachable @@ -13211,7 +13241,7 @@ if i32.const 0 i32.const 104 - i32.const 545 + i32.const 549 i32.const 0 call $~lib/env/abort unreachable @@ -13223,7 +13253,7 @@ if i32.const 0 i32.const 104 - i32.const 546 + i32.const 550 i32.const 0 call $~lib/env/abort unreachable @@ -13247,7 +13277,7 @@ if i32.const 0 i32.const 104 - i32.const 554 + i32.const 558 i32.const 0 call $~lib/env/abort unreachable @@ -13264,7 +13294,7 @@ if i32.const 0 i32.const 104 - i32.const 563 + i32.const 567 i32.const 0 call $~lib/env/abort unreachable @@ -13276,7 +13306,7 @@ if i32.const 0 i32.const 104 - i32.const 564 + i32.const 568 i32.const 0 call $~lib/env/abort unreachable @@ -13293,7 +13323,7 @@ if i32.const 0 i32.const 104 - i32.const 571 + i32.const 575 i32.const 0 call $~lib/env/abort unreachable @@ -13322,7 +13352,7 @@ if i32.const 0 i32.const 104 - i32.const 586 + i32.const 590 i32.const 0 call $~lib/env/abort unreachable @@ -13334,7 +13364,7 @@ if i32.const 0 i32.const 104 - i32.const 587 + i32.const 591 i32.const 0 call $~lib/env/abort unreachable @@ -13358,7 +13388,7 @@ if i32.const 0 i32.const 104 - i32.const 595 + i32.const 599 i32.const 0 call $~lib/env/abort unreachable @@ -13374,7 +13404,7 @@ if i32.const 0 i32.const 104 - i32.const 599 + i32.const 603 i32.const 0 call $~lib/env/abort unreachable @@ -13392,7 +13422,7 @@ if i32.const 0 i32.const 104 - i32.const 602 + i32.const 606 i32.const 0 call $~lib/env/abort unreachable @@ -13408,7 +13438,7 @@ if i32.const 0 i32.const 104 - i32.const 605 + i32.const 609 i32.const 0 call $~lib/env/abort unreachable @@ -13424,7 +13454,7 @@ if i32.const 0 i32.const 104 - i32.const 613 + i32.const 617 i32.const 0 call $~lib/env/abort unreachable @@ -13436,7 +13466,7 @@ if i32.const 0 i32.const 104 - i32.const 614 + i32.const 618 i32.const 0 call $~lib/env/abort unreachable @@ -13452,7 +13482,7 @@ if i32.const 0 i32.const 104 - i32.const 616 + i32.const 620 i32.const 0 call $~lib/env/abort unreachable @@ -13480,7 +13510,7 @@ if i32.const 0 i32.const 104 - i32.const 629 + i32.const 633 i32.const 0 call $~lib/env/abort unreachable @@ -13492,7 +13522,7 @@ if i32.const 0 i32.const 104 - i32.const 630 + i32.const 634 i32.const 0 call $~lib/env/abort unreachable @@ -13516,7 +13546,7 @@ if i32.const 0 i32.const 104 - i32.const 638 + i32.const 642 i32.const 0 call $~lib/env/abort unreachable @@ -13532,7 +13562,7 @@ if i32.const 0 i32.const 104 - i32.const 642 + i32.const 646 i32.const 0 call $~lib/env/abort unreachable @@ -13550,7 +13580,7 @@ if i32.const 0 i32.const 104 - i32.const 645 + i32.const 649 i32.const 0 call $~lib/env/abort unreachable @@ -13566,7 +13596,7 @@ if i32.const 0 i32.const 104 - i32.const 648 + i32.const 652 i32.const 0 call $~lib/env/abort unreachable @@ -13582,7 +13612,7 @@ if i32.const 0 i32.const 104 - i32.const 656 + i32.const 660 i32.const 0 call $~lib/env/abort unreachable @@ -13594,7 +13624,7 @@ if i32.const 0 i32.const 104 - i32.const 657 + i32.const 661 i32.const 0 call $~lib/env/abort unreachable @@ -13610,7 +13640,7 @@ if i32.const 0 i32.const 104 - i32.const 659 + i32.const 663 i32.const 0 call $~lib/env/abort unreachable @@ -13638,7 +13668,7 @@ if i32.const 0 i32.const 104 - i32.const 672 + i32.const 676 i32.const 0 call $~lib/env/abort unreachable @@ -13648,7 +13678,7 @@ if i32.const 0 i32.const 104 - i32.const 673 + i32.const 677 i32.const 0 call $~lib/env/abort unreachable @@ -13699,7 +13729,7 @@ if i32.const 0 i32.const 104 - i32.const 760 + i32.const 764 i32.const 0 call $~lib/env/abort unreachable @@ -13731,7 +13761,7 @@ if i32.const 0 i32.const 104 - i32.const 764 + i32.const 768 i32.const 0 call $~lib/env/abort unreachable @@ -13758,14 +13788,14 @@ call $~lib/array/Array#sort drop get_global $std/array/i32ArrayTyped - i32.const 2720 + i32.const 2824 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 768 + i32.const 772 i32.const 0 call $~lib/env/abort unreachable @@ -13792,14 +13822,14 @@ call $~lib/array/Array#sort drop get_global $std/array/u32ArrayTyped - i32.const 2800 + i32.const 2904 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 772 + i32.const 776 i32.const 0 call $~lib/env/abort unreachable @@ -13824,14 +13854,14 @@ get_global $std/array/reversed1 call $std/array/assertSortedDefault get_global $std/array/reversed1 - i32.const 2968 + i32.const 3072 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 792 + i32.const 796 i32.const 0 call $~lib/env/abort unreachable @@ -13839,14 +13869,14 @@ get_global $std/array/reversed2 call $std/array/assertSortedDefault get_global $std/array/reversed2 - i32.const 2992 + i32.const 3096 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 795 + i32.const 799 i32.const 0 call $~lib/env/abort unreachable @@ -13861,7 +13891,7 @@ if i32.const 0 i32.const 104 - i32.const 798 + i32.const 802 i32.const 0 call $~lib/env/abort unreachable @@ -13876,7 +13906,7 @@ if i32.const 0 i32.const 104 - i32.const 801 + i32.const 805 i32.const 0 call $~lib/env/abort unreachable @@ -13891,7 +13921,7 @@ if i32.const 0 i32.const 104 - i32.const 804 + i32.const 808 i32.const 0 call $~lib/env/abort unreachable @@ -13906,7 +13936,7 @@ if i32.const 0 i32.const 104 - i32.const 807 + i32.const 811 i32.const 0 call $~lib/env/abort unreachable @@ -13921,7 +13951,7 @@ if i32.const 0 i32.const 104 - i32.const 810 + i32.const 814 i32.const 0 call $~lib/env/abort unreachable @@ -13966,7 +13996,7 @@ if i32.const 0 i32.const 104 - i32.const 839 + i32.const 843 i32.const 0 call $~lib/env/abort unreachable @@ -13977,81 +14007,81 @@ i32.const 55 call $std/array/assertSorted> call $~lib/array/Array#join - i32.const 3376 + i32.const 3480 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 848 + i32.const 852 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4000 - i32.const 3032 + i32.const 4104 + i32.const 3136 call $~lib/array/Array#join - i32.const 4008 + i32.const 4112 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 849 + i32.const 853 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4104 - i32.const 4064 + i32.const 4208 + i32.const 4168 call $~lib/array/Array#join - i32.const 4008 + i32.const 4112 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 850 + i32.const 854 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4160 - i32.const 4136 + i32.const 4264 + i32.const 4240 call $~lib/array/Array#join - i32.const 4168 + i32.const 4272 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 851 + i32.const 855 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 5824 + i32.const 5928 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 852 + i32.const 856 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5992 - i32.const 3032 + i32.const 6096 + i32.const 3136 call $~lib/array/Array#join - i32.const 5912 + i32.const 6016 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 853 + i32.const 857 i32.const 0 call $~lib/env/abort unreachable @@ -14085,184 +14115,184 @@ set_global $std/array/refArr get_global $std/array/refArr call $~lib/array/Array#join - i32.const 6040 + i32.const 6144 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 855 + i32.const 859 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed0 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join - i32.const 3032 + i32.const 3136 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 859 + i32.const 863 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed1 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join - i32.const 5912 + i32.const 6016 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 860 + i32.const 864 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed2 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join - i32.const 6112 + i32.const 6216 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 861 + i32.const 865 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed4 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join - i32.const 6128 + i32.const 6232 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 862 + i32.const 866 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6200 + i32.const 6304 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 864 + i32.const 868 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6264 + i32.const 6368 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 865 + i32.const 869 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6888 + i32.const 6992 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 866 + i32.const 870 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 7088 + i32.const 7192 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 867 + i32.const 871 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/randomStringsExpected - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join - i32.const 7176 + i32.const 7280 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 868 + i32.const 872 i32.const 0 call $~lib/env/abort unreachable end - i32.const 7296 - i32.const 3344 + i32.const 7400 + i32.const 3448 call $~lib/array/Array#join - i32.const 7304 + i32.const 7408 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 869 + i32.const 873 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarr32 call $~lib/array/Array>#join - i32.const 7392 + i32.const 7496 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 872 + i32.const 876 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarr8 call $~lib/array/Array>#join - i32.const 7392 + i32.const 7496 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 875 + i32.const 879 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarrU32 call $~lib/array/Array>>#join - i32.const 5912 + i32.const 6016 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 878 + i32.const 882 i32.const 0 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/array.ts b/tests/compiler/std/array.ts index 4164ba17fe..5ef3063ee6 100644 --- a/tests/compiler/std/array.ts +++ b/tests/compiler/std/array.ts @@ -352,6 +352,10 @@ sarr = [1, 2, 3, 4, 5]; assert(isArraysEqual(sarr.splice(-2), [4, 5])); assert(isArraysEqual(sarr, [1, 2, 3])); +sarr = [1, 2, 3, 4, 5]; +assert(isArraysEqual(sarr.splice(-2, 1), [4])); +assert(isArraysEqual(sarr, [1, 2, 3, 5])); + // Array#findIndex ///////////////////////////////////////////////////////////////////////////////// arr[0] = 0; diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index b072099b67..5a235468c4 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -138,151 +138,157 @@ (data (i32.const 1976) "\a8\07\00\00\02\00\00\00") (data (i32.const 1984) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 2016) "\c0\07\00\00\03\00\00\00") - (data (i32.const 2024) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") - (data (i32.const 2056) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") - (data (i32.const 2232) " \00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2296) "\b8\08\00\00\08\00\00\00") - (data (i32.const 2304) " \00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2368) "\00\t\00\00\08\00\00\00") - (data (i32.const 2376) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2504) "H\t\00\00\08\00\00\00") - (data (i32.const 2512) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2640) "\d0\t\00\00\08\00\00\00") - (data (i32.const 2648) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 2680) "X\n\00\00\05\00\00\00") - (data (i32.const 2688) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 2720) "\80\n\00\00\05\00\00\00") - (data (i32.const 2728) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 2760) "\a8\n\00\00\05\00\00\00") - (data (i32.const 2768) "\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00") - (data (i32.const 2800) "\d0\n\00\00\05\00\00\00") - (data (i32.const 2808) "\00\00\00\00\00\00\00\00") - (data (i32.const 2816) "\f8\n\00\00\00\00\00\00") - (data (i32.const 2824) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 2840) "\08\0b\00\00\01\00\00\00") - (data (i32.const 2848) "\08\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") - (data (i32.const 2864) " \0b\00\00\02\00\00\00") - (data (i32.const 2872) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2904) "8\0b\00\00\04\00\00\00") - (data (i32.const 2912) "\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2944) "`\0b\00\00\04\00\00\00") - (data (i32.const 2952) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 2968) "\88\0b\00\00\01\00\00\00") - (data (i32.const 2976) "\08\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 2992) "\a0\0b\00\00\02\00\00\00") - (data (i32.const 3000) "\01\00\00\00a\00") - (data (i32.const 3008) "\01\00\00\00b\00") - (data (i32.const 3016) "\02\00\00\00a\00b\00") - (data (i32.const 3024) "\02\00\00\00b\00a\00") - (data (i32.const 3032) "\00\00\00\00") - (data (i32.const 3040) "\1c\00\00\00\00\00\00\00\b8\0b\00\00\c0\0b\00\00\b8\0b\00\00\c8\0b\00\00\d0\0b\00\00\d8\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3104) "\e0\0b\00\00\07\00\00\00") - (data (i32.const 3112) "\1c\00\00\00\00\00\00\00\d8\0b\00\00\b8\0b\00\00\b8\0b\00\00\c8\0b\00\00\c0\0b\00\00\d0\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3176) "(\0c\00\00\07\00\00\00") - (data (i32.const 3184) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 3216) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 3272) "\04\00\00\00n\00u\00l\00l\00") - (data (i32.const 3288) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3304) "\d8\0c\00\00\02\00\00\00") - (data (i32.const 3312) "\04\00\00\00t\00r\00u\00e\00") - (data (i32.const 3328) "\05\00\00\00f\00a\00l\00s\00e\00") - (data (i32.const 3344) "\01\00\00\00,\00") - (data (i32.const 3352) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3368) "\18\0d\00\00\02\00\00\00") - (data (i32.const 3376) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") - (data (i32.const 3400) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3432) "H\0d\00\00\03\00\00\00") - (data (i32.const 3440) "\01\00\00\000\00") - (data (i32.const 3448) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3960) "x\0d\00\00d\00\00\00") - (data (i32.const 3968) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4000) "\80\0f\00\00\03\00\00\00") - (data (i32.const 4008) "\05\00\00\001\00-\002\00-\003\00") - (data (i32.const 4024) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4056) "\b8\0f\00\00\03\00\00\00") - (data (i32.const 4064) "\01\00\00\00-\00") - (data (i32.const 4072) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2024) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 2056) "\e8\07\00\00\05\00\00\00") + (data (i32.const 2064) "\04\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00") + (data (i32.const 2080) "\10\08\00\00\01\00\00\00") + (data (i32.const 2088) "\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2120) "(\08\00\00\04\00\00\00") + (data (i32.const 2128) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") + (data (i32.const 2160) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") + (data (i32.const 2336) " \00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2400) " \t\00\00\08\00\00\00") + (data (i32.const 2408) " \00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2472) "h\t\00\00\08\00\00\00") + (data (i32.const 2480) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2608) "\b0\t\00\00\08\00\00\00") + (data (i32.const 2616) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2744) "8\n\00\00\08\00\00\00") + (data (i32.const 2752) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 2784) "\c0\n\00\00\05\00\00\00") + (data (i32.const 2792) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 2824) "\e8\n\00\00\05\00\00\00") + (data (i32.const 2832) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 2864) "\10\0b\00\00\05\00\00\00") + (data (i32.const 2872) "\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00") + (data (i32.const 2904) "8\0b\00\00\05\00\00\00") + (data (i32.const 2912) "\00\00\00\00\00\00\00\00") + (data (i32.const 2920) "`\0b\00\00\00\00\00\00") + (data (i32.const 2928) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 2944) "p\0b\00\00\01\00\00\00") + (data (i32.const 2952) "\08\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") + (data (i32.const 2968) "\88\0b\00\00\02\00\00\00") + (data (i32.const 2976) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3008) "\a0\0b\00\00\04\00\00\00") + (data (i32.const 3016) "\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3048) "\c8\0b\00\00\04\00\00\00") + (data (i32.const 3056) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3072) "\f0\0b\00\00\01\00\00\00") + (data (i32.const 3080) "\08\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 3096) "\08\0c\00\00\02\00\00\00") + (data (i32.const 3104) "\01\00\00\00a\00") + (data (i32.const 3112) "\01\00\00\00b\00") + (data (i32.const 3120) "\02\00\00\00a\00b\00") + (data (i32.const 3128) "\02\00\00\00b\00a\00") + (data (i32.const 3136) "\00\00\00\00") + (data (i32.const 3144) "\1c\00\00\00\00\00\00\00 \0c\00\00(\0c\00\00 \0c\00\000\0c\00\008\0c\00\00@\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3208) "H\0c\00\00\07\00\00\00") + (data (i32.const 3216) "\1c\00\00\00\00\00\00\00@\0c\00\00 \0c\00\00 \0c\00\000\0c\00\00(\0c\00\008\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3280) "\90\0c\00\00\07\00\00\00") + (data (i32.const 3288) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 3320) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 3376) "\04\00\00\00n\00u\00l\00l\00") + (data (i32.const 3392) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3408) "@\0d\00\00\02\00\00\00") + (data (i32.const 3416) "\04\00\00\00t\00r\00u\00e\00") + (data (i32.const 3432) "\05\00\00\00f\00a\00l\00s\00e\00") + (data (i32.const 3448) "\01\00\00\00,\00") + (data (i32.const 3456) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3472) "\80\0d\00\00\02\00\00\00") + (data (i32.const 3480) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") + (data (i32.const 3504) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3536) "\b0\0d\00\00\03\00\00\00") + (data (i32.const 3544) "\01\00\00\000\00") + (data (i32.const 3552) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4064) "\e0\0d\00\00d\00\00\00") + (data (i32.const 4072) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 4104) "\e8\0f\00\00\03\00\00\00") - (data (i32.const 4112) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 4128) "\10\10\00\00\02\00\00\00") - (data (i32.const 4136) "\02\00\00\00_\00_\00") - (data (i32.const 4144) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 4160) "0\10\00\00\02\00\00\00") - (data (i32.const 4168) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 4224) "0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00") - (data (i32.const 4288) "\80\10\00\00\06\00\00\00") - (data (i32.const 4296) "\02\00\00\00,\00 \00") - (data (i32.const 4304) "\03\00\00\000\00.\000\00") - (data (i32.const 4320) "\03\00\00\00N\00a\00N\00") - (data (i32.const 4336) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4360) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4384) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#sort|trampoline~anonymous|43 $~lib/array/Array#sort|trampoline~anonymous|44 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|46 $std/array/assertSortedDefault~anonymous|47 $start~anonymous|48 $start~anonymous|49 $start~anonymous|50 $start~anonymous|51 $start~anonymous|52 $start~anonymous|53 $start~anonymous|54 $start~anonymous|55) (global $~lib/internal/allocator/AL_BITS i32 (i32.const 3)) @@ -329,16 +335,16 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/charset i32 (i32.const 2056)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 2296)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 2504)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 2680)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 2760)) - (global $std/array/reversed0 (mut i32) (i32.const 2816)) - (global $std/array/reversed1 (mut i32) (i32.const 2840)) - (global $std/array/reversed2 (mut i32) (i32.const 2864)) - (global $std/array/reversed4 (mut i32) (i32.const 2904)) - (global $std/array/expected4 (mut i32) (i32.const 2944)) + (global $std/array/charset i32 (i32.const 2160)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 2400)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 2608)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 2784)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 2864)) + (global $std/array/reversed0 (mut i32) (i32.const 2920)) + (global $std/array/reversed1 (mut i32) (i32.const 2944)) + (global $std/array/reversed2 (mut i32) (i32.const 2968)) + (global $std/array/reversed4 (mut i32) (i32.const 3008)) + (global $std/array/expected4 (mut i32) (i32.const 3048)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -348,8 +354,8 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 3104)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 3176)) + (global $std/array/randomStringsActual (mut i32) (i32.const 3208)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 3280)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/internal/string/CharCode.PLUS i32 (i32.const 43)) @@ -383,10 +389,10 @@ (global $std/array/refArr (mut i32) (i32.const 0)) (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) (global $~lib/builtins/i64.MAX_VALUE i64 (i64.const 9223372036854775807)) - (global $std/array/subarr32 (mut i32) (i32.const 7384)) - (global $std/array/subarr8 (mut i32) (i32.const 7480)) - (global $std/array/subarrU32 (mut i32) (i32.const 7552)) - (global $HEAP_BASE i32 (i32.const 7560)) + (global $std/array/subarr32 (mut i32) (i32.const 7488)) + (global $std/array/subarr8 (mut i32) (i32.const 7584)) + (global $std/array/subarrU32 (mut i32) (i32.const 7656)) + (global $HEAP_BASE i32 (i32.const 7664)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -3599,8 +3605,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) get_local $0 i32.load offset=4 set_local $3 @@ -3628,11 +3632,11 @@ i32.lt_s select end - set_local $6 + set_local $1 get_local $2 tee_local $4 get_local $3 - get_local $6 + get_local $1 i32.sub tee_local $5 get_local $4 @@ -3642,20 +3646,20 @@ set_local $2 get_local $0 i32.load - set_local $7 + set_local $6 i32.const 0 get_local $2 call $~lib/array/Array#constructor - set_local $8 - get_local $7 + set_local $7 + get_local $6 get_global $~lib/internal/arraybuffer/HEADER_SIZE i32.add - get_local $6 + get_local $1 i32.const 2 i32.shl i32.add - set_local $9 - get_local $8 + set_local $8 + get_local $7 i32.load get_global $~lib/internal/arraybuffer/HEADER_SIZE i32.add @@ -3665,50 +3669,42 @@ i32.shl set_local $5 get_local $4 - get_local $9 + get_local $8 get_local $5 call $~lib/internal/memory/memmove - get_local $3 - get_local $2 - i32.sub - set_local $10 get_local $1 get_local $2 i32.add - set_local $11 - get_local $10 - i32.const 0 + set_local $9 + get_local $3 + get_local $9 i32.ne - tee_local $5 - if (result i32) - get_local $11 - i32.const 0 - i32.ne - else - get_local $5 - end if - get_local $7 + get_local $6 get_global $~lib/internal/arraybuffer/HEADER_SIZE i32.add - get_local $11 + get_local $9 i32.const 2 i32.shl i32.add set_local $5 - get_local $10 + get_local $3 + get_local $9 + i32.sub i32.const 2 i32.shl set_local $4 - get_local $9 + get_local $8 get_local $5 get_local $4 call $~lib/internal/memory/memmove end get_local $0 - get_local $10 + get_local $3 + get_local $2 + i32.sub i32.store offset=4 - get_local $8 + get_local $7 ) (func $~lib/array/Array#splice|trampoline (; 36 ;) (type $iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $1of1 @@ -4948,7 +4944,7 @@ i64.eqz if i32.const 0 - i32.const 2024 + i32.const 2128 i32.const 959 i32.const 4 call $~lib/env/abort @@ -5511,7 +5507,7 @@ if i32.const 0 i32.const 8 - i32.const 412 + i32.const 410 i32.const 4 call $~lib/env/abort unreachable @@ -6275,7 +6271,7 @@ if i32.const 0 i32.const 8 - i32.const 412 + i32.const 410 i32.const 4 call $~lib/env/abort unreachable @@ -7061,7 +7057,7 @@ if i32.const 0 i32.const 8 - i32.const 412 + i32.const 410 i32.const 4 call $~lib/env/abort unreachable @@ -7717,7 +7713,7 @@ if i32.const 0 i32.const 8 - i32.const 412 + i32.const 410 i32.const 4 call $~lib/env/abort unreachable @@ -7890,7 +7886,7 @@ i32.eqz if i32.const 0 - i32.const 2024 + i32.const 2128 i32.const 968 i32.const 24 call $~lib/env/abort @@ -8045,7 +8041,7 @@ if i32.const 0 i32.const 104 - i32.const 749 + i32.const 753 i32.const 2 call $~lib/env/abort unreachable @@ -8397,7 +8393,7 @@ if i32.const 0 i32.const 8 - i32.const 412 + i32.const 410 i32.const 4 call $~lib/env/abort unreachable @@ -8542,7 +8538,7 @@ if i32.const 0 i32.const 104 - i32.const 749 + i32.const 753 i32.const 2 call $~lib/env/abort unreachable @@ -8853,7 +8849,7 @@ if i32.const 0 i32.const 8 - i32.const 412 + i32.const 410 i32.const 4 call $~lib/env/abort unreachable @@ -9020,7 +9016,7 @@ if i32.const 0 i32.const 104 - i32.const 749 + i32.const 753 i32.const 2 call $~lib/env/abort unreachable @@ -9341,7 +9337,7 @@ if i32.const 0 i32.const 8 - i32.const 412 + i32.const 410 i32.const 4 call $~lib/env/abort unreachable @@ -9508,7 +9504,7 @@ if i32.const 0 i32.const 104 - i32.const 749 + i32.const 753 i32.const 2 call $~lib/env/abort unreachable @@ -9702,7 +9698,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 14 i32.const 2 call $~lib/env/abort @@ -9733,7 +9729,7 @@ i32.eqz if i32.const 0 - i32.const 3184 + i32.const 3288 i32.const 58 i32.const 4 call $~lib/env/abort @@ -9744,7 +9740,7 @@ i32.load i32.ge_u if - i32.const 3032 + i32.const 3136 return end i32.const 1 @@ -9800,7 +9796,7 @@ i32.eqz if i32.const 0 - i32.const 3184 + i32.const 3288 i32.const 110 i32.const 4 call $~lib/env/abort @@ -9810,7 +9806,7 @@ i32.const 0 i32.eq if - i32.const 3272 + i32.const 3376 set_local $1 end get_local $0 @@ -9827,7 +9823,7 @@ i32.const 0 i32.eq if - i32.const 3032 + i32.const 3136 return end get_local $4 @@ -9851,7 +9847,7 @@ get_local $0 i32.eqz if - i32.const 3272 + i32.const 3376 set_local $0 end get_local $0 @@ -9862,7 +9858,7 @@ (local $1 i32) (local $2 i32) (local $3 f64) - i32.const 3032 + i32.const 3136 set_local $1 block $break|0 i32.const 0 @@ -10013,7 +10009,7 @@ i32.eqz if i32.const 0 - i32.const 3184 + i32.const 3288 i32.const 269 i32.const 4 call $~lib/env/abort @@ -10079,7 +10075,7 @@ get_local $3 i32.eqz if - i32.const 3032 + i32.const 3136 return end get_local $8 @@ -10129,10 +10125,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $3 get_local $0 i32.load @@ -10147,8 +10143,8 @@ get_local $2 i32.eqz if - i32.const 3312 - i32.const 3328 + i32.const 3416 + i32.const 3432 block $~lib/internal/arraybuffer/loadUnsafe|inlined.0 (result i32) i32.const 0 set_local $8 @@ -10207,8 +10203,8 @@ set_local $8 get_local $10 get_local $11 - i32.const 3312 - i32.const 3328 + i32.const 3416 + i32.const 3432 get_local $4 i32.const 0 i32.ne @@ -10261,8 +10257,8 @@ set_local $8 get_local $10 get_local $11 - i32.const 3312 - i32.const 3328 + i32.const 3416 + i32.const 3432 get_local $4 i32.const 0 i32.ne @@ -10289,7 +10285,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -10386,7 +10382,7 @@ (local $8 i64) (local $9 i64) block $~lib/internal/number/DIGITS|inlined.0 (result i32) - i32.const 3960 + i32.const 4064 end i32.load set_local $3 @@ -10537,7 +10533,7 @@ get_local $0 i32.eqz if - i32.const 3440 + i32.const 3544 return end get_local $0 @@ -10644,10 +10640,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $3 get_local $0 i32.load @@ -10768,7 +10764,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -10793,7 +10789,7 @@ get_local $0 i32.eqz if - i32.const 3440 + i32.const 3544 return end get_local $0 @@ -10861,10 +10857,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $3 get_local $0 i32.load @@ -10985,7 +10981,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -11063,7 +11059,7 @@ get_local $6 set_local $15 block $~lib/internal/number/POWERS10|inlined.0 (result i32) - i32.const 5744 + i32.const 5848 end i32.load set_local $16 @@ -12059,12 +12055,12 @@ i32.sub set_global $~lib/internal/number/_K block $~lib/internal/number/FRC_POWERS|inlined.0 (result i32) - i32.const 5408 + i32.const 5512 end i32.load set_local $12 block $~lib/internal/number/EXP_POWERS|inlined.0 (result i32) - i32.const 5672 + i32.const 5776 end i32.load set_local $13 @@ -12341,7 +12337,7 @@ f64.const 0 f64.eq if - i32.const 4304 + i32.const 4408 return end get_local $0 @@ -12351,11 +12347,11 @@ get_local $0 call $~lib/builtins/isNaN if - i32.const 4320 + i32.const 4424 return end - i32.const 4336 - i32.const 4360 + i32.const 4440 + i32.const 4464 get_local $0 f64.const 0 f64.lt @@ -12378,7 +12374,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -12451,8 +12447,8 @@ get_local $3 i32.add set_local $4 - i32.const 4336 - i32.const 4360 + i32.const 4440 + i32.const 4464 get_local $3 select set_local $5 @@ -12502,10 +12498,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $3 get_local $0 i32.load @@ -12626,7 +12622,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -12666,10 +12662,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $3 get_local $0 i32.load @@ -12936,10 +12932,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $3 get_local $0 i32.load @@ -12954,7 +12950,7 @@ get_local $2 i32.eqz if - i32.const 6000 + i32.const 6104 return end i32.const 15 @@ -12993,7 +12989,7 @@ if get_local $9 get_local $10 - i32.const 6000 + i32.const 6104 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -13036,7 +13032,7 @@ if get_local $9 get_local $10 - i32.const 6000 + i32.const 6104 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -13060,7 +13056,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13175,10 +13171,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $3 get_local $0 i32.load @@ -13299,7 +13295,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13382,10 +13378,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $3 get_local $0 i32.load @@ -13506,7 +13502,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13607,7 +13603,7 @@ (local $12 i64) (local $13 i64) block $~lib/internal/number/DIGITS|inlined.1 (result i32) - i32.const 6840 + i32.const 6944 end i32.load set_local $3 @@ -13739,7 +13735,7 @@ get_local $0 i64.eqz if - i32.const 3440 + i32.const 3544 return end get_local $0 @@ -13845,10 +13841,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $3 get_local $0 i32.load @@ -13969,7 +13965,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13996,7 +13992,7 @@ get_local $0 i64.eqz if - i32.const 3440 + i32.const 3544 return end get_local $0 @@ -14145,10 +14141,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $3 get_local $0 i32.load @@ -14269,7 +14265,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14305,10 +14301,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $3 get_local $0 i32.load @@ -14340,7 +14336,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3032 + i32.const 3136 end return end @@ -14474,10 +14470,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $3 get_local $0 i32.load @@ -14598,7 +14594,7 @@ i32.eqz if i32.const 0 - i32.const 3216 + i32.const 3320 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14634,10 +14630,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $3 get_local $0 i32.load @@ -14669,7 +14665,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3032 + i32.const 3136 end return end @@ -14756,10 +14752,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $3 get_local $0 i32.load @@ -14791,7 +14787,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3032 + i32.const 3136 end return end @@ -14878,10 +14874,10 @@ i32.const 0 i32.lt_s if - i32.const 3032 + i32.const 3136 return end - i32.const 3032 + i32.const 3136 set_local $3 get_local $0 i32.load @@ -14913,7 +14909,7 @@ get_local $1 call $~lib/array/Array>#join else - i32.const 3032 + i32.const 3136 end return end @@ -17332,6 +17328,37 @@ call $~lib/env/abort unreachable end + i32.const 2056 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const -2 + i32.const 1 + call $~lib/array/Array#splice + i32.const 2080 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 356 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2120 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 357 + i32.const 0 + call $~lib/env/abort + unreachable + end get_global $std/array/arr i32.const 0 i32.const 0 @@ -17359,7 +17386,7 @@ if i32.const 0 i32.const 104 - i32.const 363 + i32.const 367 i32.const 0 call $~lib/env/abort unreachable @@ -17375,7 +17402,7 @@ if i32.const 0 i32.const 104 - i32.const 366 + i32.const 370 i32.const 0 call $~lib/env/abort unreachable @@ -17391,7 +17418,7 @@ if i32.const 0 i32.const 104 - i32.const 369 + i32.const 373 i32.const 0 call $~lib/env/abort unreachable @@ -17407,7 +17434,7 @@ if i32.const 0 i32.const 104 - i32.const 377 + i32.const 381 i32.const 0 call $~lib/env/abort unreachable @@ -17424,7 +17451,7 @@ if i32.const 0 i32.const 104 - i32.const 378 + i32.const 382 i32.const 0 call $~lib/env/abort unreachable @@ -17440,7 +17467,7 @@ if i32.const 0 i32.const 104 - i32.const 380 + i32.const 384 i32.const 0 call $~lib/env/abort unreachable @@ -17468,7 +17495,7 @@ if i32.const 0 i32.const 104 - i32.const 393 + i32.const 397 i32.const 0 call $~lib/env/abort unreachable @@ -17485,7 +17512,7 @@ if i32.const 0 i32.const 104 - i32.const 394 + i32.const 398 i32.const 0 call $~lib/env/abort unreachable @@ -17509,7 +17536,7 @@ if i32.const 0 i32.const 104 - i32.const 402 + i32.const 406 i32.const 0 call $~lib/env/abort unreachable @@ -17525,7 +17552,7 @@ if i32.const 0 i32.const 104 - i32.const 405 + i32.const 409 i32.const 0 call $~lib/env/abort unreachable @@ -17541,7 +17568,7 @@ if i32.const 0 i32.const 104 - i32.const 413 + i32.const 417 i32.const 0 call $~lib/env/abort unreachable @@ -17558,7 +17585,7 @@ if i32.const 0 i32.const 104 - i32.const 414 + i32.const 418 i32.const 0 call $~lib/env/abort unreachable @@ -17574,7 +17601,7 @@ if i32.const 0 i32.const 104 - i32.const 416 + i32.const 420 i32.const 0 call $~lib/env/abort unreachable @@ -17602,7 +17629,7 @@ if i32.const 0 i32.const 104 - i32.const 429 + i32.const 433 i32.const 0 call $~lib/env/abort unreachable @@ -17619,7 +17646,7 @@ if i32.const 0 i32.const 104 - i32.const 430 + i32.const 434 i32.const 0 call $~lib/env/abort unreachable @@ -17643,7 +17670,7 @@ if i32.const 0 i32.const 104 - i32.const 438 + i32.const 442 i32.const 0 call $~lib/env/abort unreachable @@ -17659,7 +17686,7 @@ if i32.const 0 i32.const 104 - i32.const 441 + i32.const 445 i32.const 0 call $~lib/env/abort unreachable @@ -17675,7 +17702,7 @@ if i32.const 0 i32.const 104 - i32.const 449 + i32.const 453 i32.const 0 call $~lib/env/abort unreachable @@ -17692,7 +17719,7 @@ if i32.const 0 i32.const 104 - i32.const 450 + i32.const 454 i32.const 0 call $~lib/env/abort unreachable @@ -17708,7 +17735,7 @@ if i32.const 0 i32.const 104 - i32.const 452 + i32.const 456 i32.const 0 call $~lib/env/abort unreachable @@ -17736,7 +17763,7 @@ if i32.const 0 i32.const 104 - i32.const 465 + i32.const 469 i32.const 0 call $~lib/env/abort unreachable @@ -17753,7 +17780,7 @@ if i32.const 0 i32.const 104 - i32.const 466 + i32.const 470 i32.const 0 call $~lib/env/abort unreachable @@ -17778,7 +17805,7 @@ if i32.const 0 i32.const 104 - i32.const 475 + i32.const 479 i32.const 0 call $~lib/env/abort unreachable @@ -17795,7 +17822,7 @@ if i32.const 0 i32.const 104 - i32.const 484 + i32.const 488 i32.const 0 call $~lib/env/abort unreachable @@ -17812,7 +17839,7 @@ if i32.const 0 i32.const 104 - i32.const 485 + i32.const 489 i32.const 0 call $~lib/env/abort unreachable @@ -17829,7 +17856,7 @@ if i32.const 0 i32.const 104 - i32.const 488 + i32.const 492 i32.const 0 call $~lib/env/abort unreachable @@ -17858,7 +17885,7 @@ if i32.const 0 i32.const 104 - i32.const 502 + i32.const 506 i32.const 0 call $~lib/env/abort unreachable @@ -17875,7 +17902,7 @@ if i32.const 0 i32.const 104 - i32.const 503 + i32.const 507 i32.const 0 call $~lib/env/abort unreachable @@ -17904,7 +17931,7 @@ if i32.const 0 i32.const 104 - i32.const 512 + i32.const 516 i32.const 0 call $~lib/env/abort unreachable @@ -17921,7 +17948,7 @@ if i32.const 0 i32.const 104 - i32.const 513 + i32.const 517 i32.const 0 call $~lib/env/abort unreachable @@ -17939,7 +17966,7 @@ if i32.const 0 i32.const 104 - i32.const 522 + i32.const 526 i32.const 0 call $~lib/env/abort unreachable @@ -17956,7 +17983,7 @@ if i32.const 0 i32.const 104 - i32.const 523 + i32.const 527 i32.const 0 call $~lib/env/abort unreachable @@ -17974,7 +18001,7 @@ if i32.const 0 i32.const 104 - i32.const 530 + i32.const 534 i32.const 0 call $~lib/env/abort unreachable @@ -18004,7 +18031,7 @@ if i32.const 0 i32.const 104 - i32.const 545 + i32.const 549 i32.const 0 call $~lib/env/abort unreachable @@ -18021,7 +18048,7 @@ if i32.const 0 i32.const 104 - i32.const 546 + i32.const 550 i32.const 0 call $~lib/env/abort unreachable @@ -18050,7 +18077,7 @@ if i32.const 0 i32.const 104 - i32.const 554 + i32.const 558 i32.const 0 call $~lib/env/abort unreachable @@ -18068,7 +18095,7 @@ if i32.const 0 i32.const 104 - i32.const 563 + i32.const 567 i32.const 0 call $~lib/env/abort unreachable @@ -18085,7 +18112,7 @@ if i32.const 0 i32.const 104 - i32.const 564 + i32.const 568 i32.const 0 call $~lib/env/abort unreachable @@ -18103,7 +18130,7 @@ if i32.const 0 i32.const 104 - i32.const 571 + i32.const 575 i32.const 0 call $~lib/env/abort unreachable @@ -18133,7 +18160,7 @@ if i32.const 0 i32.const 104 - i32.const 586 + i32.const 590 i32.const 0 call $~lib/env/abort unreachable @@ -18150,7 +18177,7 @@ if i32.const 0 i32.const 104 - i32.const 587 + i32.const 591 i32.const 0 call $~lib/env/abort unreachable @@ -18175,7 +18202,7 @@ if i32.const 0 i32.const 104 - i32.const 595 + i32.const 599 i32.const 0 call $~lib/env/abort unreachable @@ -18192,7 +18219,7 @@ if i32.const 0 i32.const 104 - i32.const 599 + i32.const 603 i32.const 0 call $~lib/env/abort unreachable @@ -18211,7 +18238,7 @@ if i32.const 0 i32.const 104 - i32.const 602 + i32.const 606 i32.const 0 call $~lib/env/abort unreachable @@ -18230,7 +18257,7 @@ if i32.const 0 i32.const 104 - i32.const 605 + i32.const 609 i32.const 0 call $~lib/env/abort unreachable @@ -18247,7 +18274,7 @@ if i32.const 0 i32.const 104 - i32.const 613 + i32.const 617 i32.const 0 call $~lib/env/abort unreachable @@ -18264,7 +18291,7 @@ if i32.const 0 i32.const 104 - i32.const 614 + i32.const 618 i32.const 0 call $~lib/env/abort unreachable @@ -18281,7 +18308,7 @@ if i32.const 0 i32.const 104 - i32.const 616 + i32.const 620 i32.const 0 call $~lib/env/abort unreachable @@ -18310,7 +18337,7 @@ if i32.const 0 i32.const 104 - i32.const 629 + i32.const 633 i32.const 0 call $~lib/env/abort unreachable @@ -18327,7 +18354,7 @@ if i32.const 0 i32.const 104 - i32.const 630 + i32.const 634 i32.const 0 call $~lib/env/abort unreachable @@ -18352,7 +18379,7 @@ if i32.const 0 i32.const 104 - i32.const 638 + i32.const 642 i32.const 0 call $~lib/env/abort unreachable @@ -18369,7 +18396,7 @@ if i32.const 0 i32.const 104 - i32.const 642 + i32.const 646 i32.const 0 call $~lib/env/abort unreachable @@ -18388,7 +18415,7 @@ if i32.const 0 i32.const 104 - i32.const 645 + i32.const 649 i32.const 0 call $~lib/env/abort unreachable @@ -18407,7 +18434,7 @@ if i32.const 0 i32.const 104 - i32.const 648 + i32.const 652 i32.const 0 call $~lib/env/abort unreachable @@ -18424,7 +18451,7 @@ if i32.const 0 i32.const 104 - i32.const 656 + i32.const 660 i32.const 0 call $~lib/env/abort unreachable @@ -18441,7 +18468,7 @@ if i32.const 0 i32.const 104 - i32.const 657 + i32.const 661 i32.const 0 call $~lib/env/abort unreachable @@ -18458,7 +18485,7 @@ if i32.const 0 i32.const 104 - i32.const 659 + i32.const 663 i32.const 0 call $~lib/env/abort unreachable @@ -18487,7 +18514,7 @@ if i32.const 0 i32.const 104 - i32.const 672 + i32.const 676 i32.const 0 call $~lib/env/abort unreachable @@ -18504,7 +18531,7 @@ if i32.const 0 i32.const 104 - i32.const 673 + i32.const 677 i32.const 0 call $~lib/env/abort unreachable @@ -18537,14 +18564,14 @@ end drop get_global $std/array/f32ArrayTyped - i32.const 2368 + i32.const 2472 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 760 + i32.const 764 i32.const 0 call $~lib/env/abort unreachable @@ -18558,14 +18585,14 @@ end drop get_global $std/array/f64ArrayTyped - i32.const 2640 + i32.const 2744 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 764 + i32.const 768 i32.const 0 call $~lib/env/abort unreachable @@ -18579,14 +18606,14 @@ end drop get_global $std/array/i32ArrayTyped - i32.const 2720 + i32.const 2824 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 768 + i32.const 772 i32.const 0 call $~lib/env/abort unreachable @@ -18600,14 +18627,14 @@ end drop get_global $std/array/u32ArrayTyped - i32.const 2800 + i32.const 2904 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 772 + i32.const 776 i32.const 0 call $~lib/env/abort unreachable @@ -18632,14 +18659,14 @@ get_global $std/array/reversed1 call $std/array/assertSortedDefault get_global $std/array/reversed1 - i32.const 2968 + i32.const 3072 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 792 + i32.const 796 i32.const 0 call $~lib/env/abort unreachable @@ -18647,14 +18674,14 @@ get_global $std/array/reversed2 call $std/array/assertSortedDefault get_global $std/array/reversed2 - i32.const 2992 + i32.const 3096 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 795 + i32.const 799 i32.const 0 call $~lib/env/abort unreachable @@ -18669,7 +18696,7 @@ if i32.const 0 i32.const 104 - i32.const 798 + i32.const 802 i32.const 0 call $~lib/env/abort unreachable @@ -18684,7 +18711,7 @@ if i32.const 0 i32.const 104 - i32.const 801 + i32.const 805 i32.const 0 call $~lib/env/abort unreachable @@ -18699,7 +18726,7 @@ if i32.const 0 i32.const 104 - i32.const 804 + i32.const 808 i32.const 0 call $~lib/env/abort unreachable @@ -18714,7 +18741,7 @@ if i32.const 0 i32.const 104 - i32.const 807 + i32.const 811 i32.const 0 call $~lib/env/abort unreachable @@ -18729,7 +18756,7 @@ if i32.const 0 i32.const 104 - i32.const 810 + i32.const 814 i32.const 0 call $~lib/env/abort unreachable @@ -18777,7 +18804,7 @@ if i32.const 0 i32.const 104 - i32.const 839 + i32.const 843 i32.const 0 call $~lib/env/abort unreachable @@ -18788,86 +18815,86 @@ get_global $std/array/randomStrings400 i32.const 55 call $std/array/assertSorted - i32.const 3368 - i32.const 3344 + i32.const 3472 + i32.const 3448 call $~lib/array/Array#join - i32.const 3376 + i32.const 3480 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 848 + i32.const 852 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4000 - i32.const 3032 + i32.const 4104 + i32.const 3136 call $~lib/array/Array#join - i32.const 4008 + i32.const 4112 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 849 + i32.const 853 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4104 - i32.const 4064 + i32.const 4208 + i32.const 4168 call $~lib/array/Array#join - i32.const 4008 + i32.const 4112 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 850 + i32.const 854 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4160 - i32.const 4136 + i32.const 4264 + i32.const 4240 call $~lib/array/Array#join - i32.const 4168 + i32.const 4272 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 851 + i32.const 855 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5816 - i32.const 4296 + i32.const 5920 + i32.const 4400 call $~lib/array/Array#join - i32.const 5824 + i32.const 5928 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 852 + i32.const 856 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5992 - i32.const 3032 + i32.const 6096 + i32.const 3136 call $~lib/array/Array#join - i32.const 5912 + i32.const 6016 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 853 + i32.const 857 i32.const 0 call $~lib/env/abort unreachable @@ -18895,15 +18922,15 @@ end set_global $std/array/refArr get_global $std/array/refArr - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join - i32.const 6040 + i32.const 6144 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 855 + i32.const 859 i32.const 0 call $~lib/env/abort unreachable @@ -18912,16 +18939,16 @@ get_global $std/array/reversed0 set_local $3 get_local $3 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join end - i32.const 3032 + i32.const 3136 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 859 + i32.const 863 i32.const 0 call $~lib/env/abort unreachable @@ -18930,16 +18957,16 @@ get_global $std/array/reversed1 set_local $3 get_local $3 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join end - i32.const 5912 + i32.const 6016 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 860 + i32.const 864 i32.const 0 call $~lib/env/abort unreachable @@ -18948,16 +18975,16 @@ get_global $std/array/reversed2 set_local $3 get_local $3 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join end - i32.const 6112 + i32.const 6216 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 861 + i32.const 865 i32.const 0 call $~lib/env/abort unreachable @@ -18966,88 +18993,88 @@ get_global $std/array/reversed4 set_local $3 get_local $3 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join end - i32.const 6128 + i32.const 6232 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 862 + i32.const 866 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6192 + i32.const 6296 set_local $3 get_local $3 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join end - i32.const 6200 + i32.const 6304 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 864 + i32.const 868 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6256 + i32.const 6360 set_local $3 get_local $3 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join end - i32.const 6264 + i32.const 6368 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 865 + i32.const 869 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6880 + i32.const 6984 set_local $3 get_local $3 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join end - i32.const 6888 + i32.const 6992 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 866 + i32.const 870 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 7080 + i32.const 7184 set_local $3 get_local $3 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join end - i32.const 7088 + i32.const 7192 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 867 + i32.const 871 i32.const 0 call $~lib/env/abort unreachable @@ -19056,34 +19083,34 @@ get_global $std/array/randomStringsExpected set_local $3 get_local $3 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join end - i32.const 7176 + i32.const 7280 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 868 + i32.const 872 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.3 (result i32) - i32.const 7296 + i32.const 7400 set_local $3 get_local $3 - i32.const 3344 + i32.const 3448 call $~lib/array/Array#join end - i32.const 7304 + i32.const 7408 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 869 + i32.const 873 i32.const 0 call $~lib/env/abort unreachable @@ -19092,16 +19119,16 @@ get_global $std/array/subarr32 set_local $3 get_local $3 - i32.const 3344 + i32.const 3448 call $~lib/array/Array>#join end - i32.const 7392 + i32.const 7496 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 872 + i32.const 876 i32.const 0 call $~lib/env/abort unreachable @@ -19110,16 +19137,16 @@ get_global $std/array/subarr8 set_local $3 get_local $3 - i32.const 3344 + i32.const 3448 call $~lib/array/Array>#join end - i32.const 7392 + i32.const 7496 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 875 + i32.const 879 i32.const 0 call $~lib/env/abort unreachable @@ -19128,16 +19155,16 @@ get_global $std/array/subarrU32 set_local $3 get_local $3 - i32.const 3344 + i32.const 3448 call $~lib/array/Array>>#join end - i32.const 5912 + i32.const 6016 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 878 + i32.const 882 i32.const 0 call $~lib/env/abort unreachable From c35cadc927d9740cf2d6305a83f27d3b8f5a0423 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Tue, 27 Nov 2018 18:02:23 +0200 Subject: [PATCH 5/9] finalize --- std/assembly/array.ts | 1 + tests/compiler/std/array.optimized.wat | 1047 ++++++++++++++---------- tests/compiler/std/array.ts | 20 + tests/compiler/std/array.untouched.wat | 996 +++++++++++++--------- 4 files changed, 1234 insertions(+), 830 deletions(-) diff --git a/std/assembly/array.ts b/std/assembly/array.ts index 0b88361c62..d77a76b095 100644 --- a/std/assembly/array.ts +++ b/std/assembly/array.ts @@ -372,6 +372,7 @@ export class Array { } splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array { + if (deleteCount < 1) return new Array(); var length = this.length_; start = start < 0 ? max(length + start, 0) : min(start, length); deleteCount = min(deleteCount, length - start); diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index 429e6f22e6..0a7601f5d9 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -141,163 +141,189 @@ (data (i32.const 2080) "\10\08\00\00\01") (data (i32.const 2088) "\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05") (data (i32.const 2120) "(\08\00\00\04") - (data (i32.const 2128) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 2160) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?") - (data (i32.const 2336) " ") - (data (i32.const 2346) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") - (data (i32.const 2400) " \t\00\00\08") - (data (i32.const 2408) " ") - (data (i32.const 2418) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") - (data (i32.const 2472) "h\t\00\00\08") - (data (i32.const 2480) "@") - (data (i32.const 2494) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") - (data (i32.const 2534) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") - (data (i32.const 2608) "\b0\t\00\00\08") - (data (i32.const 2616) "@") - (data (i32.const 2630) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") - (data (i32.const 2662) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") - (data (i32.const 2744) "8\n\00\00\08") - (data (i32.const 2752) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") - (data (i32.const 2784) "\c0\n\00\00\05") - (data (i32.const 2792) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") - (data (i32.const 2824) "\e8\n\00\00\05") - (data (i32.const 2832) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") - (data (i32.const 2864) "\10\0b\00\00\05") - (data (i32.const 2872) "\14") - (data (i32.const 2884) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 2904) "8\0b\00\00\05") - (data (i32.const 2920) "`\0b") - (data (i32.const 2928) "\04\00\00\00\00\00\00\00\01") - (data (i32.const 2944) "p\0b\00\00\01") - (data (i32.const 2952) "\08\00\00\00\00\00\00\00\02\00\00\00\01") - (data (i32.const 2968) "\88\0b\00\00\02") - (data (i32.const 2976) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") - (data (i32.const 3008) "\a0\0b\00\00\04") - (data (i32.const 3016) "\10") - (data (i32.const 3028) "\01\00\00\00\02\00\00\00\03") - (data (i32.const 3048) "\c8\0b\00\00\04") - (data (i32.const 3056) "\04\00\00\00\00\00\00\00\01") - (data (i32.const 3072) "\f0\0b\00\00\01") - (data (i32.const 3080) "\08\00\00\00\00\00\00\00\01\00\00\00\02") - (data (i32.const 3096) "\08\0c\00\00\02") - (data (i32.const 3104) "\01\00\00\00a") - (data (i32.const 3112) "\01\00\00\00b") - (data (i32.const 3120) "\02\00\00\00a\00b") - (data (i32.const 3128) "\02\00\00\00b\00a") - (data (i32.const 3144) "\1c\00\00\00\00\00\00\00 \0c\00\00(\0c\00\00 \0c\00\000\0c\00\008\0c\00\00@\0c") - (data (i32.const 3208) "H\0c\00\00\07") - (data (i32.const 3216) "\1c\00\00\00\00\00\00\00@\0c\00\00 \0c\00\00 \0c\00\000\0c\00\00(\0c\00\008\0c") - (data (i32.const 3280) "\90\0c\00\00\07") - (data (i32.const 3288) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 3320) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 3376) "\04\00\00\00n\00u\00l\00l") - (data (i32.const 3392) "\02\00\00\00\00\00\00\00\01") - (data (i32.const 3408) "@\0d\00\00\02") - (data (i32.const 3416) "\04\00\00\00t\00r\00u\00e") - (data (i32.const 3432) "\05\00\00\00f\00a\00l\00s\00e") - (data (i32.const 3448) "\01\00\00\00,") - (data (i32.const 3456) "\02\00\00\00\00\00\00\00\01") - (data (i32.const 3472) "\80\0d\00\00\02") - (data (i32.const 3480) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") - (data (i32.const 3504) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 3536) "\b0\0d\00\00\03") - (data (i32.const 3544) "\01\00\00\000") - (data (i32.const 3552) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 4064) "\e0\0d\00\00d") - (data (i32.const 4072) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 4104) "\e8\0f\00\00\03") - (data (i32.const 4112) "\05\00\00\001\00-\002\00-\003") - (data (i32.const 4128) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 4160) " \10\00\00\03") - (data (i32.const 4168) "\01\00\00\00-") - (data (i32.const 4176) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 4208) "P\10\00\00\03") - (data (i32.const 4216) "\08") - (data (i32.const 4227) "\80\00\00\00\80") - (data (i32.const 4232) "x\10\00\00\02") - (data (i32.const 4240) "\02\00\00\00_\00_") - (data (i32.const 4248) "\08") - (data (i32.const 4259) "\80\00\00\00\80") - (data (i32.const 4264) "\98\10\00\00\02") - (data (i32.const 4272) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 4328) "0") - (data (i32.const 4350) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") - (data (i32.const 4392) "\e8\10\00\00\06") - (data (i32.const 4400) "\02\00\00\00,\00 ") - (data (i32.const 4408) "\03\00\00\000\00.\000") - (data (i32.const 4424) "\03\00\00\00N\00a\00N") - (data (i32.const 4440) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4464) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4488) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00*\00&\00$\00%\00^\00@\00#\00!\00?") + (data (i32.const 2824) " ") + (data (i32.const 2834) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") + (data (i32.const 2888) "\08\0b\00\00\08") + (data (i32.const 2896) " ") + (data (i32.const 2906) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") + (data (i32.const 2960) "P\0b\00\00\08") + (data (i32.const 2968) "@") + (data (i32.const 2982) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") + (data (i32.const 3022) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") + (data (i32.const 3096) "\98\0b\00\00\08") + (data (i32.const 3104) "@") + (data (i32.const 3118) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") + (data (i32.const 3150) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") + (data (i32.const 3232) " \0c\00\00\08") + (data (i32.const 3240) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") + (data (i32.const 3272) "\a8\0c\00\00\05") + (data (i32.const 3280) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") + (data (i32.const 3312) "\d0\0c\00\00\05") + (data (i32.const 3320) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") + (data (i32.const 3352) "\f8\0c\00\00\05") + (data (i32.const 3360) "\14") + (data (i32.const 3372) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 3392) " \0d\00\00\05") + (data (i32.const 3408) "H\0d") + (data (i32.const 3416) "\04\00\00\00\00\00\00\00\01") + (data (i32.const 3432) "X\0d\00\00\01") + (data (i32.const 3440) "\08\00\00\00\00\00\00\00\02\00\00\00\01") + (data (i32.const 3456) "p\0d\00\00\02") + (data (i32.const 3464) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") + (data (i32.const 3496) "\88\0d\00\00\04") + (data (i32.const 3504) "\10") + (data (i32.const 3516) "\01\00\00\00\02\00\00\00\03") + (data (i32.const 3536) "\b0\0d\00\00\04") + (data (i32.const 3544) "\04\00\00\00\00\00\00\00\01") + (data (i32.const 3560) "\d8\0d\00\00\01") + (data (i32.const 3568) "\08\00\00\00\00\00\00\00\01\00\00\00\02") + (data (i32.const 3584) "\f0\0d\00\00\02") + (data (i32.const 3592) "\01\00\00\00a") + (data (i32.const 3600) "\01\00\00\00b") + (data (i32.const 3608) "\02\00\00\00a\00b") + (data (i32.const 3616) "\02\00\00\00b\00a") + (data (i32.const 3632) "\1c\00\00\00\00\00\00\00\08\0e\00\00\10\0e\00\00\08\0e\00\00\18\0e\00\00 \0e\00\00(\0e") + (data (i32.const 3696) "0\0e\00\00\07") + (data (i32.const 3704) "\1c\00\00\00\00\00\00\00(\0e\00\00\08\0e\00\00\08\0e\00\00\18\0e\00\00\10\0e\00\00 \0e") + (data (i32.const 3768) "x\0e\00\00\07") + (data (i32.const 3776) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 3808) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 3864) "\04\00\00\00n\00u\00l\00l") + (data (i32.const 3880) "\02\00\00\00\00\00\00\00\01") + (data (i32.const 3896) "(\0f\00\00\02") + (data (i32.const 3904) "\04\00\00\00t\00r\00u\00e") + (data (i32.const 3920) "\05\00\00\00f\00a\00l\00s\00e") + (data (i32.const 3936) "\01\00\00\00,") + (data (i32.const 3944) "\02\00\00\00\00\00\00\00\01") + (data (i32.const 3960) "h\0f\00\00\02") + (data (i32.const 3968) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") + (data (i32.const 3992) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 4024) "\98\0f\00\00\03") + (data (i32.const 4032) "\01\00\00\000") + (data (i32.const 4040) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data (i32.const 4552) "\c8\0f\00\00d") + (data (i32.const 4560) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 4592) "\d0\11\00\00\03") + (data (i32.const 4600) "\05\00\00\001\00-\002\00-\003") + (data (i32.const 4616) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 4648) "\08\12\00\00\03") + (data (i32.const 4656) "\01\00\00\00-") + (data (i32.const 4664) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 4696) "8\12\00\00\03") + (data (i32.const 4704) "\08") + (data (i32.const 4715) "\80\00\00\00\80") + (data (i32.const 4720) "`\12\00\00\02") + (data (i32.const 4728) "\02\00\00\00_\00_") + (data (i32.const 4736) "\08") + (data (i32.const 4747) "\80\00\00\00\80") + (data (i32.const 4752) "\80\12\00\00\02") + (data (i32.const 4760) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") + (data (i32.const 4816) "0") + (data (i32.const 4838) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") + (data (i32.const 4880) "\d0\12\00\00\06") + (data (i32.const 4888) "\02\00\00\00,\00 ") + (data (i32.const 4896) "\03\00\00\000\00.\000") + (data (i32.const 4912) "\03\00\00\00N\00a\00N") + (data (i32.const 4928) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 4952) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 4976) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#sort|trampoline~anonymous|43 $~lib/array/Array#sort|trampoline~anonymous|44 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|46 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|45 $start~anonymous|49 $~lib/array/Array#sort|trampoline~anonymous|45 $start~anonymous|49 $start~anonymous|52 $start~anonymous|53 $start~anonymous|54 $start~anonymous|54) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -330,15 +356,15 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 2400)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 2608)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 2784)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 2864)) - (global $std/array/reversed0 (mut i32) (i32.const 2920)) - (global $std/array/reversed1 (mut i32) (i32.const 2944)) - (global $std/array/reversed2 (mut i32) (i32.const 2968)) - (global $std/array/reversed4 (mut i32) (i32.const 3008)) - (global $std/array/expected4 (mut i32) (i32.const 3048)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 2888)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 3096)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 3272)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 3352)) + (global $std/array/reversed0 (mut i32) (i32.const 3408)) + (global $std/array/reversed1 (mut i32) (i32.const 3432)) + (global $std/array/reversed2 (mut i32) (i32.const 3456)) + (global $std/array/reversed4 (mut i32) (i32.const 3496)) + (global $std/array/expected4 (mut i32) (i32.const 3536)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -348,13 +374,13 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 3208)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 3280)) + (global $std/array/randomStringsActual (mut i32) (i32.const 3696)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 3768)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $std/array/refArr (mut i32) (i32.const 0)) - (global $std/array/subarr32 (mut i32) (i32.const 7488)) - (global $std/array/subarr8 (mut i32) (i32.const 7584)) - (global $std/array/subarrU32 (mut i32) (i32.const 7656)) + (global $std/array/subarr32 (mut i32) (i32.const 7976)) + (global $std/array/subarr8 (mut i32) (i32.const 8072)) + (global $std/array/subarrU32 (mut i32) (i32.const 8144)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -2868,6 +2894,14 @@ (local $4 i32) (local $5 i32) (local $6 i32) + get_local $2 + i32.const 1 + i32.lt_s + if + i32.const 0 + call $~lib/array/Array#constructor + return + end get_local $0 i32.load offset=4 set_local $3 @@ -3784,7 +3818,7 @@ i64.eqz if i32.const 0 - i32.const 2128 + i32.const 2616 i32.const 959 i32.const 4 call $~lib/env/abort @@ -4199,7 +4233,7 @@ if i32.const 0 i32.const 8 - i32.const 410 + i32.const 411 i32.const 4 call $~lib/env/abort unreachable @@ -4304,7 +4338,7 @@ get_local $0 i32.load offset=4 tee_local $5 - i32.const 2476 + i32.const 2964 i32.load i32.ne if @@ -4312,7 +4346,7 @@ return end get_local $0 - i32.const 2472 + i32.const 2960 i32.eq if i32.const 1 @@ -4349,7 +4383,7 @@ f32.ne set_local $4 get_local $1 - i32.const 2472 + i32.const 2960 i32.load tee_local $2 i32.load @@ -4394,7 +4428,7 @@ end set_local $3 get_local $1 - i32.const 2472 + i32.const 2960 i32.load tee_local $2 i32.load @@ -4785,7 +4819,7 @@ if i32.const 0 i32.const 8 - i32.const 410 + i32.const 411 i32.const 4 call $~lib/env/abort unreachable @@ -4890,7 +4924,7 @@ get_local $0 i32.load offset=4 tee_local $5 - i32.const 2748 + i32.const 3236 i32.load i32.ne if @@ -4898,7 +4932,7 @@ return end get_local $0 - i32.const 2744 + i32.const 3232 i32.eq if i32.const 1 @@ -4935,7 +4969,7 @@ f64.ne set_local $4 get_local $1 - i32.const 2744 + i32.const 3232 i32.load tee_local $2 i32.load @@ -4980,7 +5014,7 @@ end set_local $3 get_local $1 - i32.const 2744 + i32.const 3232 i32.load tee_local $2 i32.load @@ -5372,7 +5406,7 @@ if i32.const 0 i32.const 8 - i32.const 410 + i32.const 411 i32.const 4 call $~lib/env/abort unreachable @@ -5493,7 +5527,7 @@ i32.eqz if i32.const 0 - i32.const 2128 + i32.const 2616 i32.const 968 i32.const 24 call $~lib/env/abort @@ -5658,7 +5692,7 @@ if i32.const 0 i32.const 104 - i32.const 753 + i32.const 773 i32.const 2 call $~lib/env/abort unreachable @@ -5774,7 +5808,7 @@ if i32.const 0 i32.const 8 - i32.const 410 + i32.const 411 i32.const 4 call $~lib/env/abort unreachable @@ -5840,7 +5874,7 @@ if i32.const 0 i32.const 104 - i32.const 753 + i32.const 773 i32.const 2 call $~lib/env/abort unreachable @@ -6187,7 +6221,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 14 i32.const 2 call $~lib/env/abort @@ -6207,11 +6241,11 @@ (func $~lib/string/String#charAt (; 104 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) get_local $0 - i32.const 2160 + i32.const 2648 i32.load i32.ge_u if - i32.const 3136 + i32.const 3624 return end i32.const 1 @@ -6220,7 +6254,7 @@ get_local $0 i32.const 1 i32.shl - i32.const 2160 + i32.const 2648 i32.add i32.load16_u offset=4 i32.store16 offset=4 @@ -6254,7 +6288,7 @@ i32.eqz if i32.const 0 - i32.const 3288 + i32.const 3776 i32.const 110 i32.const 4 call $~lib/env/abort @@ -6263,7 +6297,7 @@ get_local $1 i32.eqz if - i32.const 3376 + i32.const 3864 set_local $1 end get_local $0 @@ -6276,7 +6310,7 @@ tee_local $2 i32.eqz if - i32.const 3136 + i32.const 3624 return end get_local $2 @@ -6299,7 +6333,7 @@ get_local $0 i32.eqz if - i32.const 3376 + i32.const 3864 set_local $0 end get_local $0 @@ -6309,7 +6343,7 @@ (func $std/array/createRandomString (; 108 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - i32.const 3136 + i32.const 3624 set_local $1 block $break|0 loop $repeat|0 @@ -6319,7 +6353,7 @@ br_if $break|0 get_local $1 call $~lib/math/NativeMath.random - i32.const 2160 + i32.const 2648 i32.load f64.convert_s/i32 f64.mul @@ -6379,7 +6413,7 @@ i32.eqz if i32.const 0 - i32.const 3288 + i32.const 3776 i32.const 269 i32.const 4 call $~lib/env/abort @@ -6425,7 +6459,7 @@ tee_local $3 i32.eqz if - i32.const 3136 + i32.const 3624 return end get_local $4 @@ -6464,7 +6498,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) - i32.const 3476 + i32.const 3964 i32.load i32.const 1 i32.sub @@ -6472,13 +6506,13 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3472 + i32.const 3960 i32.load set_local $5 - i32.const 3448 + i32.const 3936 i32.load tee_local $6 i32.const 0 @@ -6487,8 +6521,8 @@ get_local $4 i32.eqz if - i32.const 3416 - i32.const 3432 + i32.const 3904 + i32.const 3920 get_local $5 i32.load8_u offset=8 select @@ -6522,8 +6556,8 @@ set_local $3 get_local $2 get_local $0 - i32.const 3416 - i32.const 3432 + i32.const 3904 + i32.const 3920 get_local $9 select i32.const 0 @@ -6537,7 +6571,7 @@ if get_local $2 get_local $0 - i32.const 3448 + i32.const 3936 i32.const 0 get_local $6 call $~lib/internal/string/copyUnsafe @@ -6566,8 +6600,8 @@ set_local $3 get_local $2 get_local $0 - i32.const 3416 - i32.const 3432 + i32.const 3904 + i32.const 3920 get_local $1 select i32.const 0 @@ -6590,7 +6624,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6656,7 +6690,7 @@ (func $~lib/internal/number/utoa32_lut (; 113 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - i32.const 4064 + i32.const 4552 i32.load set_local $3 loop $continue|0 @@ -6770,7 +6804,7 @@ get_local $0 i32.eqz if - i32.const 3544 + i32.const 4032 return end get_local $0 @@ -6859,7 +6893,7 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end get_local $0 @@ -6951,7 +6985,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6966,7 +7000,7 @@ get_local $0 i32.eqz if - i32.const 3544 + i32.const 4032 return end get_local $0 @@ -7020,7 +7054,7 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end get_local $0 @@ -7112,7 +7146,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -7156,7 +7190,7 @@ tee_local $7 call $~lib/internal/number/decimalCount32 set_local $9 - i32.const 5848 + i32.const 6336 i32.load set_local $12 loop $continue|0 @@ -7921,10 +7955,10 @@ i32.shl i32.sub set_global $~lib/internal/number/_K - i32.const 5776 + i32.const 6264 i32.load set_local $4 - i32.const 5512 + i32.const 6000 i32.load get_local $5 i32.const 3 @@ -8130,7 +8164,7 @@ f64.const 0 f64.eq if - i32.const 4408 + i32.const 4896 return end get_local $0 @@ -8143,11 +8177,11 @@ get_local $0 f64.ne if - i32.const 4424 + i32.const 4912 return end - i32.const 4440 - i32.const 4464 + i32.const 4928 + i32.const 4952 get_local $0 f64.const 0 f64.lt @@ -8168,7 +8202,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8225,8 +8259,8 @@ i32.const 4 i32.add tee_local $1 - i32.const 4440 - i32.const 4464 + i32.const 4928 + i32.const 4952 get_local $2 f64.const 0 f64.lt @@ -8259,7 +8293,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 5924 + i32.const 6412 i32.load i32.const 1 i32.sub @@ -8267,13 +8301,13 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 5920 + i32.const 6408 i32.load set_local $4 - i32.const 4400 + i32.const 4888 i32.load tee_local $5 i32.const 0 @@ -8318,7 +8352,7 @@ if get_local $2 get_local $0 - i32.const 4400 + i32.const 4888 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8358,7 +8392,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8383,7 +8417,7 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end get_local $0 @@ -8527,13 +8561,13 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end get_local $0 i32.load set_local $5 - i32.const 3448 + i32.const 3936 i32.load tee_local $4 i32.const 0 @@ -8542,7 +8576,7 @@ get_local $3 i32.eqz if - i32.const 6104 + i32.const 6592 return end get_local $4 @@ -8569,7 +8603,7 @@ if get_local $0 get_local $1 - i32.const 6104 + i32.const 6592 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -8582,7 +8616,7 @@ if get_local $0 get_local $1 - i32.const 3448 + i32.const 3936 i32.const 0 get_local $4 call $~lib/internal/string/copyUnsafe @@ -8607,7 +8641,7 @@ if get_local $0 get_local $1 - i32.const 6104 + i32.const 6592 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -8630,7 +8664,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8703,7 +8737,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6300 + i32.const 6788 i32.load i32.const 1 i32.sub @@ -8711,13 +8745,13 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 6296 + i32.const 6784 i32.load set_local $4 - i32.const 3448 + i32.const 3936 i32.load tee_local $5 i32.const 0 @@ -8760,7 +8794,7 @@ if get_local $2 get_local $0 - i32.const 3448 + i32.const 3936 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8798,7 +8832,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8846,7 +8880,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6364 + i32.const 6852 i32.load i32.const 1 i32.sub @@ -8854,13 +8888,13 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 6360 + i32.const 6848 i32.load set_local $4 - i32.const 3448 + i32.const 3936 i32.load tee_local $5 i32.const 0 @@ -8905,7 +8939,7 @@ if get_local $2 get_local $0 - i32.const 3448 + i32.const 3936 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8945,7 +8979,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9013,7 +9047,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 6944 + i32.const 7432 i32.load set_local $3 loop $continue|0 @@ -9112,7 +9146,7 @@ get_local $0 i64.eqz if - i32.const 3544 + i32.const 4032 return end get_local $0 @@ -9190,7 +9224,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6988 + i32.const 7476 i32.load i32.const 1 i32.sub @@ -9198,13 +9232,13 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 6984 + i32.const 7472 i32.load set_local $4 - i32.const 3448 + i32.const 3936 i32.load tee_local $5 i32.const 0 @@ -9249,7 +9283,7 @@ if get_local $2 get_local $0 - i32.const 3448 + i32.const 3936 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -9289,7 +9323,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9306,7 +9340,7 @@ get_local $0 i64.eqz if - i32.const 3544 + i32.const 4032 return end get_local $0 @@ -9425,7 +9459,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 7188 + i32.const 7676 i32.load i32.const 1 i32.sub @@ -9433,13 +9467,13 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 7184 + i32.const 7672 i32.load set_local $4 - i32.const 3448 + i32.const 3936 i32.load tee_local $5 i32.const 0 @@ -9484,7 +9518,7 @@ if get_local $2 get_local $0 - i32.const 3448 + i32.const 3936 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -9524,7 +9558,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9547,15 +9581,15 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $1 get_local $0 i32.load set_local $4 - i32.const 3448 + i32.const 3936 i32.load i32.const 0 i32.ne @@ -9568,10 +9602,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join else - i32.const 3136 + i32.const 3624 end tee_local $0 return @@ -9594,7 +9628,7 @@ if get_local $1 get_local $2 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9602,7 +9636,7 @@ get_local $5 if get_local $1 - i32.const 3448 + i32.const 3936 call $~lib/string/String.__concat set_local $1 end @@ -9625,7 +9659,7 @@ if get_local $1 get_local $2 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9678,7 +9712,7 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end get_local $0 @@ -9766,7 +9800,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9789,15 +9823,15 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $1 get_local $0 i32.load set_local $4 - i32.const 3448 + i32.const 3936 i32.load i32.const 0 i32.ne @@ -9810,10 +9844,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join else - i32.const 3136 + i32.const 3624 end tee_local $0 return @@ -9836,7 +9870,7 @@ if get_local $1 get_local $2 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9844,7 +9878,7 @@ get_local $5 if get_local $1 - i32.const 3448 + i32.const 3936 call $~lib/string/String.__concat set_local $1 end @@ -9867,7 +9901,7 @@ if get_local $1 get_local $2 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9888,10 +9922,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $2 get_local $0 i32.load @@ -9912,7 +9946,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3136 + i32.const 3624 end tee_local $0 return @@ -9987,15 +10021,15 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $1 get_local $0 i32.load set_local $4 - i32.const 3448 + i32.const 3936 i32.load i32.const 0 i32.ne @@ -10008,10 +10042,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 3448 + i32.const 3936 call $~lib/array/Array>#join else - i32.const 3136 + i32.const 3624 end tee_local $0 return @@ -10034,7 +10068,7 @@ if get_local $1 get_local $2 - i32.const 3448 + i32.const 3936 call $~lib/array/Array>#join call $~lib/string/String.__concat set_local $1 @@ -10042,7 +10076,7 @@ get_local $5 if get_local $1 - i32.const 3448 + i32.const 3936 call $~lib/string/String.__concat set_local $1 end @@ -10065,7 +10099,7 @@ if get_local $1 get_local $2 - i32.const 3448 + i32.const 3936 call $~lib/array/Array>#join call $~lib/string/String.__concat set_local $1 @@ -10076,7 +10110,7 @@ (local $0 i32) (local $1 i32) (local $2 f32) - i32.const 7664 + i32.const 8152 set_global $~lib/allocator/arena/startOffset get_global $~lib/allocator/arena/startOffset set_global $~lib/allocator/arena/offset @@ -12630,6 +12664,161 @@ call $~lib/env/abort unreachable end + i32.const 2160 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const -7 + i32.const 1 + call $~lib/array/Array#splice + i32.const 2184 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 360 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2224 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 361 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2264 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const -2 + i32.const -1 + call $~lib/array/Array#splice + i32.const 2280 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 364 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2320 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 365 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2360 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const 1 + i32.const -2 + call $~lib/array/Array#splice + i32.const 2376 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 368 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2416 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 369 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2456 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const 4 + i32.const 0 + call $~lib/array/Array#splice + i32.const 2472 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 372 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2512 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 373 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2552 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const 7 + i32.const 0 + call $~lib/array/Array#splice + i32.const 2568 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 376 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2608 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 377 + i32.const 0 + call $~lib/env/abort + unreachable + end get_global $std/array/arr i32.const 0 i32.const 0 @@ -12654,7 +12843,7 @@ if i32.const 0 i32.const 104 - i32.const 367 + i32.const 387 i32.const 0 call $~lib/env/abort unreachable @@ -12669,7 +12858,7 @@ if i32.const 0 i32.const 104 - i32.const 370 + i32.const 390 i32.const 0 call $~lib/env/abort unreachable @@ -12684,7 +12873,7 @@ if i32.const 0 i32.const 104 - i32.const 373 + i32.const 393 i32.const 0 call $~lib/env/abort unreachable @@ -12699,7 +12888,7 @@ if i32.const 0 i32.const 104 - i32.const 381 + i32.const 401 i32.const 0 call $~lib/env/abort unreachable @@ -12711,7 +12900,7 @@ if i32.const 0 i32.const 104 - i32.const 382 + i32.const 402 i32.const 0 call $~lib/env/abort unreachable @@ -12726,7 +12915,7 @@ if i32.const 0 i32.const 104 - i32.const 384 + i32.const 404 i32.const 0 call $~lib/env/abort unreachable @@ -12753,7 +12942,7 @@ if i32.const 0 i32.const 104 - i32.const 397 + i32.const 417 i32.const 0 call $~lib/env/abort unreachable @@ -12765,7 +12954,7 @@ if i32.const 0 i32.const 104 - i32.const 398 + i32.const 418 i32.const 0 call $~lib/env/abort unreachable @@ -12788,7 +12977,7 @@ if i32.const 0 i32.const 104 - i32.const 406 + i32.const 426 i32.const 0 call $~lib/env/abort unreachable @@ -12801,7 +12990,7 @@ if i32.const 0 i32.const 104 - i32.const 409 + i32.const 429 i32.const 0 call $~lib/env/abort unreachable @@ -12816,7 +13005,7 @@ if i32.const 0 i32.const 104 - i32.const 417 + i32.const 437 i32.const 0 call $~lib/env/abort unreachable @@ -12828,7 +13017,7 @@ if i32.const 0 i32.const 104 - i32.const 418 + i32.const 438 i32.const 0 call $~lib/env/abort unreachable @@ -12841,7 +13030,7 @@ if i32.const 0 i32.const 104 - i32.const 420 + i32.const 440 i32.const 0 call $~lib/env/abort unreachable @@ -12868,7 +13057,7 @@ if i32.const 0 i32.const 104 - i32.const 433 + i32.const 453 i32.const 0 call $~lib/env/abort unreachable @@ -12880,7 +13069,7 @@ if i32.const 0 i32.const 104 - i32.const 434 + i32.const 454 i32.const 0 call $~lib/env/abort unreachable @@ -12903,7 +13092,7 @@ if i32.const 0 i32.const 104 - i32.const 442 + i32.const 462 i32.const 0 call $~lib/env/abort unreachable @@ -12916,7 +13105,7 @@ if i32.const 0 i32.const 104 - i32.const 445 + i32.const 465 i32.const 0 call $~lib/env/abort unreachable @@ -12929,7 +13118,7 @@ if i32.const 0 i32.const 104 - i32.const 453 + i32.const 473 i32.const 0 call $~lib/env/abort unreachable @@ -12941,7 +13130,7 @@ if i32.const 0 i32.const 104 - i32.const 454 + i32.const 474 i32.const 0 call $~lib/env/abort unreachable @@ -12956,7 +13145,7 @@ if i32.const 0 i32.const 104 - i32.const 456 + i32.const 476 i32.const 0 call $~lib/env/abort unreachable @@ -12981,7 +13170,7 @@ if i32.const 0 i32.const 104 - i32.const 469 + i32.const 489 i32.const 0 call $~lib/env/abort unreachable @@ -12993,7 +13182,7 @@ if i32.const 0 i32.const 104 - i32.const 470 + i32.const 490 i32.const 0 call $~lib/env/abort unreachable @@ -13017,7 +13206,7 @@ if i32.const 0 i32.const 104 - i32.const 479 + i32.const 499 i32.const 0 call $~lib/env/abort unreachable @@ -13033,7 +13222,7 @@ if i32.const 0 i32.const 104 - i32.const 488 + i32.const 508 i32.const 0 call $~lib/env/abort unreachable @@ -13045,7 +13234,7 @@ if i32.const 0 i32.const 104 - i32.const 489 + i32.const 509 i32.const 0 call $~lib/env/abort unreachable @@ -13061,7 +13250,7 @@ if i32.const 0 i32.const 104 - i32.const 492 + i32.const 512 i32.const 0 call $~lib/env/abort unreachable @@ -13089,7 +13278,7 @@ if i32.const 0 i32.const 104 - i32.const 506 + i32.const 526 i32.const 0 call $~lib/env/abort unreachable @@ -13101,7 +13290,7 @@ if i32.const 0 i32.const 104 - i32.const 507 + i32.const 527 i32.const 0 call $~lib/env/abort unreachable @@ -13124,7 +13313,7 @@ if i32.const 0 i32.const 104 - i32.const 516 + i32.const 536 i32.const 0 call $~lib/env/abort unreachable @@ -13166,7 +13355,7 @@ if i32.const 0 i32.const 104 - i32.const 517 + i32.const 537 i32.const 0 call $~lib/env/abort unreachable @@ -13183,7 +13372,7 @@ if i32.const 0 i32.const 104 - i32.const 526 + i32.const 546 i32.const 0 call $~lib/env/abort unreachable @@ -13195,7 +13384,7 @@ if i32.const 0 i32.const 104 - i32.const 527 + i32.const 547 i32.const 0 call $~lib/env/abort unreachable @@ -13212,7 +13401,7 @@ if i32.const 0 i32.const 104 - i32.const 534 + i32.const 554 i32.const 0 call $~lib/env/abort unreachable @@ -13241,7 +13430,7 @@ if i32.const 0 i32.const 104 - i32.const 549 + i32.const 569 i32.const 0 call $~lib/env/abort unreachable @@ -13253,7 +13442,7 @@ if i32.const 0 i32.const 104 - i32.const 550 + i32.const 570 i32.const 0 call $~lib/env/abort unreachable @@ -13277,7 +13466,7 @@ if i32.const 0 i32.const 104 - i32.const 558 + i32.const 578 i32.const 0 call $~lib/env/abort unreachable @@ -13294,7 +13483,7 @@ if i32.const 0 i32.const 104 - i32.const 567 + i32.const 587 i32.const 0 call $~lib/env/abort unreachable @@ -13306,7 +13495,7 @@ if i32.const 0 i32.const 104 - i32.const 568 + i32.const 588 i32.const 0 call $~lib/env/abort unreachable @@ -13323,7 +13512,7 @@ if i32.const 0 i32.const 104 - i32.const 575 + i32.const 595 i32.const 0 call $~lib/env/abort unreachable @@ -13352,7 +13541,7 @@ if i32.const 0 i32.const 104 - i32.const 590 + i32.const 610 i32.const 0 call $~lib/env/abort unreachable @@ -13364,7 +13553,7 @@ if i32.const 0 i32.const 104 - i32.const 591 + i32.const 611 i32.const 0 call $~lib/env/abort unreachable @@ -13388,7 +13577,7 @@ if i32.const 0 i32.const 104 - i32.const 599 + i32.const 619 i32.const 0 call $~lib/env/abort unreachable @@ -13404,7 +13593,7 @@ if i32.const 0 i32.const 104 - i32.const 603 + i32.const 623 i32.const 0 call $~lib/env/abort unreachable @@ -13422,7 +13611,7 @@ if i32.const 0 i32.const 104 - i32.const 606 + i32.const 626 i32.const 0 call $~lib/env/abort unreachable @@ -13438,7 +13627,7 @@ if i32.const 0 i32.const 104 - i32.const 609 + i32.const 629 i32.const 0 call $~lib/env/abort unreachable @@ -13454,7 +13643,7 @@ if i32.const 0 i32.const 104 - i32.const 617 + i32.const 637 i32.const 0 call $~lib/env/abort unreachable @@ -13466,7 +13655,7 @@ if i32.const 0 i32.const 104 - i32.const 618 + i32.const 638 i32.const 0 call $~lib/env/abort unreachable @@ -13482,7 +13671,7 @@ if i32.const 0 i32.const 104 - i32.const 620 + i32.const 640 i32.const 0 call $~lib/env/abort unreachable @@ -13510,7 +13699,7 @@ if i32.const 0 i32.const 104 - i32.const 633 + i32.const 653 i32.const 0 call $~lib/env/abort unreachable @@ -13522,7 +13711,7 @@ if i32.const 0 i32.const 104 - i32.const 634 + i32.const 654 i32.const 0 call $~lib/env/abort unreachable @@ -13546,7 +13735,7 @@ if i32.const 0 i32.const 104 - i32.const 642 + i32.const 662 i32.const 0 call $~lib/env/abort unreachable @@ -13562,7 +13751,7 @@ if i32.const 0 i32.const 104 - i32.const 646 + i32.const 666 i32.const 0 call $~lib/env/abort unreachable @@ -13580,7 +13769,7 @@ if i32.const 0 i32.const 104 - i32.const 649 + i32.const 669 i32.const 0 call $~lib/env/abort unreachable @@ -13596,7 +13785,7 @@ if i32.const 0 i32.const 104 - i32.const 652 + i32.const 672 i32.const 0 call $~lib/env/abort unreachable @@ -13612,7 +13801,7 @@ if i32.const 0 i32.const 104 - i32.const 660 + i32.const 680 i32.const 0 call $~lib/env/abort unreachable @@ -13624,7 +13813,7 @@ if i32.const 0 i32.const 104 - i32.const 661 + i32.const 681 i32.const 0 call $~lib/env/abort unreachable @@ -13640,7 +13829,7 @@ if i32.const 0 i32.const 104 - i32.const 663 + i32.const 683 i32.const 0 call $~lib/env/abort unreachable @@ -13668,7 +13857,7 @@ if i32.const 0 i32.const 104 - i32.const 676 + i32.const 696 i32.const 0 call $~lib/env/abort unreachable @@ -13678,7 +13867,7 @@ if i32.const 0 i32.const 104 - i32.const 677 + i32.const 697 i32.const 0 call $~lib/env/abort unreachable @@ -13729,7 +13918,7 @@ if i32.const 0 i32.const 104 - i32.const 764 + i32.const 784 i32.const 0 call $~lib/env/abort unreachable @@ -13761,7 +13950,7 @@ if i32.const 0 i32.const 104 - i32.const 768 + i32.const 788 i32.const 0 call $~lib/env/abort unreachable @@ -13788,14 +13977,14 @@ call $~lib/array/Array#sort drop get_global $std/array/i32ArrayTyped - i32.const 2824 + i32.const 3312 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 772 + i32.const 792 i32.const 0 call $~lib/env/abort unreachable @@ -13822,14 +14011,14 @@ call $~lib/array/Array#sort drop get_global $std/array/u32ArrayTyped - i32.const 2904 + i32.const 3392 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 776 + i32.const 796 i32.const 0 call $~lib/env/abort unreachable @@ -13854,14 +14043,14 @@ get_global $std/array/reversed1 call $std/array/assertSortedDefault get_global $std/array/reversed1 - i32.const 3072 + i32.const 3560 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 796 + i32.const 816 i32.const 0 call $~lib/env/abort unreachable @@ -13869,14 +14058,14 @@ get_global $std/array/reversed2 call $std/array/assertSortedDefault get_global $std/array/reversed2 - i32.const 3096 + i32.const 3584 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 799 + i32.const 819 i32.const 0 call $~lib/env/abort unreachable @@ -13891,7 +14080,7 @@ if i32.const 0 i32.const 104 - i32.const 802 + i32.const 822 i32.const 0 call $~lib/env/abort unreachable @@ -13906,7 +14095,7 @@ if i32.const 0 i32.const 104 - i32.const 805 + i32.const 825 i32.const 0 call $~lib/env/abort unreachable @@ -13921,7 +14110,7 @@ if i32.const 0 i32.const 104 - i32.const 808 + i32.const 828 i32.const 0 call $~lib/env/abort unreachable @@ -13936,7 +14125,7 @@ if i32.const 0 i32.const 104 - i32.const 811 + i32.const 831 i32.const 0 call $~lib/env/abort unreachable @@ -13951,7 +14140,7 @@ if i32.const 0 i32.const 104 - i32.const 814 + i32.const 834 i32.const 0 call $~lib/env/abort unreachable @@ -13996,7 +14185,7 @@ if i32.const 0 i32.const 104 - i32.const 843 + i32.const 863 i32.const 0 call $~lib/env/abort unreachable @@ -14007,81 +14196,81 @@ i32.const 55 call $std/array/assertSorted> call $~lib/array/Array#join - i32.const 3480 + i32.const 3968 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 852 + i32.const 872 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4104 - i32.const 3136 + i32.const 4592 + i32.const 3624 call $~lib/array/Array#join - i32.const 4112 + i32.const 4600 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 853 + i32.const 873 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4208 - i32.const 4168 + i32.const 4696 + i32.const 4656 call $~lib/array/Array#join - i32.const 4112 + i32.const 4600 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 854 + i32.const 874 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4264 - i32.const 4240 + i32.const 4752 + i32.const 4728 call $~lib/array/Array#join - i32.const 4272 + i32.const 4760 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 855 + i32.const 875 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 5928 + i32.const 6416 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 856 + i32.const 876 i32.const 0 call $~lib/env/abort unreachable end - i32.const 6096 - i32.const 3136 + i32.const 6584 + i32.const 3624 call $~lib/array/Array#join - i32.const 6016 + i32.const 6504 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 857 + i32.const 877 i32.const 0 call $~lib/env/abort unreachable @@ -14115,184 +14304,184 @@ set_global $std/array/refArr get_global $std/array/refArr call $~lib/array/Array#join - i32.const 6144 + i32.const 6632 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 859 + i32.const 879 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed0 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join - i32.const 3136 + i32.const 3624 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 863 + i32.const 883 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed1 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join - i32.const 6016 + i32.const 6504 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 864 + i32.const 884 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed2 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join - i32.const 6216 + i32.const 6704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 865 + i32.const 885 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed4 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join - i32.const 6232 + i32.const 6720 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 866 + i32.const 886 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6304 + i32.const 6792 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 868 + i32.const 888 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6368 + i32.const 6856 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 869 + i32.const 889 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6992 + i32.const 7480 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 870 + i32.const 890 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 7192 + i32.const 7680 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 871 + i32.const 891 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/randomStringsExpected - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join - i32.const 7280 + i32.const 7768 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 872 + i32.const 892 i32.const 0 call $~lib/env/abort unreachable end - i32.const 7400 - i32.const 3448 + i32.const 7888 + i32.const 3936 call $~lib/array/Array#join - i32.const 7408 + i32.const 7896 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 873 + i32.const 893 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarr32 call $~lib/array/Array>#join - i32.const 7496 + i32.const 7984 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 876 + i32.const 896 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarr8 call $~lib/array/Array>#join - i32.const 7496 + i32.const 7984 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 879 + i32.const 899 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarrU32 call $~lib/array/Array>>#join - i32.const 6016 + i32.const 6504 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 882 + i32.const 902 i32.const 0 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/array.ts b/tests/compiler/std/array.ts index 5ef3063ee6..9b75e3a56f 100644 --- a/tests/compiler/std/array.ts +++ b/tests/compiler/std/array.ts @@ -356,6 +356,26 @@ sarr = [1, 2, 3, 4, 5]; assert(isArraysEqual(sarr.splice(-2, 1), [4])); assert(isArraysEqual(sarr, [1, 2, 3, 5])); +sarr = [1, 2, 3, 4, 5]; +assert(isArraysEqual(sarr.splice(-7, 1), [1])); +assert(isArraysEqual(sarr, [2, 3, 4, 5])); + +sarr = [1, 2, 3, 4, 5]; +assert(isArraysEqual(sarr.splice(-2, -1), [])); +assert(isArraysEqual(sarr, [1, 2, 3, 4, 5])); + +sarr = [1, 2, 3, 4, 5]; +assert(isArraysEqual(sarr.splice(1, -2), [])); +assert(isArraysEqual(sarr, [1, 2, 3, 4, 5])); + +sarr = [1, 2, 3, 4, 5]; +assert(isArraysEqual(sarr.splice(4, 0), [])); +assert(isArraysEqual(sarr, [1, 2, 3, 4, 5])); + +sarr = [1, 2, 3, 4, 5]; +assert(isArraysEqual(sarr.splice(7, 0), [])); +assert(isArraysEqual(sarr, [1, 2, 3, 4, 5])); + // Array#findIndex ///////////////////////////////////////////////////////////////////////////////// arr[0] = 0; diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index 5a235468c4..2c6094690a 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -144,151 +144,181 @@ (data (i32.const 2080) "\10\08\00\00\01\00\00\00") (data (i32.const 2088) "\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 2120) "(\08\00\00\04\00\00\00") - (data (i32.const 2128) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") - (data (i32.const 2160) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") - (data (i32.const 2336) " \00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2400) " \t\00\00\08\00\00\00") - (data (i32.const 2408) " \00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2472) "h\t\00\00\08\00\00\00") - (data (i32.const 2480) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2608) "\b0\t\00\00\08\00\00\00") - (data (i32.const 2616) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2744) "8\n\00\00\08\00\00\00") - (data (i32.const 2752) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 2784) "\c0\n\00\00\05\00\00\00") - (data (i32.const 2792) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 2824) "\e8\n\00\00\05\00\00\00") - (data (i32.const 2832) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 2864) "\10\0b\00\00\05\00\00\00") - (data (i32.const 2872) "\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00") - (data (i32.const 2904) "8\0b\00\00\05\00\00\00") - (data (i32.const 2912) "\00\00\00\00\00\00\00\00") - (data (i32.const 2920) "`\0b\00\00\00\00\00\00") - (data (i32.const 2928) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 2944) "p\0b\00\00\01\00\00\00") - (data (i32.const 2952) "\08\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") - (data (i32.const 2968) "\88\0b\00\00\02\00\00\00") - (data (i32.const 2976) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3008) "\a0\0b\00\00\04\00\00\00") - (data (i32.const 3016) "\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3048) "\c8\0b\00\00\04\00\00\00") - (data (i32.const 3056) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3072) "\f0\0b\00\00\01\00\00\00") - (data (i32.const 3080) "\08\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 3096) "\08\0c\00\00\02\00\00\00") - (data (i32.const 3104) "\01\00\00\00a\00") - (data (i32.const 3112) "\01\00\00\00b\00") - (data (i32.const 3120) "\02\00\00\00a\00b\00") - (data (i32.const 3128) "\02\00\00\00b\00a\00") - (data (i32.const 3136) "\00\00\00\00") - (data (i32.const 3144) "\1c\00\00\00\00\00\00\00 \0c\00\00(\0c\00\00 \0c\00\000\0c\00\008\0c\00\00@\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3208) "H\0c\00\00\07\00\00\00") - (data (i32.const 3216) "\1c\00\00\00\00\00\00\00@\0c\00\00 \0c\00\00 \0c\00\000\0c\00\00(\0c\00\008\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3280) "\90\0c\00\00\07\00\00\00") - (data (i32.const 3288) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 3320) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 3376) "\04\00\00\00n\00u\00l\00l\00") - (data (i32.const 3392) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3408) "@\0d\00\00\02\00\00\00") - (data (i32.const 3416) "\04\00\00\00t\00r\00u\00e\00") - (data (i32.const 3432) "\05\00\00\00f\00a\00l\00s\00e\00") - (data (i32.const 3448) "\01\00\00\00,\00") - (data (i32.const 3456) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3472) "\80\0d\00\00\02\00\00\00") - (data (i32.const 3480) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") - (data (i32.const 3504) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3536) "\b0\0d\00\00\03\00\00\00") - (data (i32.const 3544) "\01\00\00\000\00") - (data (i32.const 3552) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4064) "\e0\0d\00\00d\00\00\00") - (data (i32.const 4072) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4104) "\e8\0f\00\00\03\00\00\00") - (data (i32.const 4112) "\05\00\00\001\00-\002\00-\003\00") - (data (i32.const 4128) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4160) " \10\00\00\03\00\00\00") - (data (i32.const 4168) "\01\00\00\00-\00") - (data (i32.const 4176) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4208) "P\10\00\00\03\00\00\00") - (data (i32.const 4216) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 4232) "x\10\00\00\02\00\00\00") - (data (i32.const 4240) "\02\00\00\00_\00_\00") - (data (i32.const 4248) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 4264) "\98\10\00\00\02\00\00\00") - (data (i32.const 4272) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 4328) "0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00") - (data (i32.const 4392) "\e8\10\00\00\06\00\00\00") - (data (i32.const 4400) "\02\00\00\00,\00 \00") - (data (i32.const 4408) "\03\00\00\000\00.\000\00") - (data (i32.const 4424) "\03\00\00\00N\00a\00N\00") - (data (i32.const 4440) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4464) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4488) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") + (data (i32.const 2824) " \00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2888) "\08\0b\00\00\08\00\00\00") + (data (i32.const 2896) " \00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2960) "P\0b\00\00\08\00\00\00") + (data (i32.const 2968) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3096) "\98\0b\00\00\08\00\00\00") + (data (i32.const 3104) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3232) " \0c\00\00\08\00\00\00") + (data (i32.const 3240) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 3272) "\a8\0c\00\00\05\00\00\00") + (data (i32.const 3280) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 3312) "\d0\0c\00\00\05\00\00\00") + (data (i32.const 3320) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 3352) "\f8\0c\00\00\05\00\00\00") + (data (i32.const 3360) "\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00") + (data (i32.const 3392) " \0d\00\00\05\00\00\00") + (data (i32.const 3400) "\00\00\00\00\00\00\00\00") + (data (i32.const 3408) "H\0d\00\00\00\00\00\00") + (data (i32.const 3416) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3432) "X\0d\00\00\01\00\00\00") + (data (i32.const 3440) "\08\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") + (data (i32.const 3456) "p\0d\00\00\02\00\00\00") + (data (i32.const 3464) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3496) "\88\0d\00\00\04\00\00\00") + (data (i32.const 3504) "\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3536) "\b0\0d\00\00\04\00\00\00") + (data (i32.const 3544) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3560) "\d8\0d\00\00\01\00\00\00") + (data (i32.const 3568) "\08\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 3584) "\f0\0d\00\00\02\00\00\00") + (data (i32.const 3592) "\01\00\00\00a\00") + (data (i32.const 3600) "\01\00\00\00b\00") + (data (i32.const 3608) "\02\00\00\00a\00b\00") + (data (i32.const 3616) "\02\00\00\00b\00a\00") + (data (i32.const 3624) "\00\00\00\00") + (data (i32.const 3632) "\1c\00\00\00\00\00\00\00\08\0e\00\00\10\0e\00\00\08\0e\00\00\18\0e\00\00 \0e\00\00(\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3696) "0\0e\00\00\07\00\00\00") + (data (i32.const 3704) "\1c\00\00\00\00\00\00\00(\0e\00\00\08\0e\00\00\08\0e\00\00\18\0e\00\00\10\0e\00\00 \0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3768) "x\0e\00\00\07\00\00\00") + (data (i32.const 3776) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 3808) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 3864) "\04\00\00\00n\00u\00l\00l\00") + (data (i32.const 3880) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3896) "(\0f\00\00\02\00\00\00") + (data (i32.const 3904) "\04\00\00\00t\00r\00u\00e\00") + (data (i32.const 3920) "\05\00\00\00f\00a\00l\00s\00e\00") + (data (i32.const 3936) "\01\00\00\00,\00") + (data (i32.const 3944) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3960) "h\0f\00\00\02\00\00\00") + (data (i32.const 3968) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") + (data (i32.const 3992) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4024) "\98\0f\00\00\03\00\00\00") + (data (i32.const 4032) "\01\00\00\000\00") + (data (i32.const 4040) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4552) "\c8\0f\00\00d\00\00\00") + (data (i32.const 4560) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4592) "\d0\11\00\00\03\00\00\00") + (data (i32.const 4600) "\05\00\00\001\00-\002\00-\003\00") + (data (i32.const 4616) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4648) "\08\12\00\00\03\00\00\00") + (data (i32.const 4656) "\01\00\00\00-\00") + (data (i32.const 4664) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4696) "8\12\00\00\03\00\00\00") + (data (i32.const 4704) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 4720) "`\12\00\00\02\00\00\00") + (data (i32.const 4728) "\02\00\00\00_\00_\00") + (data (i32.const 4736) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 4752) "\80\12\00\00\02\00\00\00") + (data (i32.const 4760) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") + (data (i32.const 4816) "0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00") + (data (i32.const 4880) "\d0\12\00\00\06\00\00\00") + (data (i32.const 4888) "\02\00\00\00,\00 \00") + (data (i32.const 4896) "\03\00\00\000\00.\000\00") + (data (i32.const 4912) "\03\00\00\00N\00a\00N\00") + (data (i32.const 4928) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 4952) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 4976) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#sort|trampoline~anonymous|43 $~lib/array/Array#sort|trampoline~anonymous|44 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|46 $std/array/assertSortedDefault~anonymous|47 $start~anonymous|48 $start~anonymous|49 $start~anonymous|50 $start~anonymous|51 $start~anonymous|52 $start~anonymous|53 $start~anonymous|54 $start~anonymous|55) (global $~lib/internal/allocator/AL_BITS i32 (i32.const 3)) @@ -335,16 +365,16 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/charset i32 (i32.const 2160)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 2400)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 2608)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 2784)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 2864)) - (global $std/array/reversed0 (mut i32) (i32.const 2920)) - (global $std/array/reversed1 (mut i32) (i32.const 2944)) - (global $std/array/reversed2 (mut i32) (i32.const 2968)) - (global $std/array/reversed4 (mut i32) (i32.const 3008)) - (global $std/array/expected4 (mut i32) (i32.const 3048)) + (global $std/array/charset i32 (i32.const 2648)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 2888)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 3096)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 3272)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 3352)) + (global $std/array/reversed0 (mut i32) (i32.const 3408)) + (global $std/array/reversed1 (mut i32) (i32.const 3432)) + (global $std/array/reversed2 (mut i32) (i32.const 3456)) + (global $std/array/reversed4 (mut i32) (i32.const 3496)) + (global $std/array/expected4 (mut i32) (i32.const 3536)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -354,8 +384,8 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 3208)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 3280)) + (global $std/array/randomStringsActual (mut i32) (i32.const 3696)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 3768)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/internal/string/CharCode.PLUS i32 (i32.const 43)) @@ -389,10 +419,10 @@ (global $std/array/refArr (mut i32) (i32.const 0)) (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) (global $~lib/builtins/i64.MAX_VALUE i64 (i64.const 9223372036854775807)) - (global $std/array/subarr32 (mut i32) (i32.const 7488)) - (global $std/array/subarr8 (mut i32) (i32.const 7584)) - (global $std/array/subarrU32 (mut i32) (i32.const 7656)) - (global $HEAP_BASE i32 (i32.const 7664)) + (global $std/array/subarr32 (mut i32) (i32.const 7976)) + (global $std/array/subarr8 (mut i32) (i32.const 8072)) + (global $std/array/subarrU32 (mut i32) (i32.const 8144)) + (global $HEAP_BASE i32 (i32.const 8152)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -3605,6 +3635,15 @@ (local $7 i32) (local $8 i32) (local $9 i32) + get_local $2 + i32.const 1 + i32.lt_s + if + i32.const 0 + i32.const 0 + call $~lib/array/Array#constructor + return + end get_local $0 i32.load offset=4 set_local $3 @@ -4944,7 +4983,7 @@ i64.eqz if i32.const 0 - i32.const 2128 + i32.const 2616 i32.const 959 i32.const 4 call $~lib/env/abort @@ -5507,7 +5546,7 @@ if i32.const 0 i32.const 8 - i32.const 410 + i32.const 411 i32.const 4 call $~lib/env/abort unreachable @@ -6271,7 +6310,7 @@ if i32.const 0 i32.const 8 - i32.const 410 + i32.const 411 i32.const 4 call $~lib/env/abort unreachable @@ -7057,7 +7096,7 @@ if i32.const 0 i32.const 8 - i32.const 410 + i32.const 411 i32.const 4 call $~lib/env/abort unreachable @@ -7713,7 +7752,7 @@ if i32.const 0 i32.const 8 - i32.const 410 + i32.const 411 i32.const 4 call $~lib/env/abort unreachable @@ -7886,7 +7925,7 @@ i32.eqz if i32.const 0 - i32.const 2128 + i32.const 2616 i32.const 968 i32.const 24 call $~lib/env/abort @@ -8041,7 +8080,7 @@ if i32.const 0 i32.const 104 - i32.const 753 + i32.const 773 i32.const 2 call $~lib/env/abort unreachable @@ -8393,7 +8432,7 @@ if i32.const 0 i32.const 8 - i32.const 410 + i32.const 411 i32.const 4 call $~lib/env/abort unreachable @@ -8538,7 +8577,7 @@ if i32.const 0 i32.const 104 - i32.const 753 + i32.const 773 i32.const 2 call $~lib/env/abort unreachable @@ -8849,7 +8888,7 @@ if i32.const 0 i32.const 8 - i32.const 410 + i32.const 411 i32.const 4 call $~lib/env/abort unreachable @@ -9016,7 +9055,7 @@ if i32.const 0 i32.const 104 - i32.const 753 + i32.const 773 i32.const 2 call $~lib/env/abort unreachable @@ -9337,7 +9376,7 @@ if i32.const 0 i32.const 8 - i32.const 410 + i32.const 411 i32.const 4 call $~lib/env/abort unreachable @@ -9504,7 +9543,7 @@ if i32.const 0 i32.const 104 - i32.const 753 + i32.const 773 i32.const 2 call $~lib/env/abort unreachable @@ -9698,7 +9737,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 14 i32.const 2 call $~lib/env/abort @@ -9729,7 +9768,7 @@ i32.eqz if i32.const 0 - i32.const 3288 + i32.const 3776 i32.const 58 i32.const 4 call $~lib/env/abort @@ -9740,7 +9779,7 @@ i32.load i32.ge_u if - i32.const 3136 + i32.const 3624 return end i32.const 1 @@ -9796,7 +9835,7 @@ i32.eqz if i32.const 0 - i32.const 3288 + i32.const 3776 i32.const 110 i32.const 4 call $~lib/env/abort @@ -9806,7 +9845,7 @@ i32.const 0 i32.eq if - i32.const 3376 + i32.const 3864 set_local $1 end get_local $0 @@ -9823,7 +9862,7 @@ i32.const 0 i32.eq if - i32.const 3136 + i32.const 3624 return end get_local $4 @@ -9847,7 +9886,7 @@ get_local $0 i32.eqz if - i32.const 3376 + i32.const 3864 set_local $0 end get_local $0 @@ -9858,7 +9897,7 @@ (local $1 i32) (local $2 i32) (local $3 f64) - i32.const 3136 + i32.const 3624 set_local $1 block $break|0 i32.const 0 @@ -10009,7 +10048,7 @@ i32.eqz if i32.const 0 - i32.const 3288 + i32.const 3776 i32.const 269 i32.const 4 call $~lib/env/abort @@ -10075,7 +10114,7 @@ get_local $3 i32.eqz if - i32.const 3136 + i32.const 3624 return end get_local $8 @@ -10125,10 +10164,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $3 get_local $0 i32.load @@ -10143,8 +10182,8 @@ get_local $2 i32.eqz if - i32.const 3416 - i32.const 3432 + i32.const 3904 + i32.const 3920 block $~lib/internal/arraybuffer/loadUnsafe|inlined.0 (result i32) i32.const 0 set_local $8 @@ -10203,8 +10242,8 @@ set_local $8 get_local $10 get_local $11 - i32.const 3416 - i32.const 3432 + i32.const 3904 + i32.const 3920 get_local $4 i32.const 0 i32.ne @@ -10257,8 +10296,8 @@ set_local $8 get_local $10 get_local $11 - i32.const 3416 - i32.const 3432 + i32.const 3904 + i32.const 3920 get_local $4 i32.const 0 i32.ne @@ -10285,7 +10324,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -10382,7 +10421,7 @@ (local $8 i64) (local $9 i64) block $~lib/internal/number/DIGITS|inlined.0 (result i32) - i32.const 4064 + i32.const 4552 end i32.load set_local $3 @@ -10533,7 +10572,7 @@ get_local $0 i32.eqz if - i32.const 3544 + i32.const 4032 return end get_local $0 @@ -10640,10 +10679,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $3 get_local $0 i32.load @@ -10764,7 +10803,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -10789,7 +10828,7 @@ get_local $0 i32.eqz if - i32.const 3544 + i32.const 4032 return end get_local $0 @@ -10857,10 +10896,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $3 get_local $0 i32.load @@ -10981,7 +11020,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -11059,7 +11098,7 @@ get_local $6 set_local $15 block $~lib/internal/number/POWERS10|inlined.0 (result i32) - i32.const 5848 + i32.const 6336 end i32.load set_local $16 @@ -12055,12 +12094,12 @@ i32.sub set_global $~lib/internal/number/_K block $~lib/internal/number/FRC_POWERS|inlined.0 (result i32) - i32.const 5512 + i32.const 6000 end i32.load set_local $12 block $~lib/internal/number/EXP_POWERS|inlined.0 (result i32) - i32.const 5776 + i32.const 6264 end i32.load set_local $13 @@ -12337,7 +12376,7 @@ f64.const 0 f64.eq if - i32.const 4408 + i32.const 4896 return end get_local $0 @@ -12347,11 +12386,11 @@ get_local $0 call $~lib/builtins/isNaN if - i32.const 4424 + i32.const 4912 return end - i32.const 4440 - i32.const 4464 + i32.const 4928 + i32.const 4952 get_local $0 f64.const 0 f64.lt @@ -12374,7 +12413,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -12447,8 +12486,8 @@ get_local $3 i32.add set_local $4 - i32.const 4440 - i32.const 4464 + i32.const 4928 + i32.const 4952 get_local $3 select set_local $5 @@ -12498,10 +12537,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $3 get_local $0 i32.load @@ -12622,7 +12661,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -12662,10 +12701,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $3 get_local $0 i32.load @@ -12932,10 +12971,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $3 get_local $0 i32.load @@ -12950,7 +12989,7 @@ get_local $2 i32.eqz if - i32.const 6104 + i32.const 6592 return end i32.const 15 @@ -12989,7 +13028,7 @@ if get_local $9 get_local $10 - i32.const 6104 + i32.const 6592 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -13032,7 +13071,7 @@ if get_local $9 get_local $10 - i32.const 6104 + i32.const 6592 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -13056,7 +13095,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13171,10 +13210,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $3 get_local $0 i32.load @@ -13295,7 +13334,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13378,10 +13417,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $3 get_local $0 i32.load @@ -13502,7 +13541,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13603,7 +13642,7 @@ (local $12 i64) (local $13 i64) block $~lib/internal/number/DIGITS|inlined.1 (result i32) - i32.const 6944 + i32.const 7432 end i32.load set_local $3 @@ -13735,7 +13774,7 @@ get_local $0 i64.eqz if - i32.const 3544 + i32.const 4032 return end get_local $0 @@ -13841,10 +13880,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $3 get_local $0 i32.load @@ -13965,7 +14004,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13992,7 +14031,7 @@ get_local $0 i64.eqz if - i32.const 3544 + i32.const 4032 return end get_local $0 @@ -14141,10 +14180,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $3 get_local $0 i32.load @@ -14265,7 +14304,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14301,10 +14340,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $3 get_local $0 i32.load @@ -14336,7 +14375,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3136 + i32.const 3624 end return end @@ -14470,10 +14509,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $3 get_local $0 i32.load @@ -14594,7 +14633,7 @@ i32.eqz if i32.const 0 - i32.const 3320 + i32.const 3808 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14630,10 +14669,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $3 get_local $0 i32.load @@ -14665,7 +14704,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3136 + i32.const 3624 end return end @@ -14752,10 +14791,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $3 get_local $0 i32.load @@ -14787,7 +14826,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3136 + i32.const 3624 end return end @@ -14874,10 +14913,10 @@ i32.const 0 i32.lt_s if - i32.const 3136 + i32.const 3624 return end - i32.const 3136 + i32.const 3624 set_local $3 get_local $0 i32.load @@ -14909,7 +14948,7 @@ get_local $1 call $~lib/array/Array>#join else - i32.const 3136 + i32.const 3624 end return end @@ -17359,6 +17398,161 @@ call $~lib/env/abort unreachable end + i32.const 2160 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const -7 + i32.const 1 + call $~lib/array/Array#splice + i32.const 2184 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 360 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2224 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 361 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2264 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const -2 + i32.const -1 + call $~lib/array/Array#splice + i32.const 2280 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 364 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2320 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 365 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2360 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const 1 + i32.const -2 + call $~lib/array/Array#splice + i32.const 2376 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 368 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2416 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 369 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2456 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const 4 + i32.const 0 + call $~lib/array/Array#splice + i32.const 2472 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 372 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2512 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 373 + i32.const 0 + call $~lib/env/abort + unreachable + end + i32.const 2552 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const 7 + i32.const 0 + call $~lib/array/Array#splice + i32.const 2568 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 376 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2608 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 377 + i32.const 0 + call $~lib/env/abort + unreachable + end get_global $std/array/arr i32.const 0 i32.const 0 @@ -17386,7 +17580,7 @@ if i32.const 0 i32.const 104 - i32.const 367 + i32.const 387 i32.const 0 call $~lib/env/abort unreachable @@ -17402,7 +17596,7 @@ if i32.const 0 i32.const 104 - i32.const 370 + i32.const 390 i32.const 0 call $~lib/env/abort unreachable @@ -17418,7 +17612,7 @@ if i32.const 0 i32.const 104 - i32.const 373 + i32.const 393 i32.const 0 call $~lib/env/abort unreachable @@ -17434,7 +17628,7 @@ if i32.const 0 i32.const 104 - i32.const 381 + i32.const 401 i32.const 0 call $~lib/env/abort unreachable @@ -17451,7 +17645,7 @@ if i32.const 0 i32.const 104 - i32.const 382 + i32.const 402 i32.const 0 call $~lib/env/abort unreachable @@ -17467,7 +17661,7 @@ if i32.const 0 i32.const 104 - i32.const 384 + i32.const 404 i32.const 0 call $~lib/env/abort unreachable @@ -17495,7 +17689,7 @@ if i32.const 0 i32.const 104 - i32.const 397 + i32.const 417 i32.const 0 call $~lib/env/abort unreachable @@ -17512,7 +17706,7 @@ if i32.const 0 i32.const 104 - i32.const 398 + i32.const 418 i32.const 0 call $~lib/env/abort unreachable @@ -17536,7 +17730,7 @@ if i32.const 0 i32.const 104 - i32.const 406 + i32.const 426 i32.const 0 call $~lib/env/abort unreachable @@ -17552,7 +17746,7 @@ if i32.const 0 i32.const 104 - i32.const 409 + i32.const 429 i32.const 0 call $~lib/env/abort unreachable @@ -17568,7 +17762,7 @@ if i32.const 0 i32.const 104 - i32.const 417 + i32.const 437 i32.const 0 call $~lib/env/abort unreachable @@ -17585,7 +17779,7 @@ if i32.const 0 i32.const 104 - i32.const 418 + i32.const 438 i32.const 0 call $~lib/env/abort unreachable @@ -17601,7 +17795,7 @@ if i32.const 0 i32.const 104 - i32.const 420 + i32.const 440 i32.const 0 call $~lib/env/abort unreachable @@ -17629,7 +17823,7 @@ if i32.const 0 i32.const 104 - i32.const 433 + i32.const 453 i32.const 0 call $~lib/env/abort unreachable @@ -17646,7 +17840,7 @@ if i32.const 0 i32.const 104 - i32.const 434 + i32.const 454 i32.const 0 call $~lib/env/abort unreachable @@ -17670,7 +17864,7 @@ if i32.const 0 i32.const 104 - i32.const 442 + i32.const 462 i32.const 0 call $~lib/env/abort unreachable @@ -17686,7 +17880,7 @@ if i32.const 0 i32.const 104 - i32.const 445 + i32.const 465 i32.const 0 call $~lib/env/abort unreachable @@ -17702,7 +17896,7 @@ if i32.const 0 i32.const 104 - i32.const 453 + i32.const 473 i32.const 0 call $~lib/env/abort unreachable @@ -17719,7 +17913,7 @@ if i32.const 0 i32.const 104 - i32.const 454 + i32.const 474 i32.const 0 call $~lib/env/abort unreachable @@ -17735,7 +17929,7 @@ if i32.const 0 i32.const 104 - i32.const 456 + i32.const 476 i32.const 0 call $~lib/env/abort unreachable @@ -17763,7 +17957,7 @@ if i32.const 0 i32.const 104 - i32.const 469 + i32.const 489 i32.const 0 call $~lib/env/abort unreachable @@ -17780,7 +17974,7 @@ if i32.const 0 i32.const 104 - i32.const 470 + i32.const 490 i32.const 0 call $~lib/env/abort unreachable @@ -17805,7 +17999,7 @@ if i32.const 0 i32.const 104 - i32.const 479 + i32.const 499 i32.const 0 call $~lib/env/abort unreachable @@ -17822,7 +18016,7 @@ if i32.const 0 i32.const 104 - i32.const 488 + i32.const 508 i32.const 0 call $~lib/env/abort unreachable @@ -17839,7 +18033,7 @@ if i32.const 0 i32.const 104 - i32.const 489 + i32.const 509 i32.const 0 call $~lib/env/abort unreachable @@ -17856,7 +18050,7 @@ if i32.const 0 i32.const 104 - i32.const 492 + i32.const 512 i32.const 0 call $~lib/env/abort unreachable @@ -17885,7 +18079,7 @@ if i32.const 0 i32.const 104 - i32.const 506 + i32.const 526 i32.const 0 call $~lib/env/abort unreachable @@ -17902,7 +18096,7 @@ if i32.const 0 i32.const 104 - i32.const 507 + i32.const 527 i32.const 0 call $~lib/env/abort unreachable @@ -17931,7 +18125,7 @@ if i32.const 0 i32.const 104 - i32.const 516 + i32.const 536 i32.const 0 call $~lib/env/abort unreachable @@ -17948,7 +18142,7 @@ if i32.const 0 i32.const 104 - i32.const 517 + i32.const 537 i32.const 0 call $~lib/env/abort unreachable @@ -17966,7 +18160,7 @@ if i32.const 0 i32.const 104 - i32.const 526 + i32.const 546 i32.const 0 call $~lib/env/abort unreachable @@ -17983,7 +18177,7 @@ if i32.const 0 i32.const 104 - i32.const 527 + i32.const 547 i32.const 0 call $~lib/env/abort unreachable @@ -18001,7 +18195,7 @@ if i32.const 0 i32.const 104 - i32.const 534 + i32.const 554 i32.const 0 call $~lib/env/abort unreachable @@ -18031,7 +18225,7 @@ if i32.const 0 i32.const 104 - i32.const 549 + i32.const 569 i32.const 0 call $~lib/env/abort unreachable @@ -18048,7 +18242,7 @@ if i32.const 0 i32.const 104 - i32.const 550 + i32.const 570 i32.const 0 call $~lib/env/abort unreachable @@ -18077,7 +18271,7 @@ if i32.const 0 i32.const 104 - i32.const 558 + i32.const 578 i32.const 0 call $~lib/env/abort unreachable @@ -18095,7 +18289,7 @@ if i32.const 0 i32.const 104 - i32.const 567 + i32.const 587 i32.const 0 call $~lib/env/abort unreachable @@ -18112,7 +18306,7 @@ if i32.const 0 i32.const 104 - i32.const 568 + i32.const 588 i32.const 0 call $~lib/env/abort unreachable @@ -18130,7 +18324,7 @@ if i32.const 0 i32.const 104 - i32.const 575 + i32.const 595 i32.const 0 call $~lib/env/abort unreachable @@ -18160,7 +18354,7 @@ if i32.const 0 i32.const 104 - i32.const 590 + i32.const 610 i32.const 0 call $~lib/env/abort unreachable @@ -18177,7 +18371,7 @@ if i32.const 0 i32.const 104 - i32.const 591 + i32.const 611 i32.const 0 call $~lib/env/abort unreachable @@ -18202,7 +18396,7 @@ if i32.const 0 i32.const 104 - i32.const 599 + i32.const 619 i32.const 0 call $~lib/env/abort unreachable @@ -18219,7 +18413,7 @@ if i32.const 0 i32.const 104 - i32.const 603 + i32.const 623 i32.const 0 call $~lib/env/abort unreachable @@ -18238,7 +18432,7 @@ if i32.const 0 i32.const 104 - i32.const 606 + i32.const 626 i32.const 0 call $~lib/env/abort unreachable @@ -18257,7 +18451,7 @@ if i32.const 0 i32.const 104 - i32.const 609 + i32.const 629 i32.const 0 call $~lib/env/abort unreachable @@ -18274,7 +18468,7 @@ if i32.const 0 i32.const 104 - i32.const 617 + i32.const 637 i32.const 0 call $~lib/env/abort unreachable @@ -18291,7 +18485,7 @@ if i32.const 0 i32.const 104 - i32.const 618 + i32.const 638 i32.const 0 call $~lib/env/abort unreachable @@ -18308,7 +18502,7 @@ if i32.const 0 i32.const 104 - i32.const 620 + i32.const 640 i32.const 0 call $~lib/env/abort unreachable @@ -18337,7 +18531,7 @@ if i32.const 0 i32.const 104 - i32.const 633 + i32.const 653 i32.const 0 call $~lib/env/abort unreachable @@ -18354,7 +18548,7 @@ if i32.const 0 i32.const 104 - i32.const 634 + i32.const 654 i32.const 0 call $~lib/env/abort unreachable @@ -18379,7 +18573,7 @@ if i32.const 0 i32.const 104 - i32.const 642 + i32.const 662 i32.const 0 call $~lib/env/abort unreachable @@ -18396,7 +18590,7 @@ if i32.const 0 i32.const 104 - i32.const 646 + i32.const 666 i32.const 0 call $~lib/env/abort unreachable @@ -18415,7 +18609,7 @@ if i32.const 0 i32.const 104 - i32.const 649 + i32.const 669 i32.const 0 call $~lib/env/abort unreachable @@ -18434,7 +18628,7 @@ if i32.const 0 i32.const 104 - i32.const 652 + i32.const 672 i32.const 0 call $~lib/env/abort unreachable @@ -18451,7 +18645,7 @@ if i32.const 0 i32.const 104 - i32.const 660 + i32.const 680 i32.const 0 call $~lib/env/abort unreachable @@ -18468,7 +18662,7 @@ if i32.const 0 i32.const 104 - i32.const 661 + i32.const 681 i32.const 0 call $~lib/env/abort unreachable @@ -18485,7 +18679,7 @@ if i32.const 0 i32.const 104 - i32.const 663 + i32.const 683 i32.const 0 call $~lib/env/abort unreachable @@ -18514,7 +18708,7 @@ if i32.const 0 i32.const 104 - i32.const 676 + i32.const 696 i32.const 0 call $~lib/env/abort unreachable @@ -18531,7 +18725,7 @@ if i32.const 0 i32.const 104 - i32.const 677 + i32.const 697 i32.const 0 call $~lib/env/abort unreachable @@ -18564,14 +18758,14 @@ end drop get_global $std/array/f32ArrayTyped - i32.const 2472 + i32.const 2960 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 764 + i32.const 784 i32.const 0 call $~lib/env/abort unreachable @@ -18585,14 +18779,14 @@ end drop get_global $std/array/f64ArrayTyped - i32.const 2744 + i32.const 3232 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 768 + i32.const 788 i32.const 0 call $~lib/env/abort unreachable @@ -18606,14 +18800,14 @@ end drop get_global $std/array/i32ArrayTyped - i32.const 2824 + i32.const 3312 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 772 + i32.const 792 i32.const 0 call $~lib/env/abort unreachable @@ -18627,14 +18821,14 @@ end drop get_global $std/array/u32ArrayTyped - i32.const 2904 + i32.const 3392 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 776 + i32.const 796 i32.const 0 call $~lib/env/abort unreachable @@ -18659,14 +18853,14 @@ get_global $std/array/reversed1 call $std/array/assertSortedDefault get_global $std/array/reversed1 - i32.const 3072 + i32.const 3560 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 796 + i32.const 816 i32.const 0 call $~lib/env/abort unreachable @@ -18674,14 +18868,14 @@ get_global $std/array/reversed2 call $std/array/assertSortedDefault get_global $std/array/reversed2 - i32.const 3096 + i32.const 3584 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 799 + i32.const 819 i32.const 0 call $~lib/env/abort unreachable @@ -18696,7 +18890,7 @@ if i32.const 0 i32.const 104 - i32.const 802 + i32.const 822 i32.const 0 call $~lib/env/abort unreachable @@ -18711,7 +18905,7 @@ if i32.const 0 i32.const 104 - i32.const 805 + i32.const 825 i32.const 0 call $~lib/env/abort unreachable @@ -18726,7 +18920,7 @@ if i32.const 0 i32.const 104 - i32.const 808 + i32.const 828 i32.const 0 call $~lib/env/abort unreachable @@ -18741,7 +18935,7 @@ if i32.const 0 i32.const 104 - i32.const 811 + i32.const 831 i32.const 0 call $~lib/env/abort unreachable @@ -18756,7 +18950,7 @@ if i32.const 0 i32.const 104 - i32.const 814 + i32.const 834 i32.const 0 call $~lib/env/abort unreachable @@ -18804,7 +18998,7 @@ if i32.const 0 i32.const 104 - i32.const 843 + i32.const 863 i32.const 0 call $~lib/env/abort unreachable @@ -18815,86 +19009,86 @@ get_global $std/array/randomStrings400 i32.const 55 call $std/array/assertSorted - i32.const 3472 - i32.const 3448 + i32.const 3960 + i32.const 3936 call $~lib/array/Array#join - i32.const 3480 + i32.const 3968 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 852 + i32.const 872 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4104 - i32.const 3136 + i32.const 4592 + i32.const 3624 call $~lib/array/Array#join - i32.const 4112 + i32.const 4600 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 853 + i32.const 873 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4208 - i32.const 4168 + i32.const 4696 + i32.const 4656 call $~lib/array/Array#join - i32.const 4112 + i32.const 4600 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 854 + i32.const 874 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4264 - i32.const 4240 + i32.const 4752 + i32.const 4728 call $~lib/array/Array#join - i32.const 4272 + i32.const 4760 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 855 + i32.const 875 i32.const 0 call $~lib/env/abort unreachable end - i32.const 5920 - i32.const 4400 + i32.const 6408 + i32.const 4888 call $~lib/array/Array#join - i32.const 5928 + i32.const 6416 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 856 + i32.const 876 i32.const 0 call $~lib/env/abort unreachable end - i32.const 6096 - i32.const 3136 + i32.const 6584 + i32.const 3624 call $~lib/array/Array#join - i32.const 6016 + i32.const 6504 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 857 + i32.const 877 i32.const 0 call $~lib/env/abort unreachable @@ -18922,15 +19116,15 @@ end set_global $std/array/refArr get_global $std/array/refArr - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join - i32.const 6144 + i32.const 6632 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 859 + i32.const 879 i32.const 0 call $~lib/env/abort unreachable @@ -18939,16 +19133,16 @@ get_global $std/array/reversed0 set_local $3 get_local $3 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join end - i32.const 3136 + i32.const 3624 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 863 + i32.const 883 i32.const 0 call $~lib/env/abort unreachable @@ -18957,16 +19151,16 @@ get_global $std/array/reversed1 set_local $3 get_local $3 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join end - i32.const 6016 + i32.const 6504 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 864 + i32.const 884 i32.const 0 call $~lib/env/abort unreachable @@ -18975,16 +19169,16 @@ get_global $std/array/reversed2 set_local $3 get_local $3 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join end - i32.const 6216 + i32.const 6704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 865 + i32.const 885 i32.const 0 call $~lib/env/abort unreachable @@ -18993,88 +19187,88 @@ get_global $std/array/reversed4 set_local $3 get_local $3 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join end - i32.const 6232 + i32.const 6720 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 866 + i32.const 886 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6296 + i32.const 6784 set_local $3 get_local $3 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join end - i32.const 6304 + i32.const 6792 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 868 + i32.const 888 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6360 + i32.const 6848 set_local $3 get_local $3 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join end - i32.const 6368 + i32.const 6856 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 869 + i32.const 889 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6984 + i32.const 7472 set_local $3 get_local $3 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join end - i32.const 6992 + i32.const 7480 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 870 + i32.const 890 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 7184 + i32.const 7672 set_local $3 get_local $3 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join end - i32.const 7192 + i32.const 7680 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 871 + i32.const 891 i32.const 0 call $~lib/env/abort unreachable @@ -19083,34 +19277,34 @@ get_global $std/array/randomStringsExpected set_local $3 get_local $3 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join end - i32.const 7280 + i32.const 7768 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 872 + i32.const 892 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.3 (result i32) - i32.const 7400 + i32.const 7888 set_local $3 get_local $3 - i32.const 3448 + i32.const 3936 call $~lib/array/Array#join end - i32.const 7408 + i32.const 7896 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 873 + i32.const 893 i32.const 0 call $~lib/env/abort unreachable @@ -19119,16 +19313,16 @@ get_global $std/array/subarr32 set_local $3 get_local $3 - i32.const 3448 + i32.const 3936 call $~lib/array/Array>#join end - i32.const 7496 + i32.const 7984 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 876 + i32.const 896 i32.const 0 call $~lib/env/abort unreachable @@ -19137,16 +19331,16 @@ get_global $std/array/subarr8 set_local $3 get_local $3 - i32.const 3448 + i32.const 3936 call $~lib/array/Array>#join end - i32.const 7496 + i32.const 7984 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 879 + i32.const 899 i32.const 0 call $~lib/env/abort unreachable @@ -19155,16 +19349,16 @@ get_global $std/array/subarrU32 set_local $3 get_local $3 - i32.const 3448 + i32.const 3936 call $~lib/array/Array>>#join end - i32.const 6016 + i32.const 6504 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 882 + i32.const 902 i32.const 0 call $~lib/env/abort unreachable From f4e208c7488e44357338d6429a0550da6e695826 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Tue, 27 Nov 2018 18:16:57 +0200 Subject: [PATCH 6/9] remove unlikely size checking --- std/assembly/array.ts | 12 +- .../compiler/std/array-literal.untouched.wat | 84 ++++------ tests/compiler/std/array.optimized.wat | 37 ++--- tests/compiler/std/array.untouched.wat | 156 ++++++++---------- tests/compiler/std/gc-array.optimized.wat | 2 +- tests/compiler/std/gc-array.untouched.wat | 2 +- tests/compiler/std/static-array.untouched.wat | 8 +- tests/compiler/std/string.optimized.wat | 19 +-- tests/compiler/std/string.untouched.wat | 23 ++- 9 files changed, 151 insertions(+), 192 deletions(-) diff --git a/std/assembly/array.ts b/std/assembly/array.ts index d77a76b095..a0931c303d 100644 --- a/std/assembly/array.ts +++ b/std/assembly/array.ts @@ -47,13 +47,11 @@ export class Array { var buffer = allocateUnsafe(byteLength); this.buffer_ = buffer; this.length_ = length; - if (byteLength) { - memory.fill( - changetype(buffer) + HEADER_SIZE, - 0, - byteLength - ); - } + memory.fill( + changetype(buffer) + HEADER_SIZE, + 0, + byteLength + ); } @inline diff --git a/tests/compiler/std/array-literal.untouched.wat b/tests/compiler/std/array-literal.untouched.wat index d6b9dfe777..38071b41dd 100644 --- a/tests/compiler/std/array-literal.untouched.wat +++ b/tests/compiler/std/array-literal.untouched.wat @@ -507,19 +507,16 @@ get_local $0 get_local $1 i32.store offset=4 + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 get_local $2 - if - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 - get_local $2 - call $~lib/internal/memory/memset - end + call $~lib/internal/memory/memset get_local $0 ) (func $~lib/array/Array#__unchecked_set (; 9 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) @@ -582,19 +579,16 @@ get_local $0 get_local $1 i32.store offset=4 + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 get_local $2 - if - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 - get_local $2 - call $~lib/internal/memory/memset - end + call $~lib/internal/memory/memset get_local $0 ) (func $~lib/array/Array#__unchecked_set (; 11 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) @@ -657,19 +651,16 @@ get_local $0 get_local $1 i32.store offset=4 + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 get_local $2 - if - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 - get_local $2 - call $~lib/internal/memory/memset - end + call $~lib/internal/memory/memset get_local $0 ) (func $~lib/array/Array#__unchecked_set (; 13 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) @@ -748,19 +739,16 @@ get_local $0 get_local $1 i32.store offset=4 + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 get_local $2 - if - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 - get_local $2 - call $~lib/internal/memory/memset - end + call $~lib/internal/memory/memset get_local $0 ) (func $~lib/array/Array#__unchecked_set (; 16 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index 0a7601f5d9..5b52f156d0 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -726,9 +726,9 @@ get_local $0 i32.const 2 i32.shl - tee_local $2 + tee_local $3 call $~lib/internal/arraybuffer/allocateUnsafe - set_local $3 + set_local $2 i32.const 8 call $~lib/allocator/arena/__memory_allocate tee_local $1 @@ -738,20 +738,17 @@ i32.const 0 i32.store offset=4 get_local $1 - get_local $3 + get_local $2 i32.store get_local $1 get_local $0 i32.store offset=4 get_local $2 - if - get_local $3 - i32.const 8 - i32.add - i32.const 0 - get_local $2 - call $~lib/internal/memory/memset - end + i32.const 8 + i32.add + i32.const 0 + get_local $3 + call $~lib/internal/memory/memset get_local $1 ) (func $~lib/array/Array#fill (; 6 ;) (type $iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) @@ -2344,7 +2341,7 @@ if i32.const 0 i32.const 8 - i32.const 186 + i32.const 184 i32.const 42 call $~lib/env/abort unreachable @@ -2381,7 +2378,7 @@ if i32.const 0 i32.const 8 - i32.const 248 + i32.const 246 i32.const 20 call $~lib/env/abort unreachable @@ -2679,7 +2676,7 @@ if i32.const 0 i32.const 8 - i32.const 338 + i32.const 336 i32.const 42 call $~lib/env/abort unreachable @@ -2731,7 +2728,7 @@ if i32.const 0 i32.const 8 - i32.const 309 + i32.const 307 i32.const 20 call $~lib/env/abort unreachable @@ -3027,7 +3024,7 @@ if i32.const 0 i32.const 8 - i32.const 111 + i32.const 109 i32.const 41 call $~lib/env/abort unreachable @@ -4233,7 +4230,7 @@ if i32.const 0 i32.const 8 - i32.const 411 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -4819,7 +4816,7 @@ if i32.const 0 i32.const 8 - i32.const 411 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -5406,7 +5403,7 @@ if i32.const 0 i32.const 8 - i32.const 411 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -5808,7 +5805,7 @@ if i32.const 0 i32.const 8 - i32.const 411 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index 2c6094690a..c5d477a688 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -852,19 +852,16 @@ get_local $0 get_local $1 i32.store offset=4 + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 get_local $2 - if - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 - get_local $2 - call $~lib/internal/memory/memset - end + call $~lib/internal/memory/memset get_local $0 ) (func $~lib/array/Array.isArray | null> (; 8 ;) (type $ii) (param $0 i32) (result i32) @@ -2867,7 +2864,7 @@ if i32.const 0 i32.const 8 - i32.const 186 + i32.const 184 i32.const 42 call $~lib/env/abort unreachable @@ -2930,7 +2927,7 @@ if i32.const 0 i32.const 8 - i32.const 248 + i32.const 246 i32.const 20 call $~lib/env/abort unreachable @@ -3351,7 +3348,7 @@ if i32.const 0 i32.const 8 - i32.const 338 + i32.const 336 i32.const 42 call $~lib/env/abort unreachable @@ -3422,7 +3419,7 @@ if i32.const 0 i32.const 8 - i32.const 309 + i32.const 307 i32.const 20 call $~lib/env/abort unreachable @@ -3785,7 +3782,7 @@ if i32.const 0 i32.const 8 - i32.const 111 + i32.const 109 i32.const 41 call $~lib/env/abort unreachable @@ -4248,19 +4245,16 @@ get_local $0 get_local $1 i32.store offset=4 + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 get_local $2 - if - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 - get_local $2 - call $~lib/internal/memory/memset - end + call $~lib/internal/memory/memset get_local $0 ) (func $~lib/array/Array#map (; 64 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) @@ -5546,7 +5540,7 @@ if i32.const 0 i32.const 8 - i32.const 411 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -6310,7 +6304,7 @@ if i32.const 0 i32.const 8 - i32.const 411 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -7096,7 +7090,7 @@ if i32.const 0 i32.const 8 - i32.const 411 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -7752,7 +7746,7 @@ if i32.const 0 i32.const 8 - i32.const 411 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -8161,19 +8155,16 @@ get_local $0 get_local $1 i32.store offset=4 + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 get_local $2 - if - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 - get_local $2 - call $~lib/internal/memory/memset - end + call $~lib/internal/memory/memset get_local $0 ) (func $~lib/array/Array>#__set (; 134 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) @@ -8197,7 +8188,7 @@ if i32.const 0 i32.const 8 - i32.const 111 + i32.const 109 i32.const 41 call $~lib/env/abort unreachable @@ -8432,7 +8423,7 @@ if i32.const 0 i32.const 8 - i32.const 411 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -8630,19 +8621,16 @@ get_local $0 get_local $1 i32.store offset=4 + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 get_local $2 - if - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 - get_local $2 - call $~lib/internal/memory/memset - end + call $~lib/internal/memory/memset get_local $0 ) (func $std/array/Proxy#constructor (; 143 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) @@ -8685,7 +8673,7 @@ if i32.const 0 i32.const 8 - i32.const 111 + i32.const 109 i32.const 41 call $~lib/env/abort unreachable @@ -8888,7 +8876,7 @@ if i32.const 0 i32.const 8 - i32.const 411 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -9376,7 +9364,7 @@ if i32.const 0 i32.const 8 - i32.const 411 + i32.const 409 i32.const 4 call $~lib/env/abort unreachable @@ -9705,19 +9693,16 @@ get_local $0 get_local $1 i32.store offset=4 + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 get_local $2 - if - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 - get_local $2 - call $~lib/internal/memory/memset - end + call $~lib/internal/memory/memset get_local $0 ) (func $~lib/internal/string/allocateUnsafe (; 165 ;) (type $ii) (param $0 i32) (result i32) @@ -9956,7 +9941,7 @@ if i32.const 0 i32.const 8 - i32.const 111 + i32.const 109 i32.const 41 call $~lib/env/abort unreachable @@ -12923,19 +12908,16 @@ get_local $0 get_local $1 i32.store offset=4 + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 get_local $2 - if - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 - get_local $2 - call $~lib/internal/memory/memset - end + call $~lib/internal/memory/memset get_local $0 ) (func $~lib/array/Array#__unchecked_set (; 196 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) diff --git a/tests/compiler/std/gc-array.optimized.wat b/tests/compiler/std/gc-array.optimized.wat index ad99c9cddc..5998a907ed 100644 --- a/tests/compiler/std/gc-array.optimized.wat +++ b/tests/compiler/std/gc-array.optimized.wat @@ -1900,7 +1900,7 @@ if i32.const 0 i32.const 72 - i32.const 111 + i32.const 109 i32.const 41 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/gc-array.untouched.wat b/tests/compiler/std/gc-array.untouched.wat index 35fcf0f9fe..b4d953e084 100644 --- a/tests/compiler/std/gc-array.untouched.wat +++ b/tests/compiler/std/gc-array.untouched.wat @@ -2430,7 +2430,7 @@ if i32.const 0 i32.const 72 - i32.const 111 + i32.const 109 i32.const 41 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/static-array.untouched.wat b/tests/compiler/std/static-array.untouched.wat index 39ac9d1272..bc73ca8be5 100644 --- a/tests/compiler/std/static-array.untouched.wat +++ b/tests/compiler/std/static-array.untouched.wat @@ -1996,7 +1996,7 @@ if i32.const 0 i32.const 184 - i32.const 111 + i32.const 109 i32.const 41 call $~lib/env/abort unreachable @@ -2069,7 +2069,7 @@ if i32.const 0 i32.const 184 - i32.const 111 + i32.const 109 i32.const 41 call $~lib/env/abort unreachable @@ -2142,7 +2142,7 @@ if i32.const 0 i32.const 184 - i32.const 111 + i32.const 109 i32.const 41 call $~lib/env/abort unreachable @@ -2215,7 +2215,7 @@ if i32.const 0 i32.const 184 - i32.const 111 + i32.const 109 i32.const 41 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index 33b22ac9b7..e6f6bfdd61 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -3325,9 +3325,9 @@ get_local $0 i32.const 2 i32.shl - tee_local $2 + tee_local $3 call $~lib/internal/arraybuffer/allocateUnsafe - set_local $3 + set_local $2 i32.const 8 call $~lib/allocator/arena/__memory_allocate tee_local $1 @@ -3337,19 +3337,16 @@ i32.const 0 i32.store offset=4 get_local $1 - get_local $3 + get_local $2 i32.store get_local $1 get_local $0 i32.store offset=4 get_local $2 - if - get_local $3 - i32.const 8 - i32.add - get_local $2 - call $~lib/internal/memory/memset - end + i32.const 8 + i32.add + get_local $3 + call $~lib/internal/memory/memset get_local $1 ) (func $~lib/internal/arraybuffer/reallocateUnsafe (; 36 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32) @@ -3468,7 +3465,7 @@ if i32.const 0 i32.const 976 - i32.const 186 + i32.const 184 i32.const 42 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index 8f50ce7b39..ef7560969d 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -4139,19 +4139,16 @@ get_local $0 get_local $1 i32.store offset=4 + get_local $3 + get_global $~lib/internal/arraybuffer/HEADER_SIZE + i32.add + set_local $4 + i32.const 0 + set_local $5 + get_local $4 + get_local $5 get_local $2 - if - get_local $3 - get_global $~lib/internal/arraybuffer/HEADER_SIZE - i32.add - set_local $4 - i32.const 0 - set_local $5 - get_local $4 - get_local $5 - get_local $2 - call $~lib/internal/memory/memset - end + call $~lib/internal/memory/memset get_local $0 ) (func $~lib/array/Array#__unchecked_set (; 39 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) @@ -4307,7 +4304,7 @@ if i32.const 0 i32.const 976 - i32.const 186 + i32.const 184 i32.const 42 call $~lib/env/abort unreachable From ffbc49158382a49759e7b5fe575d11b71204b0d4 Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Tue, 27 Nov 2018 21:49:53 +0200 Subject: [PATCH 7/9] remove checking for neg deleteCount --- std/assembly/array.ts | 7 +- std/assembly/internal/memory.ts | 2 +- tests/compiler/std/array.optimized.wat | 920 +++++++++++++------------ tests/compiler/std/array.ts | 4 + tests/compiler/std/array.untouched.wat | 865 ++++++++++++----------- 5 files changed, 936 insertions(+), 862 deletions(-) diff --git a/std/assembly/array.ts b/std/assembly/array.ts index a0931c303d..6ed7bcf0a4 100644 --- a/std/assembly/array.ts +++ b/std/assembly/array.ts @@ -370,10 +370,9 @@ export class Array { } splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array { - if (deleteCount < 1) return new Array(); - var length = this.length_; - start = start < 0 ? max(length + start, 0) : min(start, length); - deleteCount = min(deleteCount, length - start); + var length = this.length_; + start = start < 0 ? max(length + start, 0) : min(start, length); + deleteCount = deleteCount <= 0 ? 0 : min(deleteCount, length - start); var buffer = this.buffer_; var spliced = new Array(deleteCount); var source = changetype(buffer) + HEADER_SIZE + (start << alignof()); diff --git a/std/assembly/internal/memory.ts b/std/assembly/internal/memory.ts index 88de35c872..ea240fb80f 100644 --- a/std/assembly/internal/memory.ts +++ b/std/assembly/internal/memory.ts @@ -144,7 +144,7 @@ export function memcpy(dest: usize, src: usize, n: usize): void { // see: musl/s // this function will go away once `memory.copy` becomes an intrinsic export function memmove(dest: usize, src: usize, n: usize): void { // see: musl/src/string/memmove.c - if (dest == src) return; + if (dest === src) return; if (src + n <= dest || dest + n <= src) { memcpy(dest, src, n); return; diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index 5b52f156d0..4fc9133dc6 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -167,163 +167,169 @@ (data (i32.const 2569) "\n") (data (i32.const 2576) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") (data (i32.const 2608) "\10\n\00\00\05") - (data (i32.const 2616) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 2648) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?") - (data (i32.const 2824) " ") - (data (i32.const 2834) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") - (data (i32.const 2888) "\08\0b\00\00\08") - (data (i32.const 2896) " ") - (data (i32.const 2906) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") - (data (i32.const 2960) "P\0b\00\00\08") - (data (i32.const 2968) "@") - (data (i32.const 2982) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") - (data (i32.const 3022) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") - (data (i32.const 3096) "\98\0b\00\00\08") - (data (i32.const 3104) "@") - (data (i32.const 3118) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") - (data (i32.const 3150) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") - (data (i32.const 3232) " \0c\00\00\08") - (data (i32.const 3240) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") - (data (i32.const 3272) "\a8\0c\00\00\05") - (data (i32.const 3280) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") - (data (i32.const 3312) "\d0\0c\00\00\05") - (data (i32.const 3320) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") - (data (i32.const 3352) "\f8\0c\00\00\05") - (data (i32.const 3360) "\14") - (data (i32.const 3372) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 3392) " \0d\00\00\05") - (data (i32.const 3408) "H\0d") - (data (i32.const 3416) "\04\00\00\00\00\00\00\00\01") - (data (i32.const 3432) "X\0d\00\00\01") - (data (i32.const 3440) "\08\00\00\00\00\00\00\00\02\00\00\00\01") - (data (i32.const 3456) "p\0d\00\00\02") - (data (i32.const 3464) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") - (data (i32.const 3496) "\88\0d\00\00\04") - (data (i32.const 3504) "\10") - (data (i32.const 3516) "\01\00\00\00\02\00\00\00\03") - (data (i32.const 3536) "\b0\0d\00\00\04") - (data (i32.const 3544) "\04\00\00\00\00\00\00\00\01") - (data (i32.const 3560) "\d8\0d\00\00\01") - (data (i32.const 3568) "\08\00\00\00\00\00\00\00\01\00\00\00\02") - (data (i32.const 3584) "\f0\0d\00\00\02") - (data (i32.const 3592) "\01\00\00\00a") - (data (i32.const 3600) "\01\00\00\00b") - (data (i32.const 3608) "\02\00\00\00a\00b") - (data (i32.const 3616) "\02\00\00\00b\00a") - (data (i32.const 3632) "\1c\00\00\00\00\00\00\00\08\0e\00\00\10\0e\00\00\08\0e\00\00\18\0e\00\00 \0e\00\00(\0e") - (data (i32.const 3696) "0\0e\00\00\07") - (data (i32.const 3704) "\1c\00\00\00\00\00\00\00(\0e\00\00\08\0e\00\00\08\0e\00\00\18\0e\00\00\10\0e\00\00 \0e") - (data (i32.const 3768) "x\0e\00\00\07") - (data (i32.const 3776) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 3808) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 3864) "\04\00\00\00n\00u\00l\00l") - (data (i32.const 3880) "\02\00\00\00\00\00\00\00\01") - (data (i32.const 3896) "(\0f\00\00\02") - (data (i32.const 3904) "\04\00\00\00t\00r\00u\00e") - (data (i32.const 3920) "\05\00\00\00f\00a\00l\00s\00e") - (data (i32.const 3936) "\01\00\00\00,") - (data (i32.const 3944) "\02\00\00\00\00\00\00\00\01") - (data (i32.const 3960) "h\0f\00\00\02") - (data (i32.const 3968) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") - (data (i32.const 3992) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 4024) "\98\0f\00\00\03") - (data (i32.const 4032) "\01\00\00\000") - (data (i32.const 4040) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 4552) "\c8\0f\00\00d") - (data (i32.const 4560) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 4592) "\d0\11\00\00\03") - (data (i32.const 4600) "\05\00\00\001\00-\002\00-\003") - (data (i32.const 4616) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 4648) "\08\12\00\00\03") - (data (i32.const 4656) "\01\00\00\00-") - (data (i32.const 4664) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 4696) "8\12\00\00\03") - (data (i32.const 4704) "\08") - (data (i32.const 4715) "\80\00\00\00\80") - (data (i32.const 4720) "`\12\00\00\02") - (data (i32.const 4728) "\02\00\00\00_\00_") - (data (i32.const 4736) "\08") - (data (i32.const 4747) "\80\00\00\00\80") - (data (i32.const 4752) "\80\12\00\00\02") - (data (i32.const 4760) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 4816) "0") - (data (i32.const 4838) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") - (data (i32.const 4880) "\d0\12\00\00\06") - (data (i32.const 4888) "\02\00\00\00,\00 ") - (data (i32.const 4896) "\03\00\00\000\00.\000") - (data (i32.const 4912) "\03\00\00\00N\00a\00N") - (data (i32.const 4928) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4952) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 4976) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00*\00&\00$\00%\00^\00@\00#\00!\00?") + (data (i32.const 2920) " ") + (data (i32.const 2930) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") + (data (i32.const 2984) "h\0b\00\00\08") + (data (i32.const 2992) " ") + (data (i32.const 3002) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") + (data (i32.const 3056) "\b0\0b\00\00\08") + (data (i32.const 3064) "@") + (data (i32.const 3078) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") + (data (i32.const 3118) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") + (data (i32.const 3192) "\f8\0b\00\00\08") + (data (i32.const 3200) "@") + (data (i32.const 3214) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") + (data (i32.const 3246) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") + (data (i32.const 3328) "\80\0c\00\00\08") + (data (i32.const 3336) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") + (data (i32.const 3368) "\08\0d\00\00\05") + (data (i32.const 3376) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") + (data (i32.const 3408) "0\0d\00\00\05") + (data (i32.const 3416) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") + (data (i32.const 3448) "X\0d\00\00\05") + (data (i32.const 3456) "\14") + (data (i32.const 3468) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 3488) "\80\0d\00\00\05") + (data (i32.const 3504) "\a8\0d") + (data (i32.const 3512) "\04\00\00\00\00\00\00\00\01") + (data (i32.const 3528) "\b8\0d\00\00\01") + (data (i32.const 3536) "\08\00\00\00\00\00\00\00\02\00\00\00\01") + (data (i32.const 3552) "\d0\0d\00\00\02") + (data (i32.const 3560) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") + (data (i32.const 3592) "\e8\0d\00\00\04") + (data (i32.const 3600) "\10") + (data (i32.const 3612) "\01\00\00\00\02\00\00\00\03") + (data (i32.const 3632) "\10\0e\00\00\04") + (data (i32.const 3640) "\04\00\00\00\00\00\00\00\01") + (data (i32.const 3656) "8\0e\00\00\01") + (data (i32.const 3664) "\08\00\00\00\00\00\00\00\01\00\00\00\02") + (data (i32.const 3680) "P\0e\00\00\02") + (data (i32.const 3688) "\01\00\00\00a") + (data (i32.const 3696) "\01\00\00\00b") + (data (i32.const 3704) "\02\00\00\00a\00b") + (data (i32.const 3712) "\02\00\00\00b\00a") + (data (i32.const 3728) "\1c\00\00\00\00\00\00\00h\0e\00\00p\0e\00\00h\0e\00\00x\0e\00\00\80\0e\00\00\88\0e") + (data (i32.const 3792) "\90\0e\00\00\07") + (data (i32.const 3800) "\1c\00\00\00\00\00\00\00\88\0e\00\00h\0e\00\00h\0e\00\00x\0e\00\00p\0e\00\00\80\0e") + (data (i32.const 3864) "\d8\0e\00\00\07") + (data (i32.const 3872) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 3904) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 3960) "\04\00\00\00n\00u\00l\00l") + (data (i32.const 3976) "\02\00\00\00\00\00\00\00\01") + (data (i32.const 3992) "\88\0f\00\00\02") + (data (i32.const 4000) "\04\00\00\00t\00r\00u\00e") + (data (i32.const 4016) "\05\00\00\00f\00a\00l\00s\00e") + (data (i32.const 4032) "\01\00\00\00,") + (data (i32.const 4040) "\02\00\00\00\00\00\00\00\01") + (data (i32.const 4056) "\c8\0f\00\00\02") + (data (i32.const 4064) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") + (data (i32.const 4088) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 4120) "\f8\0f\00\00\03") + (data (i32.const 4128) "\01\00\00\000") + (data (i32.const 4136) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data (i32.const 4648) "(\10\00\00d") + (data (i32.const 4656) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 4688) "0\12\00\00\03") + (data (i32.const 4696) "\05\00\00\001\00-\002\00-\003") + (data (i32.const 4712) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 4744) "h\12\00\00\03") + (data (i32.const 4752) "\01\00\00\00-") + (data (i32.const 4760) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 4792) "\98\12\00\00\03") + (data (i32.const 4800) "\08") + (data (i32.const 4811) "\80\00\00\00\80") + (data (i32.const 4816) "\c0\12\00\00\02") + (data (i32.const 4824) "\02\00\00\00_\00_") + (data (i32.const 4832) "\08") + (data (i32.const 4843) "\80\00\00\00\80") + (data (i32.const 4848) "\e0\12\00\00\02") + (data (i32.const 4856) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") + (data (i32.const 4912) "0") + (data (i32.const 4934) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") + (data (i32.const 4976) "0\13\00\00\06") + (data (i32.const 4984) "\02\00\00\00,\00 ") + (data (i32.const 4992) "\03\00\00\000\00.\000") + (data (i32.const 5008) "\03\00\00\00N\00a\00N") + (data (i32.const 5024) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 5048) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 5072) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#sort|trampoline~anonymous|43 $~lib/array/Array#sort|trampoline~anonymous|44 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|46 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|45 $start~anonymous|49 $~lib/array/Array#sort|trampoline~anonymous|45 $start~anonymous|49 $start~anonymous|52 $start~anonymous|53 $start~anonymous|54 $start~anonymous|54) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -356,15 +362,15 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 2888)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 3096)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 3272)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 3352)) - (global $std/array/reversed0 (mut i32) (i32.const 3408)) - (global $std/array/reversed1 (mut i32) (i32.const 3432)) - (global $std/array/reversed2 (mut i32) (i32.const 3456)) - (global $std/array/reversed4 (mut i32) (i32.const 3496)) - (global $std/array/expected4 (mut i32) (i32.const 3536)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 2984)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 3192)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 3368)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 3448)) + (global $std/array/reversed0 (mut i32) (i32.const 3504)) + (global $std/array/reversed1 (mut i32) (i32.const 3528)) + (global $std/array/reversed2 (mut i32) (i32.const 3552)) + (global $std/array/reversed4 (mut i32) (i32.const 3592)) + (global $std/array/expected4 (mut i32) (i32.const 3632)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -374,13 +380,13 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 3696)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 3768)) + (global $std/array/randomStringsActual (mut i32) (i32.const 3792)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 3864)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $std/array/refArr (mut i32) (i32.const 0)) - (global $std/array/subarr32 (mut i32) (i32.const 7976)) - (global $std/array/subarr8 (mut i32) (i32.const 8072)) - (global $std/array/subarrU32 (mut i32) (i32.const 8144)) + (global $std/array/subarr32 (mut i32) (i32.const 8072)) + (global $std/array/subarr8 (mut i32) (i32.const 8168)) + (global $std/array/subarrU32 (mut i32) (i32.const 8240)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -2891,14 +2897,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - get_local $2 - i32.const 1 - i32.lt_s - if - i32.const 0 - call $~lib/array/Array#constructor - return - end get_local $0 i32.load offset=4 set_local $3 @@ -2926,15 +2924,22 @@ end set_local $1 get_local $2 - tee_local $4 - get_local $3 - get_local $1 - i32.sub - tee_local $2 - get_local $4 - get_local $2 - i32.lt_s - select + i32.const 0 + i32.le_s + if (result i32) + i32.const 0 + else + get_local $2 + tee_local $4 + get_local $3 + get_local $1 + i32.sub + tee_local $2 + get_local $4 + get_local $2 + i32.lt_s + select + end set_local $2 get_local $0 i32.load @@ -3815,7 +3820,7 @@ i64.eqz if i32.const 0 - i32.const 2616 + i32.const 2712 i32.const 959 i32.const 4 call $~lib/env/abort @@ -4230,7 +4235,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -4335,7 +4340,7 @@ get_local $0 i32.load offset=4 tee_local $5 - i32.const 2964 + i32.const 3060 i32.load i32.ne if @@ -4343,7 +4348,7 @@ return end get_local $0 - i32.const 2960 + i32.const 3056 i32.eq if i32.const 1 @@ -4380,7 +4385,7 @@ f32.ne set_local $4 get_local $1 - i32.const 2960 + i32.const 3056 i32.load tee_local $2 i32.load @@ -4425,7 +4430,7 @@ end set_local $3 get_local $1 - i32.const 2960 + i32.const 3056 i32.load tee_local $2 i32.load @@ -4816,7 +4821,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -4921,7 +4926,7 @@ get_local $0 i32.load offset=4 tee_local $5 - i32.const 3236 + i32.const 3332 i32.load i32.ne if @@ -4929,7 +4934,7 @@ return end get_local $0 - i32.const 3232 + i32.const 3328 i32.eq if i32.const 1 @@ -4966,7 +4971,7 @@ f64.ne set_local $4 get_local $1 - i32.const 3232 + i32.const 3328 i32.load tee_local $2 i32.load @@ -5011,7 +5016,7 @@ end set_local $3 get_local $1 - i32.const 3232 + i32.const 3328 i32.load tee_local $2 i32.load @@ -5403,7 +5408,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -5524,7 +5529,7 @@ i32.eqz if i32.const 0 - i32.const 2616 + i32.const 2712 i32.const 968 i32.const 24 call $~lib/env/abort @@ -5689,7 +5694,7 @@ if i32.const 0 i32.const 104 - i32.const 773 + i32.const 777 i32.const 2 call $~lib/env/abort unreachable @@ -5805,7 +5810,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -5871,7 +5876,7 @@ if i32.const 0 i32.const 104 - i32.const 773 + i32.const 777 i32.const 2 call $~lib/env/abort unreachable @@ -6218,7 +6223,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 14 i32.const 2 call $~lib/env/abort @@ -6238,11 +6243,11 @@ (func $~lib/string/String#charAt (; 104 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) get_local $0 - i32.const 2648 + i32.const 2744 i32.load i32.ge_u if - i32.const 3624 + i32.const 3720 return end i32.const 1 @@ -6251,7 +6256,7 @@ get_local $0 i32.const 1 i32.shl - i32.const 2648 + i32.const 2744 i32.add i32.load16_u offset=4 i32.store16 offset=4 @@ -6285,7 +6290,7 @@ i32.eqz if i32.const 0 - i32.const 3776 + i32.const 3872 i32.const 110 i32.const 4 call $~lib/env/abort @@ -6294,7 +6299,7 @@ get_local $1 i32.eqz if - i32.const 3864 + i32.const 3960 set_local $1 end get_local $0 @@ -6307,7 +6312,7 @@ tee_local $2 i32.eqz if - i32.const 3624 + i32.const 3720 return end get_local $2 @@ -6330,7 +6335,7 @@ get_local $0 i32.eqz if - i32.const 3864 + i32.const 3960 set_local $0 end get_local $0 @@ -6340,7 +6345,7 @@ (func $std/array/createRandomString (; 108 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - i32.const 3624 + i32.const 3720 set_local $1 block $break|0 loop $repeat|0 @@ -6350,7 +6355,7 @@ br_if $break|0 get_local $1 call $~lib/math/NativeMath.random - i32.const 2648 + i32.const 2744 i32.load f64.convert_s/i32 f64.mul @@ -6410,7 +6415,7 @@ i32.eqz if i32.const 0 - i32.const 3776 + i32.const 3872 i32.const 269 i32.const 4 call $~lib/env/abort @@ -6456,7 +6461,7 @@ tee_local $3 i32.eqz if - i32.const 3624 + i32.const 3720 return end get_local $4 @@ -6495,7 +6500,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) - i32.const 3964 + i32.const 4060 i32.load i32.const 1 i32.sub @@ -6503,13 +6508,13 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3960 + i32.const 4056 i32.load set_local $5 - i32.const 3936 + i32.const 4032 i32.load tee_local $6 i32.const 0 @@ -6518,8 +6523,8 @@ get_local $4 i32.eqz if - i32.const 3904 - i32.const 3920 + i32.const 4000 + i32.const 4016 get_local $5 i32.load8_u offset=8 select @@ -6553,8 +6558,8 @@ set_local $3 get_local $2 get_local $0 - i32.const 3904 - i32.const 3920 + i32.const 4000 + i32.const 4016 get_local $9 select i32.const 0 @@ -6568,7 +6573,7 @@ if get_local $2 get_local $0 - i32.const 3936 + i32.const 4032 i32.const 0 get_local $6 call $~lib/internal/string/copyUnsafe @@ -6597,8 +6602,8 @@ set_local $3 get_local $2 get_local $0 - i32.const 3904 - i32.const 3920 + i32.const 4000 + i32.const 4016 get_local $1 select i32.const 0 @@ -6621,7 +6626,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6687,7 +6692,7 @@ (func $~lib/internal/number/utoa32_lut (; 113 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - i32.const 4552 + i32.const 4648 i32.load set_local $3 loop $continue|0 @@ -6801,7 +6806,7 @@ get_local $0 i32.eqz if - i32.const 4032 + i32.const 4128 return end get_local $0 @@ -6890,7 +6895,7 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end get_local $0 @@ -6982,7 +6987,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6997,7 +7002,7 @@ get_local $0 i32.eqz if - i32.const 4032 + i32.const 4128 return end get_local $0 @@ -7051,7 +7056,7 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end get_local $0 @@ -7143,7 +7148,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -7187,7 +7192,7 @@ tee_local $7 call $~lib/internal/number/decimalCount32 set_local $9 - i32.const 6336 + i32.const 6432 i32.load set_local $12 loop $continue|0 @@ -7952,10 +7957,10 @@ i32.shl i32.sub set_global $~lib/internal/number/_K - i32.const 6264 + i32.const 6360 i32.load set_local $4 - i32.const 6000 + i32.const 6096 i32.load get_local $5 i32.const 3 @@ -8161,7 +8166,7 @@ f64.const 0 f64.eq if - i32.const 4896 + i32.const 4992 return end get_local $0 @@ -8174,11 +8179,11 @@ get_local $0 f64.ne if - i32.const 4912 + i32.const 5008 return end - i32.const 4928 - i32.const 4952 + i32.const 5024 + i32.const 5048 get_local $0 f64.const 0 f64.lt @@ -8199,7 +8204,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8256,8 +8261,8 @@ i32.const 4 i32.add tee_local $1 - i32.const 4928 - i32.const 4952 + i32.const 5024 + i32.const 5048 get_local $2 f64.const 0 f64.lt @@ -8290,7 +8295,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6412 + i32.const 6508 i32.load i32.const 1 i32.sub @@ -8298,13 +8303,13 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 6408 + i32.const 6504 i32.load set_local $4 - i32.const 4888 + i32.const 4984 i32.load tee_local $5 i32.const 0 @@ -8349,7 +8354,7 @@ if get_local $2 get_local $0 - i32.const 4888 + i32.const 4984 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8389,7 +8394,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8414,7 +8419,7 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end get_local $0 @@ -8558,13 +8563,13 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end get_local $0 i32.load set_local $5 - i32.const 3936 + i32.const 4032 i32.load tee_local $4 i32.const 0 @@ -8573,7 +8578,7 @@ get_local $3 i32.eqz if - i32.const 6592 + i32.const 6688 return end get_local $4 @@ -8600,7 +8605,7 @@ if get_local $0 get_local $1 - i32.const 6592 + i32.const 6688 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -8613,7 +8618,7 @@ if get_local $0 get_local $1 - i32.const 3936 + i32.const 4032 i32.const 0 get_local $4 call $~lib/internal/string/copyUnsafe @@ -8638,7 +8643,7 @@ if get_local $0 get_local $1 - i32.const 6592 + i32.const 6688 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -8661,7 +8666,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8734,7 +8739,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6788 + i32.const 6884 i32.load i32.const 1 i32.sub @@ -8742,13 +8747,13 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 6784 + i32.const 6880 i32.load set_local $4 - i32.const 3936 + i32.const 4032 i32.load tee_local $5 i32.const 0 @@ -8791,7 +8796,7 @@ if get_local $2 get_local $0 - i32.const 3936 + i32.const 4032 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8829,7 +8834,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8877,7 +8882,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6852 + i32.const 6948 i32.load i32.const 1 i32.sub @@ -8885,13 +8890,13 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 6848 + i32.const 6944 i32.load set_local $4 - i32.const 3936 + i32.const 4032 i32.load tee_local $5 i32.const 0 @@ -8936,7 +8941,7 @@ if get_local $2 get_local $0 - i32.const 3936 + i32.const 4032 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8976,7 +8981,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9044,7 +9049,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 7432 + i32.const 7528 i32.load set_local $3 loop $continue|0 @@ -9143,7 +9148,7 @@ get_local $0 i64.eqz if - i32.const 4032 + i32.const 4128 return end get_local $0 @@ -9221,7 +9226,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 7476 + i32.const 7572 i32.load i32.const 1 i32.sub @@ -9229,13 +9234,13 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 7472 + i32.const 7568 i32.load set_local $4 - i32.const 3936 + i32.const 4032 i32.load tee_local $5 i32.const 0 @@ -9280,7 +9285,7 @@ if get_local $2 get_local $0 - i32.const 3936 + i32.const 4032 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -9320,7 +9325,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9337,7 +9342,7 @@ get_local $0 i64.eqz if - i32.const 4032 + i32.const 4128 return end get_local $0 @@ -9456,7 +9461,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 7676 + i32.const 7772 i32.load i32.const 1 i32.sub @@ -9464,13 +9469,13 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 7672 + i32.const 7768 i32.load set_local $4 - i32.const 3936 + i32.const 4032 i32.load tee_local $5 i32.const 0 @@ -9515,7 +9520,7 @@ if get_local $2 get_local $0 - i32.const 3936 + i32.const 4032 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -9555,7 +9560,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9578,15 +9583,15 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $1 get_local $0 i32.load set_local $4 - i32.const 3936 + i32.const 4032 i32.load i32.const 0 i32.ne @@ -9599,10 +9604,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join else - i32.const 3624 + i32.const 3720 end tee_local $0 return @@ -9625,7 +9630,7 @@ if get_local $1 get_local $2 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9633,7 +9638,7 @@ get_local $5 if get_local $1 - i32.const 3936 + i32.const 4032 call $~lib/string/String.__concat set_local $1 end @@ -9656,7 +9661,7 @@ if get_local $1 get_local $2 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9709,7 +9714,7 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end get_local $0 @@ -9797,7 +9802,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9820,15 +9825,15 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $1 get_local $0 i32.load set_local $4 - i32.const 3936 + i32.const 4032 i32.load i32.const 0 i32.ne @@ -9841,10 +9846,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join else - i32.const 3624 + i32.const 3720 end tee_local $0 return @@ -9867,7 +9872,7 @@ if get_local $1 get_local $2 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9875,7 +9880,7 @@ get_local $5 if get_local $1 - i32.const 3936 + i32.const 4032 call $~lib/string/String.__concat set_local $1 end @@ -9898,7 +9903,7 @@ if get_local $1 get_local $2 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9919,10 +9924,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $2 get_local $0 i32.load @@ -9943,7 +9948,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3624 + i32.const 3720 end tee_local $0 return @@ -10018,15 +10023,15 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $1 get_local $0 i32.load set_local $4 - i32.const 3936 + i32.const 4032 i32.load i32.const 0 i32.ne @@ -10039,10 +10044,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 3936 + i32.const 4032 call $~lib/array/Array>#join else - i32.const 3624 + i32.const 3720 end tee_local $0 return @@ -10065,7 +10070,7 @@ if get_local $1 get_local $2 - i32.const 3936 + i32.const 4032 call $~lib/array/Array>#join call $~lib/string/String.__concat set_local $1 @@ -10073,7 +10078,7 @@ get_local $5 if get_local $1 - i32.const 3936 + i32.const 4032 call $~lib/string/String.__concat set_local $1 end @@ -10096,7 +10101,7 @@ if get_local $1 get_local $2 - i32.const 3936 + i32.const 4032 call $~lib/array/Array>#join call $~lib/string/String.__concat set_local $1 @@ -10107,7 +10112,7 @@ (local $0 i32) (local $1 i32) (local $2 f32) - i32.const 8152 + i32.const 8248 set_global $~lib/allocator/arena/startOffset get_global $~lib/allocator/arena/startOffset set_global $~lib/allocator/arena/offset @@ -12816,6 +12821,37 @@ call $~lib/env/abort unreachable end + i32.const 2648 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const 7 + i32.const 5 + call $~lib/array/Array#splice + i32.const 2664 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 380 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2704 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 381 + i32.const 0 + call $~lib/env/abort + unreachable + end get_global $std/array/arr i32.const 0 i32.const 0 @@ -12840,7 +12876,7 @@ if i32.const 0 i32.const 104 - i32.const 387 + i32.const 391 i32.const 0 call $~lib/env/abort unreachable @@ -12855,7 +12891,7 @@ if i32.const 0 i32.const 104 - i32.const 390 + i32.const 394 i32.const 0 call $~lib/env/abort unreachable @@ -12870,7 +12906,7 @@ if i32.const 0 i32.const 104 - i32.const 393 + i32.const 397 i32.const 0 call $~lib/env/abort unreachable @@ -12885,7 +12921,7 @@ if i32.const 0 i32.const 104 - i32.const 401 + i32.const 405 i32.const 0 call $~lib/env/abort unreachable @@ -12897,7 +12933,7 @@ if i32.const 0 i32.const 104 - i32.const 402 + i32.const 406 i32.const 0 call $~lib/env/abort unreachable @@ -12912,7 +12948,7 @@ if i32.const 0 i32.const 104 - i32.const 404 + i32.const 408 i32.const 0 call $~lib/env/abort unreachable @@ -12939,7 +12975,7 @@ if i32.const 0 i32.const 104 - i32.const 417 + i32.const 421 i32.const 0 call $~lib/env/abort unreachable @@ -12951,7 +12987,7 @@ if i32.const 0 i32.const 104 - i32.const 418 + i32.const 422 i32.const 0 call $~lib/env/abort unreachable @@ -12974,7 +13010,7 @@ if i32.const 0 i32.const 104 - i32.const 426 + i32.const 430 i32.const 0 call $~lib/env/abort unreachable @@ -12987,7 +13023,7 @@ if i32.const 0 i32.const 104 - i32.const 429 + i32.const 433 i32.const 0 call $~lib/env/abort unreachable @@ -13002,7 +13038,7 @@ if i32.const 0 i32.const 104 - i32.const 437 + i32.const 441 i32.const 0 call $~lib/env/abort unreachable @@ -13014,7 +13050,7 @@ if i32.const 0 i32.const 104 - i32.const 438 + i32.const 442 i32.const 0 call $~lib/env/abort unreachable @@ -13027,7 +13063,7 @@ if i32.const 0 i32.const 104 - i32.const 440 + i32.const 444 i32.const 0 call $~lib/env/abort unreachable @@ -13054,7 +13090,7 @@ if i32.const 0 i32.const 104 - i32.const 453 + i32.const 457 i32.const 0 call $~lib/env/abort unreachable @@ -13066,7 +13102,7 @@ if i32.const 0 i32.const 104 - i32.const 454 + i32.const 458 i32.const 0 call $~lib/env/abort unreachable @@ -13089,7 +13125,7 @@ if i32.const 0 i32.const 104 - i32.const 462 + i32.const 466 i32.const 0 call $~lib/env/abort unreachable @@ -13102,7 +13138,7 @@ if i32.const 0 i32.const 104 - i32.const 465 + i32.const 469 i32.const 0 call $~lib/env/abort unreachable @@ -13115,7 +13151,7 @@ if i32.const 0 i32.const 104 - i32.const 473 + i32.const 477 i32.const 0 call $~lib/env/abort unreachable @@ -13127,7 +13163,7 @@ if i32.const 0 i32.const 104 - i32.const 474 + i32.const 478 i32.const 0 call $~lib/env/abort unreachable @@ -13142,7 +13178,7 @@ if i32.const 0 i32.const 104 - i32.const 476 + i32.const 480 i32.const 0 call $~lib/env/abort unreachable @@ -13167,7 +13203,7 @@ if i32.const 0 i32.const 104 - i32.const 489 + i32.const 493 i32.const 0 call $~lib/env/abort unreachable @@ -13179,7 +13215,7 @@ if i32.const 0 i32.const 104 - i32.const 490 + i32.const 494 i32.const 0 call $~lib/env/abort unreachable @@ -13203,7 +13239,7 @@ if i32.const 0 i32.const 104 - i32.const 499 + i32.const 503 i32.const 0 call $~lib/env/abort unreachable @@ -13219,7 +13255,7 @@ if i32.const 0 i32.const 104 - i32.const 508 + i32.const 512 i32.const 0 call $~lib/env/abort unreachable @@ -13231,7 +13267,7 @@ if i32.const 0 i32.const 104 - i32.const 509 + i32.const 513 i32.const 0 call $~lib/env/abort unreachable @@ -13247,7 +13283,7 @@ if i32.const 0 i32.const 104 - i32.const 512 + i32.const 516 i32.const 0 call $~lib/env/abort unreachable @@ -13275,7 +13311,7 @@ if i32.const 0 i32.const 104 - i32.const 526 + i32.const 530 i32.const 0 call $~lib/env/abort unreachable @@ -13287,7 +13323,7 @@ if i32.const 0 i32.const 104 - i32.const 527 + i32.const 531 i32.const 0 call $~lib/env/abort unreachable @@ -13310,7 +13346,7 @@ if i32.const 0 i32.const 104 - i32.const 536 + i32.const 540 i32.const 0 call $~lib/env/abort unreachable @@ -13352,7 +13388,7 @@ if i32.const 0 i32.const 104 - i32.const 537 + i32.const 541 i32.const 0 call $~lib/env/abort unreachable @@ -13369,7 +13405,7 @@ if i32.const 0 i32.const 104 - i32.const 546 + i32.const 550 i32.const 0 call $~lib/env/abort unreachable @@ -13381,7 +13417,7 @@ if i32.const 0 i32.const 104 - i32.const 547 + i32.const 551 i32.const 0 call $~lib/env/abort unreachable @@ -13398,7 +13434,7 @@ if i32.const 0 i32.const 104 - i32.const 554 + i32.const 558 i32.const 0 call $~lib/env/abort unreachable @@ -13427,7 +13463,7 @@ if i32.const 0 i32.const 104 - i32.const 569 + i32.const 573 i32.const 0 call $~lib/env/abort unreachable @@ -13439,7 +13475,7 @@ if i32.const 0 i32.const 104 - i32.const 570 + i32.const 574 i32.const 0 call $~lib/env/abort unreachable @@ -13463,7 +13499,7 @@ if i32.const 0 i32.const 104 - i32.const 578 + i32.const 582 i32.const 0 call $~lib/env/abort unreachable @@ -13480,7 +13516,7 @@ if i32.const 0 i32.const 104 - i32.const 587 + i32.const 591 i32.const 0 call $~lib/env/abort unreachable @@ -13492,7 +13528,7 @@ if i32.const 0 i32.const 104 - i32.const 588 + i32.const 592 i32.const 0 call $~lib/env/abort unreachable @@ -13509,7 +13545,7 @@ if i32.const 0 i32.const 104 - i32.const 595 + i32.const 599 i32.const 0 call $~lib/env/abort unreachable @@ -13538,7 +13574,7 @@ if i32.const 0 i32.const 104 - i32.const 610 + i32.const 614 i32.const 0 call $~lib/env/abort unreachable @@ -13550,7 +13586,7 @@ if i32.const 0 i32.const 104 - i32.const 611 + i32.const 615 i32.const 0 call $~lib/env/abort unreachable @@ -13574,7 +13610,7 @@ if i32.const 0 i32.const 104 - i32.const 619 + i32.const 623 i32.const 0 call $~lib/env/abort unreachable @@ -13590,7 +13626,7 @@ if i32.const 0 i32.const 104 - i32.const 623 + i32.const 627 i32.const 0 call $~lib/env/abort unreachable @@ -13608,7 +13644,7 @@ if i32.const 0 i32.const 104 - i32.const 626 + i32.const 630 i32.const 0 call $~lib/env/abort unreachable @@ -13624,7 +13660,7 @@ if i32.const 0 i32.const 104 - i32.const 629 + i32.const 633 i32.const 0 call $~lib/env/abort unreachable @@ -13640,7 +13676,7 @@ if i32.const 0 i32.const 104 - i32.const 637 + i32.const 641 i32.const 0 call $~lib/env/abort unreachable @@ -13652,7 +13688,7 @@ if i32.const 0 i32.const 104 - i32.const 638 + i32.const 642 i32.const 0 call $~lib/env/abort unreachable @@ -13668,7 +13704,7 @@ if i32.const 0 i32.const 104 - i32.const 640 + i32.const 644 i32.const 0 call $~lib/env/abort unreachable @@ -13696,7 +13732,7 @@ if i32.const 0 i32.const 104 - i32.const 653 + i32.const 657 i32.const 0 call $~lib/env/abort unreachable @@ -13708,7 +13744,7 @@ if i32.const 0 i32.const 104 - i32.const 654 + i32.const 658 i32.const 0 call $~lib/env/abort unreachable @@ -13732,7 +13768,7 @@ if i32.const 0 i32.const 104 - i32.const 662 + i32.const 666 i32.const 0 call $~lib/env/abort unreachable @@ -13748,7 +13784,7 @@ if i32.const 0 i32.const 104 - i32.const 666 + i32.const 670 i32.const 0 call $~lib/env/abort unreachable @@ -13766,7 +13802,7 @@ if i32.const 0 i32.const 104 - i32.const 669 + i32.const 673 i32.const 0 call $~lib/env/abort unreachable @@ -13782,7 +13818,7 @@ if i32.const 0 i32.const 104 - i32.const 672 + i32.const 676 i32.const 0 call $~lib/env/abort unreachable @@ -13798,7 +13834,7 @@ if i32.const 0 i32.const 104 - i32.const 680 + i32.const 684 i32.const 0 call $~lib/env/abort unreachable @@ -13810,7 +13846,7 @@ if i32.const 0 i32.const 104 - i32.const 681 + i32.const 685 i32.const 0 call $~lib/env/abort unreachable @@ -13826,7 +13862,7 @@ if i32.const 0 i32.const 104 - i32.const 683 + i32.const 687 i32.const 0 call $~lib/env/abort unreachable @@ -13854,7 +13890,7 @@ if i32.const 0 i32.const 104 - i32.const 696 + i32.const 700 i32.const 0 call $~lib/env/abort unreachable @@ -13864,7 +13900,7 @@ if i32.const 0 i32.const 104 - i32.const 697 + i32.const 701 i32.const 0 call $~lib/env/abort unreachable @@ -13915,7 +13951,7 @@ if i32.const 0 i32.const 104 - i32.const 784 + i32.const 788 i32.const 0 call $~lib/env/abort unreachable @@ -13947,7 +13983,7 @@ if i32.const 0 i32.const 104 - i32.const 788 + i32.const 792 i32.const 0 call $~lib/env/abort unreachable @@ -13974,14 +14010,14 @@ call $~lib/array/Array#sort drop get_global $std/array/i32ArrayTyped - i32.const 3312 + i32.const 3408 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 792 + i32.const 796 i32.const 0 call $~lib/env/abort unreachable @@ -14008,14 +14044,14 @@ call $~lib/array/Array#sort drop get_global $std/array/u32ArrayTyped - i32.const 3392 + i32.const 3488 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 796 + i32.const 800 i32.const 0 call $~lib/env/abort unreachable @@ -14040,14 +14076,14 @@ get_global $std/array/reversed1 call $std/array/assertSortedDefault get_global $std/array/reversed1 - i32.const 3560 + i32.const 3656 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 816 + i32.const 820 i32.const 0 call $~lib/env/abort unreachable @@ -14055,14 +14091,14 @@ get_global $std/array/reversed2 call $std/array/assertSortedDefault get_global $std/array/reversed2 - i32.const 3584 + i32.const 3680 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 819 + i32.const 823 i32.const 0 call $~lib/env/abort unreachable @@ -14077,7 +14113,7 @@ if i32.const 0 i32.const 104 - i32.const 822 + i32.const 826 i32.const 0 call $~lib/env/abort unreachable @@ -14092,7 +14128,7 @@ if i32.const 0 i32.const 104 - i32.const 825 + i32.const 829 i32.const 0 call $~lib/env/abort unreachable @@ -14107,7 +14143,7 @@ if i32.const 0 i32.const 104 - i32.const 828 + i32.const 832 i32.const 0 call $~lib/env/abort unreachable @@ -14122,7 +14158,7 @@ if i32.const 0 i32.const 104 - i32.const 831 + i32.const 835 i32.const 0 call $~lib/env/abort unreachable @@ -14137,7 +14173,7 @@ if i32.const 0 i32.const 104 - i32.const 834 + i32.const 838 i32.const 0 call $~lib/env/abort unreachable @@ -14182,7 +14218,7 @@ if i32.const 0 i32.const 104 - i32.const 863 + i32.const 867 i32.const 0 call $~lib/env/abort unreachable @@ -14193,81 +14229,81 @@ i32.const 55 call $std/array/assertSorted> call $~lib/array/Array#join - i32.const 3968 + i32.const 4064 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 872 + i32.const 876 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4592 - i32.const 3624 + i32.const 4688 + i32.const 3720 call $~lib/array/Array#join - i32.const 4600 + i32.const 4696 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 873 + i32.const 877 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4696 - i32.const 4656 + i32.const 4792 + i32.const 4752 call $~lib/array/Array#join - i32.const 4600 + i32.const 4696 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 874 + i32.const 878 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4752 - i32.const 4728 + i32.const 4848 + i32.const 4824 call $~lib/array/Array#join - i32.const 4760 + i32.const 4856 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 875 + i32.const 879 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6416 + i32.const 6512 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 876 + i32.const 880 i32.const 0 call $~lib/env/abort unreachable end - i32.const 6584 - i32.const 3624 + i32.const 6680 + i32.const 3720 call $~lib/array/Array#join - i32.const 6504 + i32.const 6600 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 877 + i32.const 881 i32.const 0 call $~lib/env/abort unreachable @@ -14301,184 +14337,184 @@ set_global $std/array/refArr get_global $std/array/refArr call $~lib/array/Array#join - i32.const 6632 + i32.const 6728 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 879 + i32.const 883 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed0 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join - i32.const 3624 + i32.const 3720 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 883 + i32.const 887 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed1 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join - i32.const 6504 + i32.const 6600 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 884 + i32.const 888 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed2 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join - i32.const 6704 + i32.const 6800 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 885 + i32.const 889 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed4 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join - i32.const 6720 + i32.const 6816 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 886 + i32.const 890 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6792 + i32.const 6888 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 888 + i32.const 892 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6856 + i32.const 6952 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 889 + i32.const 893 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 7480 + i32.const 7576 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 890 + i32.const 894 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 7680 + i32.const 7776 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 891 + i32.const 895 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/randomStringsExpected - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join - i32.const 7768 + i32.const 7864 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 892 + i32.const 896 i32.const 0 call $~lib/env/abort unreachable end - i32.const 7888 - i32.const 3936 + i32.const 7984 + i32.const 4032 call $~lib/array/Array#join - i32.const 7896 + i32.const 7992 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 893 + i32.const 897 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarr32 call $~lib/array/Array>#join - i32.const 7984 + i32.const 8080 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 896 + i32.const 900 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarr8 call $~lib/array/Array>#join - i32.const 7984 + i32.const 8080 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 899 + i32.const 903 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarrU32 call $~lib/array/Array>>#join - i32.const 6504 + i32.const 6600 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 902 + i32.const 906 i32.const 0 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/array.ts b/tests/compiler/std/array.ts index 9b75e3a56f..6e64c2c000 100644 --- a/tests/compiler/std/array.ts +++ b/tests/compiler/std/array.ts @@ -376,6 +376,10 @@ sarr = [1, 2, 3, 4, 5]; assert(isArraysEqual(sarr.splice(7, 0), [])); assert(isArraysEqual(sarr, [1, 2, 3, 4, 5])); +sarr = [1, 2, 3, 4, 5]; +assert(isArraysEqual(sarr.splice(7, 5), [])); +assert(isArraysEqual(sarr, [1, 2, 3, 4, 5])); + // Array#findIndex ///////////////////////////////////////////////////////////////////////////////// arr[0] = 0; diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index c5d477a688..bfedbcbd0b 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -174,151 +174,157 @@ (data (i32.const 2568) "\00\n\00\00\00\00\00\00") (data (i32.const 2576) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") (data (i32.const 2608) "\10\n\00\00\05\00\00\00") - (data (i32.const 2616) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") - (data (i32.const 2648) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") - (data (i32.const 2824) " \00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2888) "\08\0b\00\00\08\00\00\00") - (data (i32.const 2896) " \00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2960) "P\0b\00\00\08\00\00\00") - (data (i32.const 2968) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3096) "\98\0b\00\00\08\00\00\00") - (data (i32.const 3104) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3232) " \0c\00\00\08\00\00\00") - (data (i32.const 3240) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 3272) "\a8\0c\00\00\05\00\00\00") - (data (i32.const 3280) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 3312) "\d0\0c\00\00\05\00\00\00") - (data (i32.const 3320) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 3352) "\f8\0c\00\00\05\00\00\00") - (data (i32.const 3360) "\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00") - (data (i32.const 3392) " \0d\00\00\05\00\00\00") - (data (i32.const 3400) "\00\00\00\00\00\00\00\00") - (data (i32.const 3408) "H\0d\00\00\00\00\00\00") - (data (i32.const 3416) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3432) "X\0d\00\00\01\00\00\00") - (data (i32.const 3440) "\08\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") - (data (i32.const 3456) "p\0d\00\00\02\00\00\00") - (data (i32.const 3464) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3496) "\88\0d\00\00\04\00\00\00") - (data (i32.const 3504) "\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3536) "\b0\0d\00\00\04\00\00\00") - (data (i32.const 3544) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3560) "\d8\0d\00\00\01\00\00\00") - (data (i32.const 3568) "\08\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 3584) "\f0\0d\00\00\02\00\00\00") - (data (i32.const 3592) "\01\00\00\00a\00") - (data (i32.const 3600) "\01\00\00\00b\00") - (data (i32.const 3608) "\02\00\00\00a\00b\00") - (data (i32.const 3616) "\02\00\00\00b\00a\00") - (data (i32.const 3624) "\00\00\00\00") - (data (i32.const 3632) "\1c\00\00\00\00\00\00\00\08\0e\00\00\10\0e\00\00\08\0e\00\00\18\0e\00\00 \0e\00\00(\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3696) "0\0e\00\00\07\00\00\00") - (data (i32.const 3704) "\1c\00\00\00\00\00\00\00(\0e\00\00\08\0e\00\00\08\0e\00\00\18\0e\00\00\10\0e\00\00 \0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3768) "x\0e\00\00\07\00\00\00") - (data (i32.const 3776) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 3808) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 3864) "\04\00\00\00n\00u\00l\00l\00") - (data (i32.const 3880) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3896) "(\0f\00\00\02\00\00\00") - (data (i32.const 3904) "\04\00\00\00t\00r\00u\00e\00") - (data (i32.const 3920) "\05\00\00\00f\00a\00l\00s\00e\00") - (data (i32.const 3936) "\01\00\00\00,\00") - (data (i32.const 3944) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3960) "h\0f\00\00\02\00\00\00") - (data (i32.const 3968) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") - (data (i32.const 3992) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4024) "\98\0f\00\00\03\00\00\00") - (data (i32.const 4032) "\01\00\00\000\00") - (data (i32.const 4040) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4552) "\c8\0f\00\00d\00\00\00") - (data (i32.const 4560) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4592) "\d0\11\00\00\03\00\00\00") - (data (i32.const 4600) "\05\00\00\001\00-\002\00-\003\00") - (data (i32.const 4616) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4648) "\08\12\00\00\03\00\00\00") - (data (i32.const 4656) "\01\00\00\00-\00") - (data (i32.const 4664) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4696) "8\12\00\00\03\00\00\00") - (data (i32.const 4704) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 4720) "`\12\00\00\02\00\00\00") - (data (i32.const 4728) "\02\00\00\00_\00_\00") - (data (i32.const 4736) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 4752) "\80\12\00\00\02\00\00\00") - (data (i32.const 4760) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 4816) "0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00") - (data (i32.const 4880) "\d0\12\00\00\06\00\00\00") - (data (i32.const 4888) "\02\00\00\00,\00 \00") - (data (i32.const 4896) "\03\00\00\000\00.\000\00") - (data (i32.const 4912) "\03\00\00\00N\00a\00N\00") - (data (i32.const 4928) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4952) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 4976) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") + (data (i32.const 2920) " \00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2984) "h\0b\00\00\08\00\00\00") + (data (i32.const 2992) " \00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3056) "\b0\0b\00\00\08\00\00\00") + (data (i32.const 3064) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3192) "\f8\0b\00\00\08\00\00\00") + (data (i32.const 3200) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3328) "\80\0c\00\00\08\00\00\00") + (data (i32.const 3336) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 3368) "\08\0d\00\00\05\00\00\00") + (data (i32.const 3376) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 3408) "0\0d\00\00\05\00\00\00") + (data (i32.const 3416) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 3448) "X\0d\00\00\05\00\00\00") + (data (i32.const 3456) "\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00") + (data (i32.const 3488) "\80\0d\00\00\05\00\00\00") + (data (i32.const 3496) "\00\00\00\00\00\00\00\00") + (data (i32.const 3504) "\a8\0d\00\00\00\00\00\00") + (data (i32.const 3512) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3528) "\b8\0d\00\00\01\00\00\00") + (data (i32.const 3536) "\08\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") + (data (i32.const 3552) "\d0\0d\00\00\02\00\00\00") + (data (i32.const 3560) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3592) "\e8\0d\00\00\04\00\00\00") + (data (i32.const 3600) "\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3632) "\10\0e\00\00\04\00\00\00") + (data (i32.const 3640) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3656) "8\0e\00\00\01\00\00\00") + (data (i32.const 3664) "\08\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 3680) "P\0e\00\00\02\00\00\00") + (data (i32.const 3688) "\01\00\00\00a\00") + (data (i32.const 3696) "\01\00\00\00b\00") + (data (i32.const 3704) "\02\00\00\00a\00b\00") + (data (i32.const 3712) "\02\00\00\00b\00a\00") + (data (i32.const 3720) "\00\00\00\00") + (data (i32.const 3728) "\1c\00\00\00\00\00\00\00h\0e\00\00p\0e\00\00h\0e\00\00x\0e\00\00\80\0e\00\00\88\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3792) "\90\0e\00\00\07\00\00\00") + (data (i32.const 3800) "\1c\00\00\00\00\00\00\00\88\0e\00\00h\0e\00\00h\0e\00\00x\0e\00\00p\0e\00\00\80\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3864) "\d8\0e\00\00\07\00\00\00") + (data (i32.const 3872) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 3904) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 3960) "\04\00\00\00n\00u\00l\00l\00") + (data (i32.const 3976) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3992) "\88\0f\00\00\02\00\00\00") + (data (i32.const 4000) "\04\00\00\00t\00r\00u\00e\00") + (data (i32.const 4016) "\05\00\00\00f\00a\00l\00s\00e\00") + (data (i32.const 4032) "\01\00\00\00,\00") + (data (i32.const 4040) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 4056) "\c8\0f\00\00\02\00\00\00") + (data (i32.const 4064) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") + (data (i32.const 4088) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4120) "\f8\0f\00\00\03\00\00\00") + (data (i32.const 4128) "\01\00\00\000\00") + (data (i32.const 4136) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4648) "(\10\00\00d\00\00\00") + (data (i32.const 4656) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4688) "0\12\00\00\03\00\00\00") + (data (i32.const 4696) "\05\00\00\001\00-\002\00-\003\00") + (data (i32.const 4712) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4744) "h\12\00\00\03\00\00\00") + (data (i32.const 4752) "\01\00\00\00-\00") + (data (i32.const 4760) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4792) "\98\12\00\00\03\00\00\00") + (data (i32.const 4800) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 4816) "\c0\12\00\00\02\00\00\00") + (data (i32.const 4824) "\02\00\00\00_\00_\00") + (data (i32.const 4832) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 4848) "\e0\12\00\00\02\00\00\00") + (data (i32.const 4856) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") + (data (i32.const 4912) "0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00") + (data (i32.const 4976) "0\13\00\00\06\00\00\00") + (data (i32.const 4984) "\02\00\00\00,\00 \00") + (data (i32.const 4992) "\03\00\00\000\00.\000\00") + (data (i32.const 5008) "\03\00\00\00N\00a\00N\00") + (data (i32.const 5024) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 5048) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 5072) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#sort|trampoline~anonymous|43 $~lib/array/Array#sort|trampoline~anonymous|44 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|46 $std/array/assertSortedDefault~anonymous|47 $start~anonymous|48 $start~anonymous|49 $start~anonymous|50 $start~anonymous|51 $start~anonymous|52 $start~anonymous|53 $start~anonymous|54 $start~anonymous|55) (global $~lib/internal/allocator/AL_BITS i32 (i32.const 3)) @@ -365,16 +371,16 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/charset i32 (i32.const 2648)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 2888)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 3096)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 3272)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 3352)) - (global $std/array/reversed0 (mut i32) (i32.const 3408)) - (global $std/array/reversed1 (mut i32) (i32.const 3432)) - (global $std/array/reversed2 (mut i32) (i32.const 3456)) - (global $std/array/reversed4 (mut i32) (i32.const 3496)) - (global $std/array/expected4 (mut i32) (i32.const 3536)) + (global $std/array/charset i32 (i32.const 2744)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 2984)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 3192)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 3368)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 3448)) + (global $std/array/reversed0 (mut i32) (i32.const 3504)) + (global $std/array/reversed1 (mut i32) (i32.const 3528)) + (global $std/array/reversed2 (mut i32) (i32.const 3552)) + (global $std/array/reversed4 (mut i32) (i32.const 3592)) + (global $std/array/expected4 (mut i32) (i32.const 3632)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -384,8 +390,8 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 3696)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 3768)) + (global $std/array/randomStringsActual (mut i32) (i32.const 3792)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 3864)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/internal/string/CharCode.PLUS i32 (i32.const 43)) @@ -419,10 +425,10 @@ (global $std/array/refArr (mut i32) (i32.const 0)) (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) (global $~lib/builtins/i64.MAX_VALUE i64 (i64.const 9223372036854775807)) - (global $std/array/subarr32 (mut i32) (i32.const 7976)) - (global $std/array/subarr8 (mut i32) (i32.const 8072)) - (global $std/array/subarrU32 (mut i32) (i32.const 8144)) - (global $HEAP_BASE i32 (i32.const 8152)) + (global $std/array/subarr32 (mut i32) (i32.const 8072)) + (global $std/array/subarr8 (mut i32) (i32.const 8168)) + (global $std/array/subarrU32 (mut i32) (i32.const 8240)) + (global $HEAP_BASE i32 (i32.const 8248)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -3632,15 +3638,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - get_local $2 - i32.const 1 - i32.lt_s - if - i32.const 0 - i32.const 0 - call $~lib/array/Array#constructor - return - end get_local $0 i32.load offset=4 set_local $3 @@ -3670,15 +3667,22 @@ end set_local $1 get_local $2 - tee_local $4 - get_local $3 - get_local $1 - i32.sub - tee_local $5 - get_local $4 - get_local $5 - i32.lt_s - select + i32.const 0 + i32.le_s + if (result i32) + i32.const 0 + else + get_local $2 + tee_local $4 + get_local $3 + get_local $1 + i32.sub + tee_local $5 + get_local $4 + get_local $5 + i32.lt_s + select + end set_local $2 get_local $0 i32.load @@ -4977,7 +4981,7 @@ i64.eqz if i32.const 0 - i32.const 2616 + i32.const 2712 i32.const 959 i32.const 4 call $~lib/env/abort @@ -5540,7 +5544,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -6304,7 +6308,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -7090,7 +7094,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -7746,7 +7750,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -7919,7 +7923,7 @@ i32.eqz if i32.const 0 - i32.const 2616 + i32.const 2712 i32.const 968 i32.const 24 call $~lib/env/abort @@ -8074,7 +8078,7 @@ if i32.const 0 i32.const 104 - i32.const 773 + i32.const 777 i32.const 2 call $~lib/env/abort unreachable @@ -8423,7 +8427,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -8568,7 +8572,7 @@ if i32.const 0 i32.const 104 - i32.const 773 + i32.const 777 i32.const 2 call $~lib/env/abort unreachable @@ -8876,7 +8880,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -9043,7 +9047,7 @@ if i32.const 0 i32.const 104 - i32.const 773 + i32.const 777 i32.const 2 call $~lib/env/abort unreachable @@ -9364,7 +9368,7 @@ if i32.const 0 i32.const 8 - i32.const 409 + i32.const 408 i32.const 4 call $~lib/env/abort unreachable @@ -9531,7 +9535,7 @@ if i32.const 0 i32.const 104 - i32.const 773 + i32.const 777 i32.const 2 call $~lib/env/abort unreachable @@ -9722,7 +9726,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 14 i32.const 2 call $~lib/env/abort @@ -9753,7 +9757,7 @@ i32.eqz if i32.const 0 - i32.const 3776 + i32.const 3872 i32.const 58 i32.const 4 call $~lib/env/abort @@ -9764,7 +9768,7 @@ i32.load i32.ge_u if - i32.const 3624 + i32.const 3720 return end i32.const 1 @@ -9820,7 +9824,7 @@ i32.eqz if i32.const 0 - i32.const 3776 + i32.const 3872 i32.const 110 i32.const 4 call $~lib/env/abort @@ -9830,7 +9834,7 @@ i32.const 0 i32.eq if - i32.const 3864 + i32.const 3960 set_local $1 end get_local $0 @@ -9847,7 +9851,7 @@ i32.const 0 i32.eq if - i32.const 3624 + i32.const 3720 return end get_local $4 @@ -9871,7 +9875,7 @@ get_local $0 i32.eqz if - i32.const 3864 + i32.const 3960 set_local $0 end get_local $0 @@ -9882,7 +9886,7 @@ (local $1 i32) (local $2 i32) (local $3 f64) - i32.const 3624 + i32.const 3720 set_local $1 block $break|0 i32.const 0 @@ -10033,7 +10037,7 @@ i32.eqz if i32.const 0 - i32.const 3776 + i32.const 3872 i32.const 269 i32.const 4 call $~lib/env/abort @@ -10099,7 +10103,7 @@ get_local $3 i32.eqz if - i32.const 3624 + i32.const 3720 return end get_local $8 @@ -10149,10 +10153,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $3 get_local $0 i32.load @@ -10167,8 +10171,8 @@ get_local $2 i32.eqz if - i32.const 3904 - i32.const 3920 + i32.const 4000 + i32.const 4016 block $~lib/internal/arraybuffer/loadUnsafe|inlined.0 (result i32) i32.const 0 set_local $8 @@ -10227,8 +10231,8 @@ set_local $8 get_local $10 get_local $11 - i32.const 3904 - i32.const 3920 + i32.const 4000 + i32.const 4016 get_local $4 i32.const 0 i32.ne @@ -10281,8 +10285,8 @@ set_local $8 get_local $10 get_local $11 - i32.const 3904 - i32.const 3920 + i32.const 4000 + i32.const 4016 get_local $4 i32.const 0 i32.ne @@ -10309,7 +10313,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -10406,7 +10410,7 @@ (local $8 i64) (local $9 i64) block $~lib/internal/number/DIGITS|inlined.0 (result i32) - i32.const 4552 + i32.const 4648 end i32.load set_local $3 @@ -10557,7 +10561,7 @@ get_local $0 i32.eqz if - i32.const 4032 + i32.const 4128 return end get_local $0 @@ -10664,10 +10668,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $3 get_local $0 i32.load @@ -10788,7 +10792,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -10813,7 +10817,7 @@ get_local $0 i32.eqz if - i32.const 4032 + i32.const 4128 return end get_local $0 @@ -10881,10 +10885,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $3 get_local $0 i32.load @@ -11005,7 +11009,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -11083,7 +11087,7 @@ get_local $6 set_local $15 block $~lib/internal/number/POWERS10|inlined.0 (result i32) - i32.const 6336 + i32.const 6432 end i32.load set_local $16 @@ -12079,12 +12083,12 @@ i32.sub set_global $~lib/internal/number/_K block $~lib/internal/number/FRC_POWERS|inlined.0 (result i32) - i32.const 6000 + i32.const 6096 end i32.load set_local $12 block $~lib/internal/number/EXP_POWERS|inlined.0 (result i32) - i32.const 6264 + i32.const 6360 end i32.load set_local $13 @@ -12361,7 +12365,7 @@ f64.const 0 f64.eq if - i32.const 4896 + i32.const 4992 return end get_local $0 @@ -12371,11 +12375,11 @@ get_local $0 call $~lib/builtins/isNaN if - i32.const 4912 + i32.const 5008 return end - i32.const 4928 - i32.const 4952 + i32.const 5024 + i32.const 5048 get_local $0 f64.const 0 f64.lt @@ -12398,7 +12402,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -12471,8 +12475,8 @@ get_local $3 i32.add set_local $4 - i32.const 4928 - i32.const 4952 + i32.const 5024 + i32.const 5048 get_local $3 select set_local $5 @@ -12522,10 +12526,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $3 get_local $0 i32.load @@ -12646,7 +12650,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -12686,10 +12690,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $3 get_local $0 i32.load @@ -12953,10 +12957,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $3 get_local $0 i32.load @@ -12971,7 +12975,7 @@ get_local $2 i32.eqz if - i32.const 6592 + i32.const 6688 return end i32.const 15 @@ -13010,7 +13014,7 @@ if get_local $9 get_local $10 - i32.const 6592 + i32.const 6688 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -13053,7 +13057,7 @@ if get_local $9 get_local $10 - i32.const 6592 + i32.const 6688 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -13077,7 +13081,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13192,10 +13196,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $3 get_local $0 i32.load @@ -13316,7 +13320,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13399,10 +13403,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $3 get_local $0 i32.load @@ -13523,7 +13527,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13624,7 +13628,7 @@ (local $12 i64) (local $13 i64) block $~lib/internal/number/DIGITS|inlined.1 (result i32) - i32.const 7432 + i32.const 7528 end i32.load set_local $3 @@ -13756,7 +13760,7 @@ get_local $0 i64.eqz if - i32.const 4032 + i32.const 4128 return end get_local $0 @@ -13862,10 +13866,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $3 get_local $0 i32.load @@ -13986,7 +13990,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14013,7 +14017,7 @@ get_local $0 i64.eqz if - i32.const 4032 + i32.const 4128 return end get_local $0 @@ -14162,10 +14166,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $3 get_local $0 i32.load @@ -14286,7 +14290,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14322,10 +14326,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $3 get_local $0 i32.load @@ -14357,7 +14361,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3624 + i32.const 3720 end return end @@ -14491,10 +14495,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $3 get_local $0 i32.load @@ -14615,7 +14619,7 @@ i32.eqz if i32.const 0 - i32.const 3808 + i32.const 3904 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14651,10 +14655,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $3 get_local $0 i32.load @@ -14686,7 +14690,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3624 + i32.const 3720 end return end @@ -14773,10 +14777,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $3 get_local $0 i32.load @@ -14808,7 +14812,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3624 + i32.const 3720 end return end @@ -14895,10 +14899,10 @@ i32.const 0 i32.lt_s if - i32.const 3624 + i32.const 3720 return end - i32.const 3624 + i32.const 3720 set_local $3 get_local $0 i32.load @@ -14930,7 +14934,7 @@ get_local $1 call $~lib/array/Array>#join else - i32.const 3624 + i32.const 3720 end return end @@ -17535,6 +17539,37 @@ call $~lib/env/abort unreachable end + i32.const 2648 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const 7 + i32.const 5 + call $~lib/array/Array#splice + i32.const 2664 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 380 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2704 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 381 + i32.const 0 + call $~lib/env/abort + unreachable + end get_global $std/array/arr i32.const 0 i32.const 0 @@ -17562,7 +17597,7 @@ if i32.const 0 i32.const 104 - i32.const 387 + i32.const 391 i32.const 0 call $~lib/env/abort unreachable @@ -17578,7 +17613,7 @@ if i32.const 0 i32.const 104 - i32.const 390 + i32.const 394 i32.const 0 call $~lib/env/abort unreachable @@ -17594,7 +17629,7 @@ if i32.const 0 i32.const 104 - i32.const 393 + i32.const 397 i32.const 0 call $~lib/env/abort unreachable @@ -17610,7 +17645,7 @@ if i32.const 0 i32.const 104 - i32.const 401 + i32.const 405 i32.const 0 call $~lib/env/abort unreachable @@ -17627,7 +17662,7 @@ if i32.const 0 i32.const 104 - i32.const 402 + i32.const 406 i32.const 0 call $~lib/env/abort unreachable @@ -17643,7 +17678,7 @@ if i32.const 0 i32.const 104 - i32.const 404 + i32.const 408 i32.const 0 call $~lib/env/abort unreachable @@ -17671,7 +17706,7 @@ if i32.const 0 i32.const 104 - i32.const 417 + i32.const 421 i32.const 0 call $~lib/env/abort unreachable @@ -17688,7 +17723,7 @@ if i32.const 0 i32.const 104 - i32.const 418 + i32.const 422 i32.const 0 call $~lib/env/abort unreachable @@ -17712,7 +17747,7 @@ if i32.const 0 i32.const 104 - i32.const 426 + i32.const 430 i32.const 0 call $~lib/env/abort unreachable @@ -17728,7 +17763,7 @@ if i32.const 0 i32.const 104 - i32.const 429 + i32.const 433 i32.const 0 call $~lib/env/abort unreachable @@ -17744,7 +17779,7 @@ if i32.const 0 i32.const 104 - i32.const 437 + i32.const 441 i32.const 0 call $~lib/env/abort unreachable @@ -17761,7 +17796,7 @@ if i32.const 0 i32.const 104 - i32.const 438 + i32.const 442 i32.const 0 call $~lib/env/abort unreachable @@ -17777,7 +17812,7 @@ if i32.const 0 i32.const 104 - i32.const 440 + i32.const 444 i32.const 0 call $~lib/env/abort unreachable @@ -17805,7 +17840,7 @@ if i32.const 0 i32.const 104 - i32.const 453 + i32.const 457 i32.const 0 call $~lib/env/abort unreachable @@ -17822,7 +17857,7 @@ if i32.const 0 i32.const 104 - i32.const 454 + i32.const 458 i32.const 0 call $~lib/env/abort unreachable @@ -17846,7 +17881,7 @@ if i32.const 0 i32.const 104 - i32.const 462 + i32.const 466 i32.const 0 call $~lib/env/abort unreachable @@ -17862,7 +17897,7 @@ if i32.const 0 i32.const 104 - i32.const 465 + i32.const 469 i32.const 0 call $~lib/env/abort unreachable @@ -17878,7 +17913,7 @@ if i32.const 0 i32.const 104 - i32.const 473 + i32.const 477 i32.const 0 call $~lib/env/abort unreachable @@ -17895,7 +17930,7 @@ if i32.const 0 i32.const 104 - i32.const 474 + i32.const 478 i32.const 0 call $~lib/env/abort unreachable @@ -17911,7 +17946,7 @@ if i32.const 0 i32.const 104 - i32.const 476 + i32.const 480 i32.const 0 call $~lib/env/abort unreachable @@ -17939,7 +17974,7 @@ if i32.const 0 i32.const 104 - i32.const 489 + i32.const 493 i32.const 0 call $~lib/env/abort unreachable @@ -17956,7 +17991,7 @@ if i32.const 0 i32.const 104 - i32.const 490 + i32.const 494 i32.const 0 call $~lib/env/abort unreachable @@ -17981,7 +18016,7 @@ if i32.const 0 i32.const 104 - i32.const 499 + i32.const 503 i32.const 0 call $~lib/env/abort unreachable @@ -17998,7 +18033,7 @@ if i32.const 0 i32.const 104 - i32.const 508 + i32.const 512 i32.const 0 call $~lib/env/abort unreachable @@ -18015,7 +18050,7 @@ if i32.const 0 i32.const 104 - i32.const 509 + i32.const 513 i32.const 0 call $~lib/env/abort unreachable @@ -18032,7 +18067,7 @@ if i32.const 0 i32.const 104 - i32.const 512 + i32.const 516 i32.const 0 call $~lib/env/abort unreachable @@ -18061,7 +18096,7 @@ if i32.const 0 i32.const 104 - i32.const 526 + i32.const 530 i32.const 0 call $~lib/env/abort unreachable @@ -18078,7 +18113,7 @@ if i32.const 0 i32.const 104 - i32.const 527 + i32.const 531 i32.const 0 call $~lib/env/abort unreachable @@ -18107,7 +18142,7 @@ if i32.const 0 i32.const 104 - i32.const 536 + i32.const 540 i32.const 0 call $~lib/env/abort unreachable @@ -18124,7 +18159,7 @@ if i32.const 0 i32.const 104 - i32.const 537 + i32.const 541 i32.const 0 call $~lib/env/abort unreachable @@ -18142,7 +18177,7 @@ if i32.const 0 i32.const 104 - i32.const 546 + i32.const 550 i32.const 0 call $~lib/env/abort unreachable @@ -18159,7 +18194,7 @@ if i32.const 0 i32.const 104 - i32.const 547 + i32.const 551 i32.const 0 call $~lib/env/abort unreachable @@ -18177,7 +18212,7 @@ if i32.const 0 i32.const 104 - i32.const 554 + i32.const 558 i32.const 0 call $~lib/env/abort unreachable @@ -18207,7 +18242,7 @@ if i32.const 0 i32.const 104 - i32.const 569 + i32.const 573 i32.const 0 call $~lib/env/abort unreachable @@ -18224,7 +18259,7 @@ if i32.const 0 i32.const 104 - i32.const 570 + i32.const 574 i32.const 0 call $~lib/env/abort unreachable @@ -18253,7 +18288,7 @@ if i32.const 0 i32.const 104 - i32.const 578 + i32.const 582 i32.const 0 call $~lib/env/abort unreachable @@ -18271,7 +18306,7 @@ if i32.const 0 i32.const 104 - i32.const 587 + i32.const 591 i32.const 0 call $~lib/env/abort unreachable @@ -18288,7 +18323,7 @@ if i32.const 0 i32.const 104 - i32.const 588 + i32.const 592 i32.const 0 call $~lib/env/abort unreachable @@ -18306,7 +18341,7 @@ if i32.const 0 i32.const 104 - i32.const 595 + i32.const 599 i32.const 0 call $~lib/env/abort unreachable @@ -18336,7 +18371,7 @@ if i32.const 0 i32.const 104 - i32.const 610 + i32.const 614 i32.const 0 call $~lib/env/abort unreachable @@ -18353,7 +18388,7 @@ if i32.const 0 i32.const 104 - i32.const 611 + i32.const 615 i32.const 0 call $~lib/env/abort unreachable @@ -18378,7 +18413,7 @@ if i32.const 0 i32.const 104 - i32.const 619 + i32.const 623 i32.const 0 call $~lib/env/abort unreachable @@ -18395,7 +18430,7 @@ if i32.const 0 i32.const 104 - i32.const 623 + i32.const 627 i32.const 0 call $~lib/env/abort unreachable @@ -18414,7 +18449,7 @@ if i32.const 0 i32.const 104 - i32.const 626 + i32.const 630 i32.const 0 call $~lib/env/abort unreachable @@ -18433,7 +18468,7 @@ if i32.const 0 i32.const 104 - i32.const 629 + i32.const 633 i32.const 0 call $~lib/env/abort unreachable @@ -18450,7 +18485,7 @@ if i32.const 0 i32.const 104 - i32.const 637 + i32.const 641 i32.const 0 call $~lib/env/abort unreachable @@ -18467,7 +18502,7 @@ if i32.const 0 i32.const 104 - i32.const 638 + i32.const 642 i32.const 0 call $~lib/env/abort unreachable @@ -18484,7 +18519,7 @@ if i32.const 0 i32.const 104 - i32.const 640 + i32.const 644 i32.const 0 call $~lib/env/abort unreachable @@ -18513,7 +18548,7 @@ if i32.const 0 i32.const 104 - i32.const 653 + i32.const 657 i32.const 0 call $~lib/env/abort unreachable @@ -18530,7 +18565,7 @@ if i32.const 0 i32.const 104 - i32.const 654 + i32.const 658 i32.const 0 call $~lib/env/abort unreachable @@ -18555,7 +18590,7 @@ if i32.const 0 i32.const 104 - i32.const 662 + i32.const 666 i32.const 0 call $~lib/env/abort unreachable @@ -18572,7 +18607,7 @@ if i32.const 0 i32.const 104 - i32.const 666 + i32.const 670 i32.const 0 call $~lib/env/abort unreachable @@ -18591,7 +18626,7 @@ if i32.const 0 i32.const 104 - i32.const 669 + i32.const 673 i32.const 0 call $~lib/env/abort unreachable @@ -18610,7 +18645,7 @@ if i32.const 0 i32.const 104 - i32.const 672 + i32.const 676 i32.const 0 call $~lib/env/abort unreachable @@ -18627,7 +18662,7 @@ if i32.const 0 i32.const 104 - i32.const 680 + i32.const 684 i32.const 0 call $~lib/env/abort unreachable @@ -18644,7 +18679,7 @@ if i32.const 0 i32.const 104 - i32.const 681 + i32.const 685 i32.const 0 call $~lib/env/abort unreachable @@ -18661,7 +18696,7 @@ if i32.const 0 i32.const 104 - i32.const 683 + i32.const 687 i32.const 0 call $~lib/env/abort unreachable @@ -18690,7 +18725,7 @@ if i32.const 0 i32.const 104 - i32.const 696 + i32.const 700 i32.const 0 call $~lib/env/abort unreachable @@ -18707,7 +18742,7 @@ if i32.const 0 i32.const 104 - i32.const 697 + i32.const 701 i32.const 0 call $~lib/env/abort unreachable @@ -18740,14 +18775,14 @@ end drop get_global $std/array/f32ArrayTyped - i32.const 2960 + i32.const 3056 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 784 + i32.const 788 i32.const 0 call $~lib/env/abort unreachable @@ -18761,14 +18796,14 @@ end drop get_global $std/array/f64ArrayTyped - i32.const 3232 + i32.const 3328 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 788 + i32.const 792 i32.const 0 call $~lib/env/abort unreachable @@ -18782,14 +18817,14 @@ end drop get_global $std/array/i32ArrayTyped - i32.const 3312 + i32.const 3408 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 792 + i32.const 796 i32.const 0 call $~lib/env/abort unreachable @@ -18803,14 +18838,14 @@ end drop get_global $std/array/u32ArrayTyped - i32.const 3392 + i32.const 3488 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 796 + i32.const 800 i32.const 0 call $~lib/env/abort unreachable @@ -18835,14 +18870,14 @@ get_global $std/array/reversed1 call $std/array/assertSortedDefault get_global $std/array/reversed1 - i32.const 3560 + i32.const 3656 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 816 + i32.const 820 i32.const 0 call $~lib/env/abort unreachable @@ -18850,14 +18885,14 @@ get_global $std/array/reversed2 call $std/array/assertSortedDefault get_global $std/array/reversed2 - i32.const 3584 + i32.const 3680 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 819 + i32.const 823 i32.const 0 call $~lib/env/abort unreachable @@ -18872,7 +18907,7 @@ if i32.const 0 i32.const 104 - i32.const 822 + i32.const 826 i32.const 0 call $~lib/env/abort unreachable @@ -18887,7 +18922,7 @@ if i32.const 0 i32.const 104 - i32.const 825 + i32.const 829 i32.const 0 call $~lib/env/abort unreachable @@ -18902,7 +18937,7 @@ if i32.const 0 i32.const 104 - i32.const 828 + i32.const 832 i32.const 0 call $~lib/env/abort unreachable @@ -18917,7 +18952,7 @@ if i32.const 0 i32.const 104 - i32.const 831 + i32.const 835 i32.const 0 call $~lib/env/abort unreachable @@ -18932,7 +18967,7 @@ if i32.const 0 i32.const 104 - i32.const 834 + i32.const 838 i32.const 0 call $~lib/env/abort unreachable @@ -18980,7 +19015,7 @@ if i32.const 0 i32.const 104 - i32.const 863 + i32.const 867 i32.const 0 call $~lib/env/abort unreachable @@ -18991,86 +19026,86 @@ get_global $std/array/randomStrings400 i32.const 55 call $std/array/assertSorted - i32.const 3960 - i32.const 3936 + i32.const 4056 + i32.const 4032 call $~lib/array/Array#join - i32.const 3968 + i32.const 4064 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 872 + i32.const 876 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4592 - i32.const 3624 + i32.const 4688 + i32.const 3720 call $~lib/array/Array#join - i32.const 4600 + i32.const 4696 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 873 + i32.const 877 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4696 - i32.const 4656 + i32.const 4792 + i32.const 4752 call $~lib/array/Array#join - i32.const 4600 + i32.const 4696 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 874 + i32.const 878 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4752 - i32.const 4728 + i32.const 4848 + i32.const 4824 call $~lib/array/Array#join - i32.const 4760 + i32.const 4856 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 875 + i32.const 879 i32.const 0 call $~lib/env/abort unreachable end - i32.const 6408 - i32.const 4888 + i32.const 6504 + i32.const 4984 call $~lib/array/Array#join - i32.const 6416 + i32.const 6512 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 876 + i32.const 880 i32.const 0 call $~lib/env/abort unreachable end - i32.const 6584 - i32.const 3624 + i32.const 6680 + i32.const 3720 call $~lib/array/Array#join - i32.const 6504 + i32.const 6600 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 877 + i32.const 881 i32.const 0 call $~lib/env/abort unreachable @@ -19098,15 +19133,15 @@ end set_global $std/array/refArr get_global $std/array/refArr - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join - i32.const 6632 + i32.const 6728 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 879 + i32.const 883 i32.const 0 call $~lib/env/abort unreachable @@ -19115,16 +19150,16 @@ get_global $std/array/reversed0 set_local $3 get_local $3 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join end - i32.const 3624 + i32.const 3720 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 883 + i32.const 887 i32.const 0 call $~lib/env/abort unreachable @@ -19133,16 +19168,16 @@ get_global $std/array/reversed1 set_local $3 get_local $3 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join end - i32.const 6504 + i32.const 6600 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 884 + i32.const 888 i32.const 0 call $~lib/env/abort unreachable @@ -19151,16 +19186,16 @@ get_global $std/array/reversed2 set_local $3 get_local $3 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join end - i32.const 6704 + i32.const 6800 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 885 + i32.const 889 i32.const 0 call $~lib/env/abort unreachable @@ -19169,88 +19204,88 @@ get_global $std/array/reversed4 set_local $3 get_local $3 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join end - i32.const 6720 + i32.const 6816 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 886 + i32.const 890 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6784 + i32.const 6880 set_local $3 get_local $3 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join end - i32.const 6792 + i32.const 6888 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 888 + i32.const 892 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6848 + i32.const 6944 set_local $3 get_local $3 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join end - i32.const 6856 + i32.const 6952 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 889 + i32.const 893 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 7472 + i32.const 7568 set_local $3 get_local $3 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join end - i32.const 7480 + i32.const 7576 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 890 + i32.const 894 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 7672 + i32.const 7768 set_local $3 get_local $3 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join end - i32.const 7680 + i32.const 7776 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 891 + i32.const 895 i32.const 0 call $~lib/env/abort unreachable @@ -19259,34 +19294,34 @@ get_global $std/array/randomStringsExpected set_local $3 get_local $3 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join end - i32.const 7768 + i32.const 7864 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 892 + i32.const 896 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.3 (result i32) - i32.const 7888 + i32.const 7984 set_local $3 get_local $3 - i32.const 3936 + i32.const 4032 call $~lib/array/Array#join end - i32.const 7896 + i32.const 7992 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 893 + i32.const 897 i32.const 0 call $~lib/env/abort unreachable @@ -19295,16 +19330,16 @@ get_global $std/array/subarr32 set_local $3 get_local $3 - i32.const 3936 + i32.const 4032 call $~lib/array/Array>#join end - i32.const 7984 + i32.const 8080 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 896 + i32.const 900 i32.const 0 call $~lib/env/abort unreachable @@ -19313,16 +19348,16 @@ get_global $std/array/subarr8 set_local $3 get_local $3 - i32.const 3936 + i32.const 4032 call $~lib/array/Array>#join end - i32.const 7984 + i32.const 8080 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 899 + i32.const 903 i32.const 0 call $~lib/env/abort unreachable @@ -19331,16 +19366,16 @@ get_global $std/array/subarrU32 set_local $3 get_local $3 - i32.const 3936 + i32.const 4032 call $~lib/array/Array>>#join end - i32.const 6504 + i32.const 6600 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 902 + i32.const 906 i32.const 0 call $~lib/env/abort unreachable From 24418abe2f66a775985667896acd48e75485b74d Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Wed, 28 Nov 2018 17:03:37 +0200 Subject: [PATCH 8/9] finalize --- std/assembly/array.ts | 4 +- tests/compiler/std/array.optimized.wat | 69 ++++++++++++-------------- tests/compiler/std/array.untouched.wat | 30 +++++------ 3 files changed, 49 insertions(+), 54 deletions(-) diff --git a/std/assembly/array.ts b/std/assembly/array.ts index 6ed7bcf0a4..dc77c3e3c5 100644 --- a/std/assembly/array.ts +++ b/std/assembly/array.ts @@ -371,8 +371,8 @@ export class Array { splice(start: i32, deleteCount: i32 = i32.MAX_VALUE): Array { var length = this.length_; - start = start < 0 ? max(length + start, 0) : min(start, length); - deleteCount = deleteCount <= 0 ? 0 : min(deleteCount, length - start); + start = start < 0 ? max(length + start, 0) : min(start, length); + deleteCount = max(min(deleteCount, length - start), 0); var buffer = this.buffer_; var spliced = new Array(deleteCount); var source = changetype(buffer) + HEADER_SIZE + (start << alignof()); diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index 4fc9133dc6..e817bfc674 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -2898,86 +2898,81 @@ (local $5 i32) (local $6 i32) get_local $0 + i32.load + set_local $5 + get_local $2 + get_local $0 i32.load offset=4 - set_local $3 + tee_local $4 get_local $1 i32.const 0 i32.lt_s if (result i32) - get_local $3 + get_local $4 get_local $1 i32.add - tee_local $4 + tee_local $3 i32.const 0 - get_local $4 + get_local $3 i32.const 0 i32.gt_s select else get_local $1 - tee_local $4 - get_local $3 - get_local $1 - get_local $3 - i32.lt_s - select - end - set_local $1 - get_local $2 - i32.const 0 - i32.le_s - if (result i32) - i32.const 0 - else - get_local $2 - tee_local $4 - get_local $3 + tee_local $3 + get_local $4 get_local $1 - i32.sub - tee_local $2 get_local $4 - get_local $2 i32.lt_s select end - set_local $2 - get_local $0 - i32.load - set_local $4 + tee_local $1 + i32.sub + tee_local $3 get_local $2 + get_local $3 + i32.lt_s + select + tee_local $3 + i32.const 0 + get_local $3 + i32.const 0 + i32.gt_s + select + tee_local $2 call $~lib/array/Array#constructor - tee_local $5 + tee_local $6 i32.load i32.const 8 i32.add - get_local $4 + get_local $5 i32.const 8 i32.add get_local $1 i32.const 2 i32.shl i32.add - tee_local $6 + tee_local $3 get_local $2 i32.const 2 i32.shl call $~lib/internal/memory/memmove - get_local $3 + get_local $4 get_local $1 get_local $2 i32.add tee_local $1 i32.ne if - get_local $6 - get_local $4 + get_local $3 + get_local $5 i32.const 8 i32.add get_local $1 i32.const 2 i32.shl i32.add - get_local $3 + get_local $4 get_local $1 i32.sub i32.const 2 @@ -2985,11 +2980,11 @@ call $~lib/internal/memory/memmove end get_local $0 - get_local $3 + get_local $4 get_local $2 i32.sub i32.store offset=4 - get_local $5 + get_local $6 ) (func $~lib/array/Array#splice|trampoline (; 25 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index bfedbcbd0b..84859e2c43 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -3667,22 +3667,22 @@ end set_local $1 get_local $2 + tee_local $4 + get_local $3 + get_local $1 + i32.sub + tee_local $5 + get_local $4 + get_local $5 + i32.lt_s + select + tee_local $4 i32.const 0 - i32.le_s - if (result i32) - i32.const 0 - else - get_local $2 - tee_local $4 - get_local $3 - get_local $1 - i32.sub - tee_local $5 - get_local $4 - get_local $5 - i32.lt_s - select - end + tee_local $5 + get_local $4 + get_local $5 + i32.gt_s + select set_local $2 get_local $0 i32.load From 3a1344294e89045241080e63473339bf256f45ef Mon Sep 17 00:00:00 2001 From: MaxGraey Date: Thu, 29 Nov 2018 15:34:24 +0200 Subject: [PATCH 9/9] Add more tests --- tests/compiler/std/array.optimized.wat | 1041 ++++++++++++------------ tests/compiler/std/array.ts | 4 + tests/compiler/std/array.untouched.wat | 1007 ++++++++++++----------- 3 files changed, 1067 insertions(+), 985 deletions(-) diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index e817bfc674..b54a89765c 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -113,223 +113,228 @@ (data (i32.const 1600) "8\06") (data (i32.const 1608) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") (data (i32.const 1640) "H\06\00\00\05") - (data (i32.const 1648) "\08\00\00\00\00\00\00\00\03\00\00\00\04") - (data (i32.const 1664) "p\06\00\00\02") - (data (i32.const 1672) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\05") - (data (i32.const 1704) "\88\06\00\00\03") + (data (i32.const 1648) "\0c\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 1680) "p\06\00\00\03") + (data (i32.const 1688) "\08\00\00\00\00\00\00\00\01\00\00\00\02") + (data (i32.const 1704) "\98\06\00\00\02") (data (i32.const 1712) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") (data (i32.const 1744) "\b0\06\00\00\05") - (data (i32.const 1752) "\04\00\00\00\00\00\00\00\01") - (data (i32.const 1768) "\d8\06\00\00\01") - (data (i32.const 1776) "\10\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1808) "\f0\06\00\00\04") + (data (i32.const 1752) "\08\00\00\00\00\00\00\00\03\00\00\00\04") + (data (i32.const 1768) "\d8\06\00\00\02") + (data (i32.const 1776) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\05") + (data (i32.const 1808) "\f0\06\00\00\03") (data (i32.const 1816) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") (data (i32.const 1848) "\18\07\00\00\05") - (data (i32.const 1856) "\04\00\00\00\00\00\00\00\05") + (data (i32.const 1856) "\04\00\00\00\00\00\00\00\01") (data (i32.const 1872) "@\07\00\00\01") - (data (i32.const 1880) "\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") + (data (i32.const 1880) "\10\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") (data (i32.const 1912) "X\07\00\00\04") (data (i32.const 1920) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") (data (i32.const 1952) "\80\07\00\00\05") - (data (i32.const 1960) "\08\00\00\00\00\00\00\00\04\00\00\00\05") - (data (i32.const 1976) "\a8\07\00\00\02") - (data (i32.const 1984) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 2016) "\c0\07\00\00\03") + (data (i32.const 1960) "\04\00\00\00\00\00\00\00\05") + (data (i32.const 1976) "\a8\07\00\00\01") + (data (i32.const 1984) "\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") + (data (i32.const 2016) "\c0\07\00\00\04") (data (i32.const 2024) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") (data (i32.const 2056) "\e8\07\00\00\05") - (data (i32.const 2064) "\04\00\00\00\00\00\00\00\04") - (data (i32.const 2080) "\10\08\00\00\01") - (data (i32.const 2088) "\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05") - (data (i32.const 2120) "(\08\00\00\04") + (data (i32.const 2064) "\08\00\00\00\00\00\00\00\04\00\00\00\05") + (data (i32.const 2080) "\10\08\00\00\02") + (data (i32.const 2088) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 2120) "(\08\00\00\03") (data (i32.const 2128) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") (data (i32.const 2160) "P\08\00\00\05") - (data (i32.const 2168) "\04\00\00\00\00\00\00\00\01") + (data (i32.const 2168) "\04\00\00\00\00\00\00\00\04") (data (i32.const 2184) "x\08\00\00\01") - (data (i32.const 2192) "\10\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2192) "\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05") (data (i32.const 2224) "\90\08\00\00\04") (data (i32.const 2232) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") (data (i32.const 2264) "\b8\08\00\00\05") - (data (i32.const 2280) "\e0\08") - (data (i32.const 2288) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2320) "\f0\08\00\00\05") - (data (i32.const 2328) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2360) "\18\t\00\00\05") - (data (i32.const 2376) "@\t") - (data (i32.const 2384) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2416) "P\t\00\00\05") - (data (i32.const 2424) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2456) "x\t\00\00\05") - (data (i32.const 2472) "\a0\t") - (data (i32.const 2480) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2512) "\b0\t\00\00\05") - (data (i32.const 2520) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2552) "\d8\t\00\00\05") - (data (i32.const 2569) "\n") - (data (i32.const 2576) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2608) "\10\n\00\00\05") - (data (i32.const 2616) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2648) "8\n\00\00\05") - (data (i32.const 2664) "`\n") - (data (i32.const 2672) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2704) "p\n\00\00\05") - (data (i32.const 2712) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 2744) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?") - (data (i32.const 2920) " ") - (data (i32.const 2930) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") - (data (i32.const 2984) "h\0b\00\00\08") - (data (i32.const 2992) " ") - (data (i32.const 3002) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") - (data (i32.const 3056) "\b0\0b\00\00\08") - (data (i32.const 3064) "@") - (data (i32.const 3078) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") - (data (i32.const 3118) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") - (data (i32.const 3192) "\f8\0b\00\00\08") - (data (i32.const 3200) "@") - (data (i32.const 3214) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") - (data (i32.const 3246) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") - (data (i32.const 3328) "\80\0c\00\00\08") - (data (i32.const 3336) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") - (data (i32.const 3368) "\08\0d\00\00\05") - (data (i32.const 3376) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") - (data (i32.const 3408) "0\0d\00\00\05") - (data (i32.const 3416) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") - (data (i32.const 3448) "X\0d\00\00\05") - (data (i32.const 3456) "\14") - (data (i32.const 3468) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 3488) "\80\0d\00\00\05") - (data (i32.const 3504) "\a8\0d") - (data (i32.const 3512) "\04\00\00\00\00\00\00\00\01") - (data (i32.const 3528) "\b8\0d\00\00\01") - (data (i32.const 3536) "\08\00\00\00\00\00\00\00\02\00\00\00\01") - (data (i32.const 3552) "\d0\0d\00\00\02") - (data (i32.const 3560) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") - (data (i32.const 3592) "\e8\0d\00\00\04") - (data (i32.const 3600) "\10") - (data (i32.const 3612) "\01\00\00\00\02\00\00\00\03") - (data (i32.const 3632) "\10\0e\00\00\04") - (data (i32.const 3640) "\04\00\00\00\00\00\00\00\01") - (data (i32.const 3656) "8\0e\00\00\01") - (data (i32.const 3664) "\08\00\00\00\00\00\00\00\01\00\00\00\02") - (data (i32.const 3680) "P\0e\00\00\02") - (data (i32.const 3688) "\01\00\00\00a") - (data (i32.const 3696) "\01\00\00\00b") - (data (i32.const 3704) "\02\00\00\00a\00b") - (data (i32.const 3712) "\02\00\00\00b\00a") - (data (i32.const 3728) "\1c\00\00\00\00\00\00\00h\0e\00\00p\0e\00\00h\0e\00\00x\0e\00\00\80\0e\00\00\88\0e") - (data (i32.const 3792) "\90\0e\00\00\07") - (data (i32.const 3800) "\1c\00\00\00\00\00\00\00\88\0e\00\00h\0e\00\00h\0e\00\00x\0e\00\00p\0e\00\00\80\0e") - (data (i32.const 3864) "\d8\0e\00\00\07") - (data (i32.const 3872) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 3904) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 3960) "\04\00\00\00n\00u\00l\00l") - (data (i32.const 3976) "\02\00\00\00\00\00\00\00\01") - (data (i32.const 3992) "\88\0f\00\00\02") - (data (i32.const 4000) "\04\00\00\00t\00r\00u\00e") - (data (i32.const 4016) "\05\00\00\00f\00a\00l\00s\00e") - (data (i32.const 4032) "\01\00\00\00,") - (data (i32.const 4040) "\02\00\00\00\00\00\00\00\01") - (data (i32.const 4056) "\c8\0f\00\00\02") - (data (i32.const 4064) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") - (data (i32.const 4088) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 4120) "\f8\0f\00\00\03") - (data (i32.const 4128) "\01\00\00\000") - (data (i32.const 4136) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 4648) "(\10\00\00d") - (data (i32.const 4656) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 4688) "0\12\00\00\03") - (data (i32.const 4696) "\05\00\00\001\00-\002\00-\003") - (data (i32.const 4712) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 4744) "h\12\00\00\03") - (data (i32.const 4752) "\01\00\00\00-") - (data (i32.const 4760) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 2272) "\04\00\00\00\00\00\00\00\01") + (data (i32.const 2288) "\e0\08\00\00\01") + (data (i32.const 2296) "\10\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2328) "\f8\08\00\00\04") + (data (i32.const 2336) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2368) " \t\00\00\05") + (data (i32.const 2384) "H\t") + (data (i32.const 2392) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2424) "X\t\00\00\05") + (data (i32.const 2432) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2464) "\80\t\00\00\05") + (data (i32.const 2480) "\a8\t") + (data (i32.const 2488) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2520) "\b8\t\00\00\05") + (data (i32.const 2528) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2560) "\e0\t\00\00\05") + (data (i32.const 2576) "\08\n") + (data (i32.const 2584) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2616) "\18\n\00\00\05") + (data (i32.const 2624) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2656) "@\n\00\00\05") + (data (i32.const 2672) "h\n") + (data (i32.const 2680) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2712) "x\n\00\00\05") + (data (i32.const 2720) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2752) "\a0\n\00\00\05") + (data (i32.const 2768) "\c8\n") + (data (i32.const 2776) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data (i32.const 2808) "\d8\n\00\00\05") + (data (i32.const 2816) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") + (data (i32.const 2848) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?") + (data (i32.const 3024) " ") + (data (i32.const 3034) "\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") + (data (i32.const 3088) "\d0\0b\00\00\08") + (data (i32.const 3096) " ") + (data (i32.const 3106) "\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") + (data (i32.const 3160) "\18\0c\00\00\08") + (data (i32.const 3168) "@") + (data (i32.const 3182) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") + (data (i32.const 3222) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") + (data (i32.const 3296) "`\0c\00\00\08") + (data (i32.const 3304) "@") + (data (i32.const 3318) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") + (data (i32.const 3350) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") + (data (i32.const 3432) "\e8\0c\00\00\08") + (data (i32.const 3440) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") + (data (i32.const 3472) "p\0d\00\00\05") + (data (i32.const 3480) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") + (data (i32.const 3512) "\98\0d\00\00\05") + (data (i32.const 3520) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") + (data (i32.const 3552) "\c0\0d\00\00\05") + (data (i32.const 3560) "\14") + (data (i32.const 3572) "\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 3592) "\e8\0d\00\00\05") + (data (i32.const 3608) "\10\0e") + (data (i32.const 3616) "\04\00\00\00\00\00\00\00\01") + (data (i32.const 3632) " \0e\00\00\01") + (data (i32.const 3640) "\08\00\00\00\00\00\00\00\02\00\00\00\01") + (data (i32.const 3656) "8\0e\00\00\02") + (data (i32.const 3664) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") + (data (i32.const 3696) "P\0e\00\00\04") + (data (i32.const 3704) "\10") + (data (i32.const 3716) "\01\00\00\00\02\00\00\00\03") + (data (i32.const 3736) "x\0e\00\00\04") + (data (i32.const 3744) "\04\00\00\00\00\00\00\00\01") + (data (i32.const 3760) "\a0\0e\00\00\01") + (data (i32.const 3768) "\08\00\00\00\00\00\00\00\01\00\00\00\02") + (data (i32.const 3784) "\b8\0e\00\00\02") + (data (i32.const 3792) "\01\00\00\00a") + (data (i32.const 3800) "\01\00\00\00b") + (data (i32.const 3808) "\02\00\00\00a\00b") + (data (i32.const 3816) "\02\00\00\00b\00a") + (data (i32.const 3832) "\1c\00\00\00\00\00\00\00\d0\0e\00\00\d8\0e\00\00\d0\0e\00\00\e0\0e\00\00\e8\0e\00\00\f0\0e") + (data (i32.const 3896) "\f8\0e\00\00\07") + (data (i32.const 3904) "\1c\00\00\00\00\00\00\00\f0\0e\00\00\d0\0e\00\00\d0\0e\00\00\e0\0e\00\00\d8\0e\00\00\e8\0e") + (data (i32.const 3968) "@\0f\00\00\07") + (data (i32.const 3976) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 4008) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data (i32.const 4064) "\04\00\00\00n\00u\00l\00l") + (data (i32.const 4080) "\02\00\00\00\00\00\00\00\01") + (data (i32.const 4096) "\f0\0f\00\00\02") + (data (i32.const 4104) "\04\00\00\00t\00r\00u\00e") + (data (i32.const 4120) "\05\00\00\00f\00a\00l\00s\00e") + (data (i32.const 4136) "\01\00\00\00,") + (data (i32.const 4144) "\02\00\00\00\00\00\00\00\01") + (data (i32.const 4160) "0\10\00\00\02") + (data (i32.const 4168) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") + (data (i32.const 4192) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data (i32.const 4224) "`\10\00\00\03") + (data (i32.const 4232) "\01\00\00\000") + (data (i32.const 4240) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data (i32.const 4752) "\90\10\00\00d") + (data (i32.const 4760) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") (data (i32.const 4792) "\98\12\00\00\03") - (data (i32.const 4800) "\08") - (data (i32.const 4811) "\80\00\00\00\80") - (data (i32.const 4816) "\c0\12\00\00\02") - (data (i32.const 4824) "\02\00\00\00_\00_") - (data (i32.const 4832) "\08") - (data (i32.const 4843) "\80\00\00\00\80") - (data (i32.const 4848) "\e0\12\00\00\02") - (data (i32.const 4856) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 4912) "0") - (data (i32.const 4934) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") - (data (i32.const 4976) "0\13\00\00\06") - (data (i32.const 4984) "\02\00\00\00,\00 ") - (data (i32.const 4992) "\03\00\00\000\00.\000") - (data (i32.const 5008) "\03\00\00\00N\00a\00N") - (data (i32.const 5024) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 5048) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 5072) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#sort|trampoline~anonymous|43 $~lib/array/Array#sort|trampoline~anonymous|44 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|46 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|45 $start~anonymous|49 $~lib/array/Array#sort|trampoline~anonymous|45 $start~anonymous|49 $start~anonymous|52 $start~anonymous|53 $start~anonymous|54 $start~anonymous|54) (global $~lib/allocator/arena/startOffset (mut i32) (i32.const 0)) @@ -362,15 +367,15 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 2984)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 3192)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 3368)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 3448)) - (global $std/array/reversed0 (mut i32) (i32.const 3504)) - (global $std/array/reversed1 (mut i32) (i32.const 3528)) - (global $std/array/reversed2 (mut i32) (i32.const 3552)) - (global $std/array/reversed4 (mut i32) (i32.const 3592)) - (global $std/array/expected4 (mut i32) (i32.const 3632)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 3088)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 3296)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 3472)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 3552)) + (global $std/array/reversed0 (mut i32) (i32.const 3608)) + (global $std/array/reversed1 (mut i32) (i32.const 3632)) + (global $std/array/reversed2 (mut i32) (i32.const 3656)) + (global $std/array/reversed4 (mut i32) (i32.const 3696)) + (global $std/array/expected4 (mut i32) (i32.const 3736)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -380,13 +385,13 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 3792)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 3864)) + (global $std/array/randomStringsActual (mut i32) (i32.const 3896)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 3968)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $std/array/refArr (mut i32) (i32.const 0)) - (global $std/array/subarr32 (mut i32) (i32.const 8072)) - (global $std/array/subarr8 (mut i32) (i32.const 8168)) - (global $std/array/subarrU32 (mut i32) (i32.const 8240)) + (global $std/array/subarr32 (mut i32) (i32.const 8176)) + (global $std/array/subarr8 (mut i32) (i32.const 8272)) + (global $std/array/subarrU32 (mut i32) (i32.const 8344)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -3815,7 +3820,7 @@ i64.eqz if i32.const 0 - i32.const 2712 + i32.const 2816 i32.const 959 i32.const 4 call $~lib/env/abort @@ -4335,7 +4340,7 @@ get_local $0 i32.load offset=4 tee_local $5 - i32.const 3060 + i32.const 3164 i32.load i32.ne if @@ -4343,7 +4348,7 @@ return end get_local $0 - i32.const 3056 + i32.const 3160 i32.eq if i32.const 1 @@ -4380,7 +4385,7 @@ f32.ne set_local $4 get_local $1 - i32.const 3056 + i32.const 3160 i32.load tee_local $2 i32.load @@ -4425,7 +4430,7 @@ end set_local $3 get_local $1 - i32.const 3056 + i32.const 3160 i32.load tee_local $2 i32.load @@ -4921,7 +4926,7 @@ get_local $0 i32.load offset=4 tee_local $5 - i32.const 3332 + i32.const 3436 i32.load i32.ne if @@ -4929,7 +4934,7 @@ return end get_local $0 - i32.const 3328 + i32.const 3432 i32.eq if i32.const 1 @@ -4966,7 +4971,7 @@ f64.ne set_local $4 get_local $1 - i32.const 3328 + i32.const 3432 i32.load tee_local $2 i32.load @@ -5011,7 +5016,7 @@ end set_local $3 get_local $1 - i32.const 3328 + i32.const 3432 i32.load tee_local $2 i32.load @@ -5524,7 +5529,7 @@ i32.eqz if i32.const 0 - i32.const 2712 + i32.const 2816 i32.const 968 i32.const 24 call $~lib/env/abort @@ -5689,7 +5694,7 @@ if i32.const 0 i32.const 104 - i32.const 777 + i32.const 781 i32.const 2 call $~lib/env/abort unreachable @@ -5871,7 +5876,7 @@ if i32.const 0 i32.const 104 - i32.const 777 + i32.const 781 i32.const 2 call $~lib/env/abort unreachable @@ -6218,7 +6223,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 14 i32.const 2 call $~lib/env/abort @@ -6238,11 +6243,11 @@ (func $~lib/string/String#charAt (; 104 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) get_local $0 - i32.const 2744 + i32.const 2848 i32.load i32.ge_u if - i32.const 3720 + i32.const 3824 return end i32.const 1 @@ -6251,7 +6256,7 @@ get_local $0 i32.const 1 i32.shl - i32.const 2744 + i32.const 2848 i32.add i32.load16_u offset=4 i32.store16 offset=4 @@ -6285,7 +6290,7 @@ i32.eqz if i32.const 0 - i32.const 3872 + i32.const 3976 i32.const 110 i32.const 4 call $~lib/env/abort @@ -6294,7 +6299,7 @@ get_local $1 i32.eqz if - i32.const 3960 + i32.const 4064 set_local $1 end get_local $0 @@ -6307,7 +6312,7 @@ tee_local $2 i32.eqz if - i32.const 3720 + i32.const 3824 return end get_local $2 @@ -6330,7 +6335,7 @@ get_local $0 i32.eqz if - i32.const 3960 + i32.const 4064 set_local $0 end get_local $0 @@ -6340,7 +6345,7 @@ (func $std/array/createRandomString (; 108 ;) (type $ii) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - i32.const 3720 + i32.const 3824 set_local $1 block $break|0 loop $repeat|0 @@ -6350,7 +6355,7 @@ br_if $break|0 get_local $1 call $~lib/math/NativeMath.random - i32.const 2744 + i32.const 2848 i32.load f64.convert_s/i32 f64.mul @@ -6410,7 +6415,7 @@ i32.eqz if i32.const 0 - i32.const 3872 + i32.const 3976 i32.const 269 i32.const 4 call $~lib/env/abort @@ -6456,7 +6461,7 @@ tee_local $3 i32.eqz if - i32.const 3720 + i32.const 3824 return end get_local $4 @@ -6495,7 +6500,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) - i32.const 4060 + i32.const 4164 i32.load i32.const 1 i32.sub @@ -6503,13 +6508,13 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 4056 + i32.const 4160 i32.load set_local $5 - i32.const 4032 + i32.const 4136 i32.load tee_local $6 i32.const 0 @@ -6518,8 +6523,8 @@ get_local $4 i32.eqz if - i32.const 4000 - i32.const 4016 + i32.const 4104 + i32.const 4120 get_local $5 i32.load8_u offset=8 select @@ -6553,8 +6558,8 @@ set_local $3 get_local $2 get_local $0 - i32.const 4000 - i32.const 4016 + i32.const 4104 + i32.const 4120 get_local $9 select i32.const 0 @@ -6568,7 +6573,7 @@ if get_local $2 get_local $0 - i32.const 4032 + i32.const 4136 i32.const 0 get_local $6 call $~lib/internal/string/copyUnsafe @@ -6597,8 +6602,8 @@ set_local $3 get_local $2 get_local $0 - i32.const 4000 - i32.const 4016 + i32.const 4104 + i32.const 4120 get_local $1 select i32.const 0 @@ -6621,7 +6626,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6687,7 +6692,7 @@ (func $~lib/internal/number/utoa32_lut (; 113 ;) (type $iiiv) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - i32.const 4648 + i32.const 4752 i32.load set_local $3 loop $continue|0 @@ -6801,7 +6806,7 @@ get_local $0 i32.eqz if - i32.const 4128 + i32.const 4232 return end get_local $0 @@ -6890,7 +6895,7 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end get_local $0 @@ -6982,7 +6987,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -6997,7 +7002,7 @@ get_local $0 i32.eqz if - i32.const 4128 + i32.const 4232 return end get_local $0 @@ -7051,7 +7056,7 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end get_local $0 @@ -7143,7 +7148,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -7187,7 +7192,7 @@ tee_local $7 call $~lib/internal/number/decimalCount32 set_local $9 - i32.const 6432 + i32.const 6536 i32.load set_local $12 loop $continue|0 @@ -7952,10 +7957,10 @@ i32.shl i32.sub set_global $~lib/internal/number/_K - i32.const 6360 + i32.const 6464 i32.load set_local $4 - i32.const 6096 + i32.const 6200 i32.load get_local $5 i32.const 3 @@ -8161,7 +8166,7 @@ f64.const 0 f64.eq if - i32.const 4992 + i32.const 5096 return end get_local $0 @@ -8174,11 +8179,11 @@ get_local $0 f64.ne if - i32.const 5008 + i32.const 5112 return end - i32.const 5024 - i32.const 5048 + i32.const 5128 + i32.const 5152 get_local $0 f64.const 0 f64.lt @@ -8199,7 +8204,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8256,8 +8261,8 @@ i32.const 4 i32.add tee_local $1 - i32.const 5024 - i32.const 5048 + i32.const 5128 + i32.const 5152 get_local $2 f64.const 0 f64.lt @@ -8290,7 +8295,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6508 + i32.const 6612 i32.load i32.const 1 i32.sub @@ -8298,13 +8303,13 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 6504 + i32.const 6608 i32.load set_local $4 - i32.const 4984 + i32.const 5088 i32.load tee_local $5 i32.const 0 @@ -8349,7 +8354,7 @@ if get_local $2 get_local $0 - i32.const 4984 + i32.const 5088 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8389,7 +8394,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8414,7 +8419,7 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end get_local $0 @@ -8558,13 +8563,13 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end get_local $0 i32.load set_local $5 - i32.const 4032 + i32.const 4136 i32.load tee_local $4 i32.const 0 @@ -8573,7 +8578,7 @@ get_local $3 i32.eqz if - i32.const 6688 + i32.const 6792 return end get_local $4 @@ -8600,7 +8605,7 @@ if get_local $0 get_local $1 - i32.const 6688 + i32.const 6792 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -8613,7 +8618,7 @@ if get_local $0 get_local $1 - i32.const 4032 + i32.const 4136 i32.const 0 get_local $4 call $~lib/internal/string/copyUnsafe @@ -8638,7 +8643,7 @@ if get_local $0 get_local $1 - i32.const 6688 + i32.const 6792 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -8661,7 +8666,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8734,7 +8739,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6884 + i32.const 6988 i32.load i32.const 1 i32.sub @@ -8742,13 +8747,13 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 6880 + i32.const 6984 i32.load set_local $4 - i32.const 4032 + i32.const 4136 i32.load tee_local $5 i32.const 0 @@ -8791,7 +8796,7 @@ if get_local $2 get_local $0 - i32.const 4032 + i32.const 4136 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8829,7 +8834,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -8877,7 +8882,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 6948 + i32.const 7052 i32.load i32.const 1 i32.sub @@ -8885,13 +8890,13 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 6944 + i32.const 7048 i32.load set_local $4 - i32.const 4032 + i32.const 4136 i32.load tee_local $5 i32.const 0 @@ -8936,7 +8941,7 @@ if get_local $2 get_local $0 - i32.const 4032 + i32.const 4136 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -8976,7 +8981,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9044,7 +9049,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 7528 + i32.const 7632 i32.load set_local $3 loop $continue|0 @@ -9143,7 +9148,7 @@ get_local $0 i64.eqz if - i32.const 4128 + i32.const 4232 return end get_local $0 @@ -9221,7 +9226,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 7572 + i32.const 7676 i32.load i32.const 1 i32.sub @@ -9229,13 +9234,13 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 7568 + i32.const 7672 i32.load set_local $4 - i32.const 4032 + i32.const 4136 i32.load tee_local $5 i32.const 0 @@ -9280,7 +9285,7 @@ if get_local $2 get_local $0 - i32.const 4032 + i32.const 4136 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -9320,7 +9325,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9337,7 +9342,7 @@ get_local $0 i64.eqz if - i32.const 4128 + i32.const 4232 return end get_local $0 @@ -9456,7 +9461,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - i32.const 7772 + i32.const 7876 i32.load i32.const 1 i32.sub @@ -9464,13 +9469,13 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 7768 + i32.const 7872 i32.load set_local $4 - i32.const 4032 + i32.const 4136 i32.load tee_local $5 i32.const 0 @@ -9515,7 +9520,7 @@ if get_local $2 get_local $0 - i32.const 4032 + i32.const 4136 i32.const 0 get_local $5 call $~lib/internal/string/copyUnsafe @@ -9555,7 +9560,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9578,15 +9583,15 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $1 get_local $0 i32.load set_local $4 - i32.const 4032 + i32.const 4136 i32.load i32.const 0 i32.ne @@ -9599,10 +9604,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join else - i32.const 3720 + i32.const 3824 end tee_local $0 return @@ -9625,7 +9630,7 @@ if get_local $1 get_local $2 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9633,7 +9638,7 @@ get_local $5 if get_local $1 - i32.const 4032 + i32.const 4136 call $~lib/string/String.__concat set_local $1 end @@ -9656,7 +9661,7 @@ if get_local $1 get_local $2 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9709,7 +9714,7 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end get_local $0 @@ -9797,7 +9802,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -9820,15 +9825,15 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $1 get_local $0 i32.load set_local $4 - i32.const 4032 + i32.const 4136 i32.load i32.const 0 i32.ne @@ -9841,10 +9846,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join else - i32.const 3720 + i32.const 3824 end tee_local $0 return @@ -9867,7 +9872,7 @@ if get_local $1 get_local $2 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9875,7 +9880,7 @@ get_local $5 if get_local $1 - i32.const 4032 + i32.const 4136 call $~lib/string/String.__concat set_local $1 end @@ -9898,7 +9903,7 @@ if get_local $1 get_local $2 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join call $~lib/string/String.__concat set_local $1 @@ -9919,10 +9924,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $2 get_local $0 i32.load @@ -9943,7 +9948,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3720 + i32.const 3824 end tee_local $0 return @@ -10018,15 +10023,15 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $1 get_local $0 i32.load set_local $4 - i32.const 4032 + i32.const 4136 i32.load i32.const 0 i32.ne @@ -10039,10 +10044,10 @@ tee_local $2 if (result i32) get_local $2 - i32.const 4032 + i32.const 4136 call $~lib/array/Array>#join else - i32.const 3720 + i32.const 3824 end tee_local $0 return @@ -10065,7 +10070,7 @@ if get_local $1 get_local $2 - i32.const 4032 + i32.const 4136 call $~lib/array/Array>#join call $~lib/string/String.__concat set_local $1 @@ -10073,7 +10078,7 @@ get_local $5 if get_local $1 - i32.const 4032 + i32.const 4136 call $~lib/string/String.__concat set_local $1 end @@ -10096,7 +10101,7 @@ if get_local $1 get_local $2 - i32.const 4032 + i32.const 4136 call $~lib/array/Array>#join call $~lib/string/String.__concat set_local $1 @@ -10107,7 +10112,7 @@ (local $0 i32) (local $1 i32) (local $2 f32) - i32.const 8248 + i32.const 8352 set_global $~lib/allocator/arena/startOffset get_global $~lib/allocator/arena/startOffset set_global $~lib/allocator/arena/offset @@ -12506,11 +12511,12 @@ end i32.const 1640 set_global $std/array/sarr + i32.const 1 + set_global $~argc get_global $std/array/sarr i32.const 2 - i32.const 2 - call $~lib/array/Array#splice - i32.const 1664 + call $~lib/array/Array#splice|trampoline + i32.const 1680 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12538,8 +12544,8 @@ i32.const 1744 set_global $std/array/sarr get_global $std/array/sarr - i32.const 0 - i32.const 1 + i32.const 2 + i32.const 2 call $~lib/array/Array#splice i32.const 1768 i32.const 0 @@ -12568,11 +12574,10 @@ end i32.const 1848 set_global $std/array/sarr - i32.const 1 - set_global $~argc get_global $std/array/sarr - i32.const -1 - call $~lib/array/Array#splice|trampoline + i32.const 0 + i32.const 1 + call $~lib/array/Array#splice i32.const 1872 i32.const 0 call $std/array/isArraysEqual @@ -12603,7 +12608,7 @@ i32.const 1 set_global $~argc get_global $std/array/sarr - i32.const -2 + i32.const -1 call $~lib/array/Array#splice|trampoline i32.const 1976 i32.const 0 @@ -12632,10 +12637,11 @@ end i32.const 2056 set_global $std/array/sarr + i32.const 1 + set_global $~argc get_global $std/array/sarr i32.const -2 - i32.const 1 - call $~lib/array/Array#splice + call $~lib/array/Array#splice|trampoline i32.const 2080 i32.const 0 call $std/array/isArraysEqual @@ -12664,7 +12670,7 @@ i32.const 2160 set_global $std/array/sarr get_global $std/array/sarr - i32.const -7 + i32.const -2 i32.const 1 call $~lib/array/Array#splice i32.const 2184 @@ -12695,10 +12701,10 @@ i32.const 2264 set_global $std/array/sarr get_global $std/array/sarr - i32.const -2 - i32.const -1 + i32.const -7 + i32.const 1 call $~lib/array/Array#splice - i32.const 2280 + i32.const 2288 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12711,7 +12717,7 @@ unreachable end get_global $std/array/sarr - i32.const 2320 + i32.const 2328 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12723,13 +12729,13 @@ call $~lib/env/abort unreachable end - i32.const 2360 + i32.const 2368 set_global $std/array/sarr get_global $std/array/sarr - i32.const 1 i32.const -2 + i32.const -1 call $~lib/array/Array#splice - i32.const 2376 + i32.const 2384 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12742,7 +12748,7 @@ unreachable end get_global $std/array/sarr - i32.const 2416 + i32.const 2424 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12754,13 +12760,13 @@ call $~lib/env/abort unreachable end - i32.const 2456 + i32.const 2464 set_global $std/array/sarr get_global $std/array/sarr - i32.const 4 - i32.const 0 + i32.const 1 + i32.const -2 call $~lib/array/Array#splice - i32.const 2472 + i32.const 2480 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12773,7 +12779,7 @@ unreachable end get_global $std/array/sarr - i32.const 2512 + i32.const 2520 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12785,13 +12791,13 @@ call $~lib/env/abort unreachable end - i32.const 2552 + i32.const 2560 set_global $std/array/sarr get_global $std/array/sarr - i32.const 7 + i32.const 4 i32.const 0 call $~lib/array/Array#splice - i32.const 2568 + i32.const 2576 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12804,7 +12810,7 @@ unreachable end get_global $std/array/sarr - i32.const 2608 + i32.const 2616 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12816,13 +12822,13 @@ call $~lib/env/abort unreachable end - i32.const 2648 + i32.const 2656 set_global $std/array/sarr get_global $std/array/sarr i32.const 7 - i32.const 5 + i32.const 0 call $~lib/array/Array#splice - i32.const 2664 + i32.const 2672 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12835,7 +12841,7 @@ unreachable end get_global $std/array/sarr - i32.const 2704 + i32.const 2712 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12847,6 +12853,37 @@ call $~lib/env/abort unreachable end + i32.const 2752 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const 7 + i32.const 5 + call $~lib/array/Array#splice + i32.const 2768 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 384 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2808 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 385 + i32.const 0 + call $~lib/env/abort + unreachable + end get_global $std/array/arr i32.const 0 i32.const 0 @@ -12871,7 +12908,7 @@ if i32.const 0 i32.const 104 - i32.const 391 + i32.const 395 i32.const 0 call $~lib/env/abort unreachable @@ -12886,7 +12923,7 @@ if i32.const 0 i32.const 104 - i32.const 394 + i32.const 398 i32.const 0 call $~lib/env/abort unreachable @@ -12901,7 +12938,7 @@ if i32.const 0 i32.const 104 - i32.const 397 + i32.const 401 i32.const 0 call $~lib/env/abort unreachable @@ -12916,7 +12953,7 @@ if i32.const 0 i32.const 104 - i32.const 405 + i32.const 409 i32.const 0 call $~lib/env/abort unreachable @@ -12928,7 +12965,7 @@ if i32.const 0 i32.const 104 - i32.const 406 + i32.const 410 i32.const 0 call $~lib/env/abort unreachable @@ -12943,7 +12980,7 @@ if i32.const 0 i32.const 104 - i32.const 408 + i32.const 412 i32.const 0 call $~lib/env/abort unreachable @@ -12970,7 +13007,7 @@ if i32.const 0 i32.const 104 - i32.const 421 + i32.const 425 i32.const 0 call $~lib/env/abort unreachable @@ -12982,7 +13019,7 @@ if i32.const 0 i32.const 104 - i32.const 422 + i32.const 426 i32.const 0 call $~lib/env/abort unreachable @@ -13005,7 +13042,7 @@ if i32.const 0 i32.const 104 - i32.const 430 + i32.const 434 i32.const 0 call $~lib/env/abort unreachable @@ -13018,7 +13055,7 @@ if i32.const 0 i32.const 104 - i32.const 433 + i32.const 437 i32.const 0 call $~lib/env/abort unreachable @@ -13033,7 +13070,7 @@ if i32.const 0 i32.const 104 - i32.const 441 + i32.const 445 i32.const 0 call $~lib/env/abort unreachable @@ -13045,7 +13082,7 @@ if i32.const 0 i32.const 104 - i32.const 442 + i32.const 446 i32.const 0 call $~lib/env/abort unreachable @@ -13058,7 +13095,7 @@ if i32.const 0 i32.const 104 - i32.const 444 + i32.const 448 i32.const 0 call $~lib/env/abort unreachable @@ -13085,7 +13122,7 @@ if i32.const 0 i32.const 104 - i32.const 457 + i32.const 461 i32.const 0 call $~lib/env/abort unreachable @@ -13097,7 +13134,7 @@ if i32.const 0 i32.const 104 - i32.const 458 + i32.const 462 i32.const 0 call $~lib/env/abort unreachable @@ -13120,7 +13157,7 @@ if i32.const 0 i32.const 104 - i32.const 466 + i32.const 470 i32.const 0 call $~lib/env/abort unreachable @@ -13133,7 +13170,7 @@ if i32.const 0 i32.const 104 - i32.const 469 + i32.const 473 i32.const 0 call $~lib/env/abort unreachable @@ -13146,7 +13183,7 @@ if i32.const 0 i32.const 104 - i32.const 477 + i32.const 481 i32.const 0 call $~lib/env/abort unreachable @@ -13158,7 +13195,7 @@ if i32.const 0 i32.const 104 - i32.const 478 + i32.const 482 i32.const 0 call $~lib/env/abort unreachable @@ -13173,7 +13210,7 @@ if i32.const 0 i32.const 104 - i32.const 480 + i32.const 484 i32.const 0 call $~lib/env/abort unreachable @@ -13198,7 +13235,7 @@ if i32.const 0 i32.const 104 - i32.const 493 + i32.const 497 i32.const 0 call $~lib/env/abort unreachable @@ -13210,7 +13247,7 @@ if i32.const 0 i32.const 104 - i32.const 494 + i32.const 498 i32.const 0 call $~lib/env/abort unreachable @@ -13234,7 +13271,7 @@ if i32.const 0 i32.const 104 - i32.const 503 + i32.const 507 i32.const 0 call $~lib/env/abort unreachable @@ -13250,7 +13287,7 @@ if i32.const 0 i32.const 104 - i32.const 512 + i32.const 516 i32.const 0 call $~lib/env/abort unreachable @@ -13262,7 +13299,7 @@ if i32.const 0 i32.const 104 - i32.const 513 + i32.const 517 i32.const 0 call $~lib/env/abort unreachable @@ -13278,7 +13315,7 @@ if i32.const 0 i32.const 104 - i32.const 516 + i32.const 520 i32.const 0 call $~lib/env/abort unreachable @@ -13306,7 +13343,7 @@ if i32.const 0 i32.const 104 - i32.const 530 + i32.const 534 i32.const 0 call $~lib/env/abort unreachable @@ -13318,7 +13355,7 @@ if i32.const 0 i32.const 104 - i32.const 531 + i32.const 535 i32.const 0 call $~lib/env/abort unreachable @@ -13341,7 +13378,7 @@ if i32.const 0 i32.const 104 - i32.const 540 + i32.const 544 i32.const 0 call $~lib/env/abort unreachable @@ -13383,7 +13420,7 @@ if i32.const 0 i32.const 104 - i32.const 541 + i32.const 545 i32.const 0 call $~lib/env/abort unreachable @@ -13400,7 +13437,7 @@ if i32.const 0 i32.const 104 - i32.const 550 + i32.const 554 i32.const 0 call $~lib/env/abort unreachable @@ -13412,7 +13449,7 @@ if i32.const 0 i32.const 104 - i32.const 551 + i32.const 555 i32.const 0 call $~lib/env/abort unreachable @@ -13429,7 +13466,7 @@ if i32.const 0 i32.const 104 - i32.const 558 + i32.const 562 i32.const 0 call $~lib/env/abort unreachable @@ -13458,7 +13495,7 @@ if i32.const 0 i32.const 104 - i32.const 573 + i32.const 577 i32.const 0 call $~lib/env/abort unreachable @@ -13470,7 +13507,7 @@ if i32.const 0 i32.const 104 - i32.const 574 + i32.const 578 i32.const 0 call $~lib/env/abort unreachable @@ -13494,7 +13531,7 @@ if i32.const 0 i32.const 104 - i32.const 582 + i32.const 586 i32.const 0 call $~lib/env/abort unreachable @@ -13511,7 +13548,7 @@ if i32.const 0 i32.const 104 - i32.const 591 + i32.const 595 i32.const 0 call $~lib/env/abort unreachable @@ -13523,7 +13560,7 @@ if i32.const 0 i32.const 104 - i32.const 592 + i32.const 596 i32.const 0 call $~lib/env/abort unreachable @@ -13540,7 +13577,7 @@ if i32.const 0 i32.const 104 - i32.const 599 + i32.const 603 i32.const 0 call $~lib/env/abort unreachable @@ -13569,7 +13606,7 @@ if i32.const 0 i32.const 104 - i32.const 614 + i32.const 618 i32.const 0 call $~lib/env/abort unreachable @@ -13581,7 +13618,7 @@ if i32.const 0 i32.const 104 - i32.const 615 + i32.const 619 i32.const 0 call $~lib/env/abort unreachable @@ -13605,7 +13642,7 @@ if i32.const 0 i32.const 104 - i32.const 623 + i32.const 627 i32.const 0 call $~lib/env/abort unreachable @@ -13621,7 +13658,7 @@ if i32.const 0 i32.const 104 - i32.const 627 + i32.const 631 i32.const 0 call $~lib/env/abort unreachable @@ -13639,7 +13676,7 @@ if i32.const 0 i32.const 104 - i32.const 630 + i32.const 634 i32.const 0 call $~lib/env/abort unreachable @@ -13655,7 +13692,7 @@ if i32.const 0 i32.const 104 - i32.const 633 + i32.const 637 i32.const 0 call $~lib/env/abort unreachable @@ -13671,7 +13708,7 @@ if i32.const 0 i32.const 104 - i32.const 641 + i32.const 645 i32.const 0 call $~lib/env/abort unreachable @@ -13683,7 +13720,7 @@ if i32.const 0 i32.const 104 - i32.const 642 + i32.const 646 i32.const 0 call $~lib/env/abort unreachable @@ -13699,7 +13736,7 @@ if i32.const 0 i32.const 104 - i32.const 644 + i32.const 648 i32.const 0 call $~lib/env/abort unreachable @@ -13727,7 +13764,7 @@ if i32.const 0 i32.const 104 - i32.const 657 + i32.const 661 i32.const 0 call $~lib/env/abort unreachable @@ -13739,7 +13776,7 @@ if i32.const 0 i32.const 104 - i32.const 658 + i32.const 662 i32.const 0 call $~lib/env/abort unreachable @@ -13763,7 +13800,7 @@ if i32.const 0 i32.const 104 - i32.const 666 + i32.const 670 i32.const 0 call $~lib/env/abort unreachable @@ -13779,7 +13816,7 @@ if i32.const 0 i32.const 104 - i32.const 670 + i32.const 674 i32.const 0 call $~lib/env/abort unreachable @@ -13797,7 +13834,7 @@ if i32.const 0 i32.const 104 - i32.const 673 + i32.const 677 i32.const 0 call $~lib/env/abort unreachable @@ -13813,7 +13850,7 @@ if i32.const 0 i32.const 104 - i32.const 676 + i32.const 680 i32.const 0 call $~lib/env/abort unreachable @@ -13829,7 +13866,7 @@ if i32.const 0 i32.const 104 - i32.const 684 + i32.const 688 i32.const 0 call $~lib/env/abort unreachable @@ -13841,7 +13878,7 @@ if i32.const 0 i32.const 104 - i32.const 685 + i32.const 689 i32.const 0 call $~lib/env/abort unreachable @@ -13857,7 +13894,7 @@ if i32.const 0 i32.const 104 - i32.const 687 + i32.const 691 i32.const 0 call $~lib/env/abort unreachable @@ -13885,7 +13922,7 @@ if i32.const 0 i32.const 104 - i32.const 700 + i32.const 704 i32.const 0 call $~lib/env/abort unreachable @@ -13895,7 +13932,7 @@ if i32.const 0 i32.const 104 - i32.const 701 + i32.const 705 i32.const 0 call $~lib/env/abort unreachable @@ -13946,7 +13983,7 @@ if i32.const 0 i32.const 104 - i32.const 788 + i32.const 792 i32.const 0 call $~lib/env/abort unreachable @@ -13978,7 +14015,7 @@ if i32.const 0 i32.const 104 - i32.const 792 + i32.const 796 i32.const 0 call $~lib/env/abort unreachable @@ -14005,14 +14042,14 @@ call $~lib/array/Array#sort drop get_global $std/array/i32ArrayTyped - i32.const 3408 + i32.const 3512 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 796 + i32.const 800 i32.const 0 call $~lib/env/abort unreachable @@ -14039,14 +14076,14 @@ call $~lib/array/Array#sort drop get_global $std/array/u32ArrayTyped - i32.const 3488 + i32.const 3592 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 800 + i32.const 804 i32.const 0 call $~lib/env/abort unreachable @@ -14071,14 +14108,14 @@ get_global $std/array/reversed1 call $std/array/assertSortedDefault get_global $std/array/reversed1 - i32.const 3656 + i32.const 3760 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 820 + i32.const 824 i32.const 0 call $~lib/env/abort unreachable @@ -14086,14 +14123,14 @@ get_global $std/array/reversed2 call $std/array/assertSortedDefault get_global $std/array/reversed2 - i32.const 3680 + i32.const 3784 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 823 + i32.const 827 i32.const 0 call $~lib/env/abort unreachable @@ -14108,7 +14145,7 @@ if i32.const 0 i32.const 104 - i32.const 826 + i32.const 830 i32.const 0 call $~lib/env/abort unreachable @@ -14123,7 +14160,7 @@ if i32.const 0 i32.const 104 - i32.const 829 + i32.const 833 i32.const 0 call $~lib/env/abort unreachable @@ -14138,7 +14175,7 @@ if i32.const 0 i32.const 104 - i32.const 832 + i32.const 836 i32.const 0 call $~lib/env/abort unreachable @@ -14153,7 +14190,7 @@ if i32.const 0 i32.const 104 - i32.const 835 + i32.const 839 i32.const 0 call $~lib/env/abort unreachable @@ -14168,7 +14205,7 @@ if i32.const 0 i32.const 104 - i32.const 838 + i32.const 842 i32.const 0 call $~lib/env/abort unreachable @@ -14213,7 +14250,7 @@ if i32.const 0 i32.const 104 - i32.const 867 + i32.const 871 i32.const 0 call $~lib/env/abort unreachable @@ -14224,81 +14261,81 @@ i32.const 55 call $std/array/assertSorted> call $~lib/array/Array#join - i32.const 4064 + i32.const 4168 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 876 + i32.const 880 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4688 - i32.const 3720 + i32.const 4792 + i32.const 3824 call $~lib/array/Array#join - i32.const 4696 + i32.const 4800 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 877 + i32.const 881 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4792 - i32.const 4752 + i32.const 4896 + i32.const 4856 call $~lib/array/Array#join - i32.const 4696 + i32.const 4800 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 878 + i32.const 882 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4848 - i32.const 4824 + i32.const 4952 + i32.const 4928 call $~lib/array/Array#join - i32.const 4856 + i32.const 4960 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 879 + i32.const 883 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6512 + i32.const 6616 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 880 + i32.const 884 i32.const 0 call $~lib/env/abort unreachable end - i32.const 6680 - i32.const 3720 + i32.const 6784 + i32.const 3824 call $~lib/array/Array#join - i32.const 6600 + i32.const 6704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 881 + i32.const 885 i32.const 0 call $~lib/env/abort unreachable @@ -14332,184 +14369,184 @@ set_global $std/array/refArr get_global $std/array/refArr call $~lib/array/Array#join - i32.const 6728 + i32.const 6832 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 883 + i32.const 887 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed0 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join - i32.const 3720 + i32.const 3824 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 887 + i32.const 891 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed1 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join - i32.const 6600 + i32.const 6704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 888 + i32.const 892 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed2 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join - i32.const 6800 + i32.const 6904 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 889 + i32.const 893 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/reversed4 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join - i32.const 6816 + i32.const 6920 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 890 + i32.const 894 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6888 + i32.const 6992 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 892 + i32.const 896 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 6952 + i32.const 7056 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 893 + i32.const 897 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 7576 + i32.const 7680 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 894 + i32.const 898 i32.const 0 call $~lib/env/abort unreachable end call $~lib/array/Array#join - i32.const 7776 + i32.const 7880 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 895 + i32.const 899 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/randomStringsExpected - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join - i32.const 7864 + i32.const 7968 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 896 + i32.const 900 i32.const 0 call $~lib/env/abort unreachable end - i32.const 7984 - i32.const 4032 + i32.const 8088 + i32.const 4136 call $~lib/array/Array#join - i32.const 7992 + i32.const 8096 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 897 + i32.const 901 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarr32 call $~lib/array/Array>#join - i32.const 8080 + i32.const 8184 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 900 + i32.const 904 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarr8 call $~lib/array/Array>#join - i32.const 8080 + i32.const 8184 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 903 + i32.const 907 i32.const 0 call $~lib/env/abort unreachable end get_global $std/array/subarrU32 call $~lib/array/Array>>#join - i32.const 6600 + i32.const 6704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 906 + i32.const 910 i32.const 0 call $~lib/env/abort unreachable diff --git a/tests/compiler/std/array.ts b/tests/compiler/std/array.ts index 6e64c2c000..d28aeb299d 100644 --- a/tests/compiler/std/array.ts +++ b/tests/compiler/std/array.ts @@ -336,6 +336,10 @@ var sarr: i32[] = [1, 2, 3, 4, 5]; assert(isArraysEqual(sarr.splice(0), [1, 2, 3, 4, 5])); assert(isArraysEqual(sarr, [])); +sarr = [1, 2, 3, 4, 5]; +assert(isArraysEqual(sarr.splice(2), [3, 4, 5])); +assert(isArraysEqual(sarr, [1, 2])); + sarr = [1, 2, 3, 4, 5]; assert(isArraysEqual(sarr.splice(2, 2), [3, 4])); assert(isArraysEqual(sarr, [1, 2, 5])); diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index 84859e2c43..980bc0b450 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -116,215 +116,221 @@ (data (i32.const 1600) "8\06\00\00\00\00\00\00") (data (i32.const 1608) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") (data (i32.const 1640) "H\06\00\00\05\00\00\00") - (data (i32.const 1648) "\08\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00") - (data (i32.const 1664) "p\06\00\00\02\00\00\00") - (data (i32.const 1672) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1704) "\88\06\00\00\03\00\00\00") + (data (i32.const 1648) "\0c\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1680) "p\06\00\00\03\00\00\00") + (data (i32.const 1688) "\08\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 1704) "\98\06\00\00\02\00\00\00") (data (i32.const 1712) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") (data (i32.const 1744) "\b0\06\00\00\05\00\00\00") - (data (i32.const 1752) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 1768) "\d8\06\00\00\01\00\00\00") - (data (i32.const 1776) "\10\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1808) "\f0\06\00\00\04\00\00\00") + (data (i32.const 1752) "\08\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00") + (data (i32.const 1768) "\d8\06\00\00\02\00\00\00") + (data (i32.const 1776) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1808) "\f0\06\00\00\03\00\00\00") (data (i32.const 1816) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") (data (i32.const 1848) "\18\07\00\00\05\00\00\00") - (data (i32.const 1856) "\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 1856) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") (data (i32.const 1872) "@\07\00\00\01\00\00\00") - (data (i32.const 1880) "\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 1880) "\10\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 1912) "X\07\00\00\04\00\00\00") (data (i32.const 1920) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") (data (i32.const 1952) "\80\07\00\00\05\00\00\00") - (data (i32.const 1960) "\08\00\00\00\00\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 1976) "\a8\07\00\00\02\00\00\00") - (data (i32.const 1984) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2016) "\c0\07\00\00\03\00\00\00") + (data (i32.const 1960) "\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 1976) "\a8\07\00\00\01\00\00\00") + (data (i32.const 1984) "\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2016) "\c0\07\00\00\04\00\00\00") (data (i32.const 2024) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") (data (i32.const 2056) "\e8\07\00\00\05\00\00\00") - (data (i32.const 2064) "\04\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00") - (data (i32.const 2080) "\10\08\00\00\01\00\00\00") - (data (i32.const 2088) "\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2120) "(\08\00\00\04\00\00\00") + (data (i32.const 2064) "\08\00\00\00\00\00\00\00\04\00\00\00\05\00\00\00") + (data (i32.const 2080) "\10\08\00\00\02\00\00\00") + (data (i32.const 2088) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2120) "(\08\00\00\03\00\00\00") (data (i32.const 2128) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") (data (i32.const 2160) "P\08\00\00\05\00\00\00") - (data (i32.const 2168) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 2168) "\04\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00") (data (i32.const 2184) "x\08\00\00\01\00\00\00") - (data (i32.const 2192) "\10\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2192) "\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 2224) "\90\08\00\00\04\00\00\00") (data (i32.const 2232) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") (data (i32.const 2264) "\b8\08\00\00\05\00\00\00") - (data (i32.const 2272) "\00\00\00\00\00\00\00\00") - (data (i32.const 2280) "\e0\08\00\00\00\00\00\00") - (data (i32.const 2288) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 2320) "\f0\08\00\00\05\00\00\00") - (data (i32.const 2328) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 2360) "\18\t\00\00\05\00\00\00") - (data (i32.const 2368) "\00\00\00\00\00\00\00\00") - (data (i32.const 2376) "@\t\00\00\00\00\00\00") - (data (i32.const 2384) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 2416) "P\t\00\00\05\00\00\00") - (data (i32.const 2424) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 2456) "x\t\00\00\05\00\00\00") - (data (i32.const 2464) "\00\00\00\00\00\00\00\00") - (data (i32.const 2472) "\a0\t\00\00\00\00\00\00") - (data (i32.const 2480) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 2512) "\b0\t\00\00\05\00\00\00") - (data (i32.const 2520) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 2552) "\d8\t\00\00\05\00\00\00") - (data (i32.const 2560) "\00\00\00\00\00\00\00\00") - (data (i32.const 2568) "\00\n\00\00\00\00\00\00") - (data (i32.const 2576) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 2608) "\10\n\00\00\05\00\00\00") - (data (i32.const 2616) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 2648) "8\n\00\00\05\00\00\00") - (data (i32.const 2656) "\00\00\00\00\00\00\00\00") - (data (i32.const 2664) "`\n\00\00\00\00\00\00") - (data (i32.const 2672) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 2704) "p\n\00\00\05\00\00\00") - (data (i32.const 2712) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") - (data (i32.const 2744) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") - (data (i32.const 2920) " \00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2984) "h\0b\00\00\08\00\00\00") - (data (i32.const 2992) " \00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3056) "\b0\0b\00\00\08\00\00\00") - (data (i32.const 3064) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3192) "\f8\0b\00\00\08\00\00\00") - (data (i32.const 3200) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3328) "\80\0c\00\00\08\00\00\00") - (data (i32.const 3336) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 3368) "\08\0d\00\00\05\00\00\00") - (data (i32.const 3376) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 3408) "0\0d\00\00\05\00\00\00") - (data (i32.const 3416) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 3448) "X\0d\00\00\05\00\00\00") - (data (i32.const 3456) "\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00") - (data (i32.const 3488) "\80\0d\00\00\05\00\00\00") - (data (i32.const 3496) "\00\00\00\00\00\00\00\00") - (data (i32.const 3504) "\a8\0d\00\00\00\00\00\00") - (data (i32.const 3512) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3528) "\b8\0d\00\00\01\00\00\00") - (data (i32.const 3536) "\08\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") - (data (i32.const 3552) "\d0\0d\00\00\02\00\00\00") - (data (i32.const 3560) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3592) "\e8\0d\00\00\04\00\00\00") - (data (i32.const 3600) "\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3632) "\10\0e\00\00\04\00\00\00") - (data (i32.const 3640) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3656) "8\0e\00\00\01\00\00\00") - (data (i32.const 3664) "\08\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 3680) "P\0e\00\00\02\00\00\00") - (data (i32.const 3688) "\01\00\00\00a\00") - (data (i32.const 3696) "\01\00\00\00b\00") - (data (i32.const 3704) "\02\00\00\00a\00b\00") - (data (i32.const 3712) "\02\00\00\00b\00a\00") - (data (i32.const 3720) "\00\00\00\00") - (data (i32.const 3728) "\1c\00\00\00\00\00\00\00h\0e\00\00p\0e\00\00h\0e\00\00x\0e\00\00\80\0e\00\00\88\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3792) "\90\0e\00\00\07\00\00\00") - (data (i32.const 3800) "\1c\00\00\00\00\00\00\00\88\0e\00\00h\0e\00\00h\0e\00\00x\0e\00\00p\0e\00\00\80\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3864) "\d8\0e\00\00\07\00\00\00") - (data (i32.const 3872) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 3904) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 3960) "\04\00\00\00n\00u\00l\00l\00") - (data (i32.const 3976) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 3992) "\88\0f\00\00\02\00\00\00") - (data (i32.const 4000) "\04\00\00\00t\00r\00u\00e\00") - (data (i32.const 4016) "\05\00\00\00f\00a\00l\00s\00e\00") - (data (i32.const 4032) "\01\00\00\00,\00") - (data (i32.const 4040) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 4056) "\c8\0f\00\00\02\00\00\00") - (data (i32.const 4064) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") - (data (i32.const 4088) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4120) "\f8\0f\00\00\03\00\00\00") - (data (i32.const 4128) "\01\00\00\000\00") - (data (i32.const 4136) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4648) "(\10\00\00d\00\00\00") - (data (i32.const 4656) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4688) "0\12\00\00\03\00\00\00") - (data (i32.const 4696) "\05\00\00\001\00-\002\00-\003\00") - (data (i32.const 4712) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4744) "h\12\00\00\03\00\00\00") - (data (i32.const 4752) "\01\00\00\00-\00") - (data (i32.const 4760) "\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2272) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 2288) "\e0\08\00\00\01\00\00\00") + (data (i32.const 2296) "\10\00\00\00\00\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 2328) "\f8\08\00\00\04\00\00\00") + (data (i32.const 2336) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 2368) " \t\00\00\05\00\00\00") + (data (i32.const 2376) "\00\00\00\00\00\00\00\00") + (data (i32.const 2384) "H\t\00\00\00\00\00\00") + (data (i32.const 2392) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 2424) "X\t\00\00\05\00\00\00") + (data (i32.const 2432) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 2464) "\80\t\00\00\05\00\00\00") + (data (i32.const 2472) "\00\00\00\00\00\00\00\00") + (data (i32.const 2480) "\a8\t\00\00\00\00\00\00") + (data (i32.const 2488) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 2520) "\b8\t\00\00\05\00\00\00") + (data (i32.const 2528) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 2560) "\e0\t\00\00\05\00\00\00") + (data (i32.const 2568) "\00\00\00\00\00\00\00\00") + (data (i32.const 2576) "\08\n\00\00\00\00\00\00") + (data (i32.const 2584) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 2616) "\18\n\00\00\05\00\00\00") + (data (i32.const 2624) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 2656) "@\n\00\00\05\00\00\00") + (data (i32.const 2664) "\00\00\00\00\00\00\00\00") + (data (i32.const 2672) "h\n\00\00\00\00\00\00") + (data (i32.const 2680) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 2712) "x\n\00\00\05\00\00\00") + (data (i32.const 2720) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 2752) "\a0\n\00\00\05\00\00\00") + (data (i32.const 2760) "\00\00\00\00\00\00\00\00") + (data (i32.const 2768) "\c8\n\00\00\00\00\00\00") + (data (i32.const 2776) "\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data (i32.const 2808) "\d8\n\00\00\05\00\00\00") + (data (i32.const 2816) "\0c\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s\00") + (data (i32.const 2848) "V\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\000\001\002\003\004\005\006\007\008\009\00_\00-\00,\00.\00+\00/\00\\\00[\00]\00{\00}\00(\00)\00<\00>\00*\00&\00$\00%\00^\00@\00#\00!\00?\00") + (data (i32.const 3024) " \00\00\00\00\00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3088) "\d0\0b\00\00\08\00\00\00") + (data (i32.const 3096) " \00\00\00\00\00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3160) "\18\0c\00\00\08\00\00\00") + (data (i32.const 3168) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3296) "`\0c\00\00\08\00\00\00") + (data (i32.const 3304) "@\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3432) "\e8\0c\00\00\08\00\00\00") + (data (i32.const 3440) "\14\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 3472) "p\0d\00\00\05\00\00\00") + (data (i32.const 3480) "\14\00\00\00\00\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 3512) "\98\0d\00\00\05\00\00\00") + (data (i32.const 3520) "\14\00\00\00\00\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00") + (data (i32.const 3552) "\c0\0d\00\00\05\00\00\00") + (data (i32.const 3560) "\14\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00") + (data (i32.const 3592) "\e8\0d\00\00\05\00\00\00") + (data (i32.const 3600) "\00\00\00\00\00\00\00\00") + (data (i32.const 3608) "\10\0e\00\00\00\00\00\00") + (data (i32.const 3616) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3632) " \0e\00\00\01\00\00\00") + (data (i32.const 3640) "\08\00\00\00\00\00\00\00\02\00\00\00\01\00\00\00") + (data (i32.const 3656) "8\0e\00\00\02\00\00\00") + (data (i32.const 3664) "\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3696) "P\0e\00\00\04\00\00\00") + (data (i32.const 3704) "\10\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3736) "x\0e\00\00\04\00\00\00") + (data (i32.const 3744) "\04\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 3760) "\a0\0e\00\00\01\00\00\00") + (data (i32.const 3768) "\08\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 3784) "\b8\0e\00\00\02\00\00\00") + (data (i32.const 3792) "\01\00\00\00a\00") + (data (i32.const 3800) "\01\00\00\00b\00") + (data (i32.const 3808) "\02\00\00\00a\00b\00") + (data (i32.const 3816) "\02\00\00\00b\00a\00") + (data (i32.const 3824) "\00\00\00\00") + (data (i32.const 3832) "\1c\00\00\00\00\00\00\00\d0\0e\00\00\d8\0e\00\00\d0\0e\00\00\e0\0e\00\00\e8\0e\00\00\f0\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3896) "\f8\0e\00\00\07\00\00\00") + (data (i32.const 3904) "\1c\00\00\00\00\00\00\00\f0\0e\00\00\d0\0e\00\00\d0\0e\00\00\e0\0e\00\00\d8\0e\00\00\e8\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 3968) "@\0f\00\00\07\00\00\00") + (data (i32.const 3976) "\0e\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 4008) "\17\00\00\00~\00l\00i\00b\00/\00i\00n\00t\00e\00r\00n\00a\00l\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data (i32.const 4064) "\04\00\00\00n\00u\00l\00l\00") + (data (i32.const 4080) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 4096) "\f0\0f\00\00\02\00\00\00") + (data (i32.const 4104) "\04\00\00\00t\00r\00u\00e\00") + (data (i32.const 4120) "\05\00\00\00f\00a\00l\00s\00e\00") + (data (i32.const 4136) "\01\00\00\00,\00") + (data (i32.const 4144) "\02\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data (i32.const 4160) "0\10\00\00\02\00\00\00") + (data (i32.const 4168) "\n\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") + (data (i32.const 4192) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4224) "`\10\00\00\03\00\00\00") + (data (i32.const 4232) "\01\00\00\000\00") + (data (i32.const 4240) "\90\01\00\00\00\00\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 4752) "\90\10\00\00d\00\00\00") + (data (i32.const 4760) "\0c\00\00\00\00\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") (data (i32.const 4792) "\98\12\00\00\03\00\00\00") - (data (i32.const 4800) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 4816) "\c0\12\00\00\02\00\00\00") - (data (i32.const 4824) "\02\00\00\00_\00_\00") - (data (i32.const 4832) "\08\00\00\00\00\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 4848) "\e0\12\00\00\02\00\00\00") - (data (i32.const 4856) "\18\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 4912) "0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00") - (data (i32.const 4976) "0\13\00\00\06\00\00\00") - (data (i32.const 4984) "\02\00\00\00,\00 \00") - (data (i32.const 4992) "\03\00\00\000\00.\000\00") - (data (i32.const 5008) "\03\00\00\00N\00a\00N\00") - (data (i32.const 5024) "\t\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 5048) "\08\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 5072) "\b8\02\00\00\00\00\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#sort|trampoline~anonymous|43 $~lib/array/Array#sort|trampoline~anonymous|44 $~lib/array/Array#sort|trampoline~anonymous|45 $~lib/array/Array#sort|trampoline~anonymous|46 $std/array/assertSortedDefault~anonymous|47 $start~anonymous|48 $start~anonymous|49 $start~anonymous|50 $start~anonymous|51 $start~anonymous|52 $start~anonymous|53 $start~anonymous|54 $start~anonymous|55) (global $~lib/internal/allocator/AL_BITS i32 (i32.const 3)) @@ -371,16 +377,16 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $std/array/charset i32 (i32.const 2744)) - (global $std/array/f32ArrayTyped (mut i32) (i32.const 2984)) - (global $std/array/f64ArrayTyped (mut i32) (i32.const 3192)) - (global $std/array/i32ArrayTyped (mut i32) (i32.const 3368)) - (global $std/array/u32ArrayTyped (mut i32) (i32.const 3448)) - (global $std/array/reversed0 (mut i32) (i32.const 3504)) - (global $std/array/reversed1 (mut i32) (i32.const 3528)) - (global $std/array/reversed2 (mut i32) (i32.const 3552)) - (global $std/array/reversed4 (mut i32) (i32.const 3592)) - (global $std/array/expected4 (mut i32) (i32.const 3632)) + (global $std/array/charset i32 (i32.const 2848)) + (global $std/array/f32ArrayTyped (mut i32) (i32.const 3088)) + (global $std/array/f64ArrayTyped (mut i32) (i32.const 3296)) + (global $std/array/i32ArrayTyped (mut i32) (i32.const 3472)) + (global $std/array/u32ArrayTyped (mut i32) (i32.const 3552)) + (global $std/array/reversed0 (mut i32) (i32.const 3608)) + (global $std/array/reversed1 (mut i32) (i32.const 3632)) + (global $std/array/reversed2 (mut i32) (i32.const 3656)) + (global $std/array/reversed4 (mut i32) (i32.const 3696)) + (global $std/array/expected4 (mut i32) (i32.const 3736)) (global $std/array/reversed64 (mut i32) (i32.const 0)) (global $std/array/reversed128 (mut i32) (i32.const 0)) (global $std/array/reversed1024 (mut i32) (i32.const 0)) @@ -390,8 +396,8 @@ (global $std/array/randomized257 (mut i32) (i32.const 0)) (global $std/array/reversedNested512 (mut i32) (i32.const 0)) (global $std/array/reversedElements512 (mut i32) (i32.const 0)) - (global $std/array/randomStringsActual (mut i32) (i32.const 3792)) - (global $std/array/randomStringsExpected (mut i32) (i32.const 3864)) + (global $std/array/randomStringsActual (mut i32) (i32.const 3896)) + (global $std/array/randomStringsExpected (mut i32) (i32.const 3968)) (global $std/array/randomStrings400 (mut i32) (i32.const 0)) (global $ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/internal/string/CharCode.PLUS i32 (i32.const 43)) @@ -425,10 +431,10 @@ (global $std/array/refArr (mut i32) (i32.const 0)) (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) (global $~lib/builtins/i64.MAX_VALUE i64 (i64.const 9223372036854775807)) - (global $std/array/subarr32 (mut i32) (i32.const 8072)) - (global $std/array/subarr8 (mut i32) (i32.const 8168)) - (global $std/array/subarrU32 (mut i32) (i32.const 8240)) - (global $HEAP_BASE i32 (i32.const 8248)) + (global $std/array/subarr32 (mut i32) (i32.const 8176)) + (global $std/array/subarr8 (mut i32) (i32.const 8272)) + (global $std/array/subarrU32 (mut i32) (i32.const 8344)) + (global $HEAP_BASE i32 (i32.const 8352)) (export "memory" (memory $0)) (export "table" (table $0)) (start $start) @@ -4981,7 +4987,7 @@ i64.eqz if i32.const 0 - i32.const 2712 + i32.const 2816 i32.const 959 i32.const 4 call $~lib/env/abort @@ -7923,7 +7929,7 @@ i32.eqz if i32.const 0 - i32.const 2712 + i32.const 2816 i32.const 968 i32.const 24 call $~lib/env/abort @@ -8078,7 +8084,7 @@ if i32.const 0 i32.const 104 - i32.const 777 + i32.const 781 i32.const 2 call $~lib/env/abort unreachable @@ -8572,7 +8578,7 @@ if i32.const 0 i32.const 104 - i32.const 777 + i32.const 781 i32.const 2 call $~lib/env/abort unreachable @@ -9047,7 +9053,7 @@ if i32.const 0 i32.const 104 - i32.const 777 + i32.const 781 i32.const 2 call $~lib/env/abort unreachable @@ -9535,7 +9541,7 @@ if i32.const 0 i32.const 104 - i32.const 777 + i32.const 781 i32.const 2 call $~lib/env/abort unreachable @@ -9726,7 +9732,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 14 i32.const 2 call $~lib/env/abort @@ -9757,7 +9763,7 @@ i32.eqz if i32.const 0 - i32.const 3872 + i32.const 3976 i32.const 58 i32.const 4 call $~lib/env/abort @@ -9768,7 +9774,7 @@ i32.load i32.ge_u if - i32.const 3720 + i32.const 3824 return end i32.const 1 @@ -9824,7 +9830,7 @@ i32.eqz if i32.const 0 - i32.const 3872 + i32.const 3976 i32.const 110 i32.const 4 call $~lib/env/abort @@ -9834,7 +9840,7 @@ i32.const 0 i32.eq if - i32.const 3960 + i32.const 4064 set_local $1 end get_local $0 @@ -9851,7 +9857,7 @@ i32.const 0 i32.eq if - i32.const 3720 + i32.const 3824 return end get_local $4 @@ -9875,7 +9881,7 @@ get_local $0 i32.eqz if - i32.const 3960 + i32.const 4064 set_local $0 end get_local $0 @@ -9886,7 +9892,7 @@ (local $1 i32) (local $2 i32) (local $3 f64) - i32.const 3720 + i32.const 3824 set_local $1 block $break|0 i32.const 0 @@ -10037,7 +10043,7 @@ i32.eqz if i32.const 0 - i32.const 3872 + i32.const 3976 i32.const 269 i32.const 4 call $~lib/env/abort @@ -10103,7 +10109,7 @@ get_local $3 i32.eqz if - i32.const 3720 + i32.const 3824 return end get_local $8 @@ -10153,10 +10159,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $3 get_local $0 i32.load @@ -10171,8 +10177,8 @@ get_local $2 i32.eqz if - i32.const 4000 - i32.const 4016 + i32.const 4104 + i32.const 4120 block $~lib/internal/arraybuffer/loadUnsafe|inlined.0 (result i32) i32.const 0 set_local $8 @@ -10231,8 +10237,8 @@ set_local $8 get_local $10 get_local $11 - i32.const 4000 - i32.const 4016 + i32.const 4104 + i32.const 4120 get_local $4 i32.const 0 i32.ne @@ -10285,8 +10291,8 @@ set_local $8 get_local $10 get_local $11 - i32.const 4000 - i32.const 4016 + i32.const 4104 + i32.const 4120 get_local $4 i32.const 0 i32.ne @@ -10313,7 +10319,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -10410,7 +10416,7 @@ (local $8 i64) (local $9 i64) block $~lib/internal/number/DIGITS|inlined.0 (result i32) - i32.const 4648 + i32.const 4752 end i32.load set_local $3 @@ -10561,7 +10567,7 @@ get_local $0 i32.eqz if - i32.const 4128 + i32.const 4232 return end get_local $0 @@ -10668,10 +10674,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $3 get_local $0 i32.load @@ -10792,7 +10798,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -10817,7 +10823,7 @@ get_local $0 i32.eqz if - i32.const 4128 + i32.const 4232 return end get_local $0 @@ -10885,10 +10891,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $3 get_local $0 i32.load @@ -11009,7 +11015,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -11087,7 +11093,7 @@ get_local $6 set_local $15 block $~lib/internal/number/POWERS10|inlined.0 (result i32) - i32.const 6432 + i32.const 6536 end i32.load set_local $16 @@ -12083,12 +12089,12 @@ i32.sub set_global $~lib/internal/number/_K block $~lib/internal/number/FRC_POWERS|inlined.0 (result i32) - i32.const 6096 + i32.const 6200 end i32.load set_local $12 block $~lib/internal/number/EXP_POWERS|inlined.0 (result i32) - i32.const 6360 + i32.const 6464 end i32.load set_local $13 @@ -12365,7 +12371,7 @@ f64.const 0 f64.eq if - i32.const 4992 + i32.const 5096 return end get_local $0 @@ -12375,11 +12381,11 @@ get_local $0 call $~lib/builtins/isNaN if - i32.const 5008 + i32.const 5112 return end - i32.const 5024 - i32.const 5048 + i32.const 5128 + i32.const 5152 get_local $0 f64.const 0 f64.lt @@ -12402,7 +12408,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -12475,8 +12481,8 @@ get_local $3 i32.add set_local $4 - i32.const 5024 - i32.const 5048 + i32.const 5128 + i32.const 5152 get_local $3 select set_local $5 @@ -12526,10 +12532,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $3 get_local $0 i32.load @@ -12650,7 +12656,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -12690,10 +12696,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $3 get_local $0 i32.load @@ -12957,10 +12963,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $3 get_local $0 i32.load @@ -12975,7 +12981,7 @@ get_local $2 i32.eqz if - i32.const 6688 + i32.const 6792 return end i32.const 15 @@ -13014,7 +13020,7 @@ if get_local $9 get_local $10 - i32.const 6688 + i32.const 6792 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -13057,7 +13063,7 @@ if get_local $9 get_local $10 - i32.const 6688 + i32.const 6792 i32.const 0 i32.const 15 call $~lib/internal/string/copyUnsafe @@ -13081,7 +13087,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13196,10 +13202,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $3 get_local $0 i32.load @@ -13320,7 +13326,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13403,10 +13409,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $3 get_local $0 i32.load @@ -13527,7 +13533,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -13628,7 +13634,7 @@ (local $12 i64) (local $13 i64) block $~lib/internal/number/DIGITS|inlined.1 (result i32) - i32.const 7528 + i32.const 7632 end i32.load set_local $3 @@ -13760,7 +13766,7 @@ get_local $0 i64.eqz if - i32.const 4128 + i32.const 4232 return end get_local $0 @@ -13866,10 +13872,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $3 get_local $0 i32.load @@ -13990,7 +13996,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14017,7 +14023,7 @@ get_local $0 i64.eqz if - i32.const 4128 + i32.const 4232 return end get_local $0 @@ -14166,10 +14172,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $3 get_local $0 i32.load @@ -14290,7 +14296,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14326,10 +14332,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $3 get_local $0 i32.load @@ -14361,7 +14367,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3720 + i32.const 3824 end return end @@ -14495,10 +14501,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $3 get_local $0 i32.load @@ -14619,7 +14625,7 @@ i32.eqz if i32.const 0 - i32.const 3904 + i32.const 4008 i32.const 28 i32.const 4 call $~lib/env/abort @@ -14655,10 +14661,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $3 get_local $0 i32.load @@ -14690,7 +14696,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3720 + i32.const 3824 end return end @@ -14777,10 +14783,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $3 get_local $0 i32.load @@ -14812,7 +14818,7 @@ get_local $1 call $~lib/array/Array#join else - i32.const 3720 + i32.const 3824 end return end @@ -14899,10 +14905,10 @@ i32.const 0 i32.lt_s if - i32.const 3720 + i32.const 3824 return end - i32.const 3720 + i32.const 3824 set_local $3 get_local $0 i32.load @@ -14934,7 +14940,7 @@ get_local $1 call $~lib/array/Array>#join else - i32.const 3720 + i32.const 3824 end return end @@ -17223,11 +17229,15 @@ end i32.const 1640 set_global $std/array/sarr - get_global $std/array/sarr - i32.const 2 - i32.const 2 - call $~lib/array/Array#splice - i32.const 1664 + block (result i32) + i32.const 1 + set_global $~argc + get_global $std/array/sarr + i32.const 2 + i32.const 0 + call $~lib/array/Array#splice|trampoline + end + i32.const 1680 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17255,8 +17265,8 @@ i32.const 1744 set_global $std/array/sarr get_global $std/array/sarr - i32.const 0 - i32.const 1 + i32.const 2 + i32.const 2 call $~lib/array/Array#splice i32.const 1768 i32.const 0 @@ -17285,14 +17295,10 @@ end i32.const 1848 set_global $std/array/sarr - block (result i32) - i32.const 1 - set_global $~argc - get_global $std/array/sarr - i32.const -1 - i32.const 0 - call $~lib/array/Array#splice|trampoline - end + get_global $std/array/sarr + i32.const 0 + i32.const 1 + call $~lib/array/Array#splice i32.const 1872 i32.const 0 call $std/array/isArraysEqual @@ -17324,7 +17330,7 @@ i32.const 1 set_global $~argc get_global $std/array/sarr - i32.const -2 + i32.const -1 i32.const 0 call $~lib/array/Array#splice|trampoline end @@ -17355,10 +17361,14 @@ end i32.const 2056 set_global $std/array/sarr - get_global $std/array/sarr - i32.const -2 - i32.const 1 - call $~lib/array/Array#splice + block (result i32) + i32.const 1 + set_global $~argc + get_global $std/array/sarr + i32.const -2 + i32.const 0 + call $~lib/array/Array#splice|trampoline + end i32.const 2080 i32.const 0 call $std/array/isArraysEqual @@ -17387,7 +17397,7 @@ i32.const 2160 set_global $std/array/sarr get_global $std/array/sarr - i32.const -7 + i32.const -2 i32.const 1 call $~lib/array/Array#splice i32.const 2184 @@ -17418,10 +17428,10 @@ i32.const 2264 set_global $std/array/sarr get_global $std/array/sarr - i32.const -2 - i32.const -1 + i32.const -7 + i32.const 1 call $~lib/array/Array#splice - i32.const 2280 + i32.const 2288 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17434,7 +17444,7 @@ unreachable end get_global $std/array/sarr - i32.const 2320 + i32.const 2328 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17446,13 +17456,13 @@ call $~lib/env/abort unreachable end - i32.const 2360 + i32.const 2368 set_global $std/array/sarr get_global $std/array/sarr - i32.const 1 i32.const -2 + i32.const -1 call $~lib/array/Array#splice - i32.const 2376 + i32.const 2384 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17465,7 +17475,7 @@ unreachable end get_global $std/array/sarr - i32.const 2416 + i32.const 2424 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17477,13 +17487,13 @@ call $~lib/env/abort unreachable end - i32.const 2456 + i32.const 2464 set_global $std/array/sarr get_global $std/array/sarr - i32.const 4 - i32.const 0 + i32.const 1 + i32.const -2 call $~lib/array/Array#splice - i32.const 2472 + i32.const 2480 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17496,7 +17506,7 @@ unreachable end get_global $std/array/sarr - i32.const 2512 + i32.const 2520 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17508,13 +17518,13 @@ call $~lib/env/abort unreachable end - i32.const 2552 + i32.const 2560 set_global $std/array/sarr get_global $std/array/sarr - i32.const 7 + i32.const 4 i32.const 0 call $~lib/array/Array#splice - i32.const 2568 + i32.const 2576 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17527,7 +17537,7 @@ unreachable end get_global $std/array/sarr - i32.const 2608 + i32.const 2616 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17539,13 +17549,13 @@ call $~lib/env/abort unreachable end - i32.const 2648 + i32.const 2656 set_global $std/array/sarr get_global $std/array/sarr i32.const 7 - i32.const 5 + i32.const 0 call $~lib/array/Array#splice - i32.const 2664 + i32.const 2672 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17558,7 +17568,7 @@ unreachable end get_global $std/array/sarr - i32.const 2704 + i32.const 2712 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -17570,6 +17580,37 @@ call $~lib/env/abort unreachable end + i32.const 2752 + set_global $std/array/sarr + get_global $std/array/sarr + i32.const 7 + i32.const 5 + call $~lib/array/Array#splice + i32.const 2768 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 384 + i32.const 0 + call $~lib/env/abort + unreachable + end + get_global $std/array/sarr + i32.const 2808 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 104 + i32.const 385 + i32.const 0 + call $~lib/env/abort + unreachable + end get_global $std/array/arr i32.const 0 i32.const 0 @@ -17597,7 +17638,7 @@ if i32.const 0 i32.const 104 - i32.const 391 + i32.const 395 i32.const 0 call $~lib/env/abort unreachable @@ -17613,7 +17654,7 @@ if i32.const 0 i32.const 104 - i32.const 394 + i32.const 398 i32.const 0 call $~lib/env/abort unreachable @@ -17629,7 +17670,7 @@ if i32.const 0 i32.const 104 - i32.const 397 + i32.const 401 i32.const 0 call $~lib/env/abort unreachable @@ -17645,7 +17686,7 @@ if i32.const 0 i32.const 104 - i32.const 405 + i32.const 409 i32.const 0 call $~lib/env/abort unreachable @@ -17662,7 +17703,7 @@ if i32.const 0 i32.const 104 - i32.const 406 + i32.const 410 i32.const 0 call $~lib/env/abort unreachable @@ -17678,7 +17719,7 @@ if i32.const 0 i32.const 104 - i32.const 408 + i32.const 412 i32.const 0 call $~lib/env/abort unreachable @@ -17706,7 +17747,7 @@ if i32.const 0 i32.const 104 - i32.const 421 + i32.const 425 i32.const 0 call $~lib/env/abort unreachable @@ -17723,7 +17764,7 @@ if i32.const 0 i32.const 104 - i32.const 422 + i32.const 426 i32.const 0 call $~lib/env/abort unreachable @@ -17747,7 +17788,7 @@ if i32.const 0 i32.const 104 - i32.const 430 + i32.const 434 i32.const 0 call $~lib/env/abort unreachable @@ -17763,7 +17804,7 @@ if i32.const 0 i32.const 104 - i32.const 433 + i32.const 437 i32.const 0 call $~lib/env/abort unreachable @@ -17779,7 +17820,7 @@ if i32.const 0 i32.const 104 - i32.const 441 + i32.const 445 i32.const 0 call $~lib/env/abort unreachable @@ -17796,7 +17837,7 @@ if i32.const 0 i32.const 104 - i32.const 442 + i32.const 446 i32.const 0 call $~lib/env/abort unreachable @@ -17812,7 +17853,7 @@ if i32.const 0 i32.const 104 - i32.const 444 + i32.const 448 i32.const 0 call $~lib/env/abort unreachable @@ -17840,7 +17881,7 @@ if i32.const 0 i32.const 104 - i32.const 457 + i32.const 461 i32.const 0 call $~lib/env/abort unreachable @@ -17857,7 +17898,7 @@ if i32.const 0 i32.const 104 - i32.const 458 + i32.const 462 i32.const 0 call $~lib/env/abort unreachable @@ -17881,7 +17922,7 @@ if i32.const 0 i32.const 104 - i32.const 466 + i32.const 470 i32.const 0 call $~lib/env/abort unreachable @@ -17897,7 +17938,7 @@ if i32.const 0 i32.const 104 - i32.const 469 + i32.const 473 i32.const 0 call $~lib/env/abort unreachable @@ -17913,7 +17954,7 @@ if i32.const 0 i32.const 104 - i32.const 477 + i32.const 481 i32.const 0 call $~lib/env/abort unreachable @@ -17930,7 +17971,7 @@ if i32.const 0 i32.const 104 - i32.const 478 + i32.const 482 i32.const 0 call $~lib/env/abort unreachable @@ -17946,7 +17987,7 @@ if i32.const 0 i32.const 104 - i32.const 480 + i32.const 484 i32.const 0 call $~lib/env/abort unreachable @@ -17974,7 +18015,7 @@ if i32.const 0 i32.const 104 - i32.const 493 + i32.const 497 i32.const 0 call $~lib/env/abort unreachable @@ -17991,7 +18032,7 @@ if i32.const 0 i32.const 104 - i32.const 494 + i32.const 498 i32.const 0 call $~lib/env/abort unreachable @@ -18016,7 +18057,7 @@ if i32.const 0 i32.const 104 - i32.const 503 + i32.const 507 i32.const 0 call $~lib/env/abort unreachable @@ -18033,7 +18074,7 @@ if i32.const 0 i32.const 104 - i32.const 512 + i32.const 516 i32.const 0 call $~lib/env/abort unreachable @@ -18050,7 +18091,7 @@ if i32.const 0 i32.const 104 - i32.const 513 + i32.const 517 i32.const 0 call $~lib/env/abort unreachable @@ -18067,7 +18108,7 @@ if i32.const 0 i32.const 104 - i32.const 516 + i32.const 520 i32.const 0 call $~lib/env/abort unreachable @@ -18096,7 +18137,7 @@ if i32.const 0 i32.const 104 - i32.const 530 + i32.const 534 i32.const 0 call $~lib/env/abort unreachable @@ -18113,7 +18154,7 @@ if i32.const 0 i32.const 104 - i32.const 531 + i32.const 535 i32.const 0 call $~lib/env/abort unreachable @@ -18142,7 +18183,7 @@ if i32.const 0 i32.const 104 - i32.const 540 + i32.const 544 i32.const 0 call $~lib/env/abort unreachable @@ -18159,7 +18200,7 @@ if i32.const 0 i32.const 104 - i32.const 541 + i32.const 545 i32.const 0 call $~lib/env/abort unreachable @@ -18177,7 +18218,7 @@ if i32.const 0 i32.const 104 - i32.const 550 + i32.const 554 i32.const 0 call $~lib/env/abort unreachable @@ -18194,7 +18235,7 @@ if i32.const 0 i32.const 104 - i32.const 551 + i32.const 555 i32.const 0 call $~lib/env/abort unreachable @@ -18212,7 +18253,7 @@ if i32.const 0 i32.const 104 - i32.const 558 + i32.const 562 i32.const 0 call $~lib/env/abort unreachable @@ -18242,7 +18283,7 @@ if i32.const 0 i32.const 104 - i32.const 573 + i32.const 577 i32.const 0 call $~lib/env/abort unreachable @@ -18259,7 +18300,7 @@ if i32.const 0 i32.const 104 - i32.const 574 + i32.const 578 i32.const 0 call $~lib/env/abort unreachable @@ -18288,7 +18329,7 @@ if i32.const 0 i32.const 104 - i32.const 582 + i32.const 586 i32.const 0 call $~lib/env/abort unreachable @@ -18306,7 +18347,7 @@ if i32.const 0 i32.const 104 - i32.const 591 + i32.const 595 i32.const 0 call $~lib/env/abort unreachable @@ -18323,7 +18364,7 @@ if i32.const 0 i32.const 104 - i32.const 592 + i32.const 596 i32.const 0 call $~lib/env/abort unreachable @@ -18341,7 +18382,7 @@ if i32.const 0 i32.const 104 - i32.const 599 + i32.const 603 i32.const 0 call $~lib/env/abort unreachable @@ -18371,7 +18412,7 @@ if i32.const 0 i32.const 104 - i32.const 614 + i32.const 618 i32.const 0 call $~lib/env/abort unreachable @@ -18388,7 +18429,7 @@ if i32.const 0 i32.const 104 - i32.const 615 + i32.const 619 i32.const 0 call $~lib/env/abort unreachable @@ -18413,7 +18454,7 @@ if i32.const 0 i32.const 104 - i32.const 623 + i32.const 627 i32.const 0 call $~lib/env/abort unreachable @@ -18430,7 +18471,7 @@ if i32.const 0 i32.const 104 - i32.const 627 + i32.const 631 i32.const 0 call $~lib/env/abort unreachable @@ -18449,7 +18490,7 @@ if i32.const 0 i32.const 104 - i32.const 630 + i32.const 634 i32.const 0 call $~lib/env/abort unreachable @@ -18468,7 +18509,7 @@ if i32.const 0 i32.const 104 - i32.const 633 + i32.const 637 i32.const 0 call $~lib/env/abort unreachable @@ -18485,7 +18526,7 @@ if i32.const 0 i32.const 104 - i32.const 641 + i32.const 645 i32.const 0 call $~lib/env/abort unreachable @@ -18502,7 +18543,7 @@ if i32.const 0 i32.const 104 - i32.const 642 + i32.const 646 i32.const 0 call $~lib/env/abort unreachable @@ -18519,7 +18560,7 @@ if i32.const 0 i32.const 104 - i32.const 644 + i32.const 648 i32.const 0 call $~lib/env/abort unreachable @@ -18548,7 +18589,7 @@ if i32.const 0 i32.const 104 - i32.const 657 + i32.const 661 i32.const 0 call $~lib/env/abort unreachable @@ -18565,7 +18606,7 @@ if i32.const 0 i32.const 104 - i32.const 658 + i32.const 662 i32.const 0 call $~lib/env/abort unreachable @@ -18590,7 +18631,7 @@ if i32.const 0 i32.const 104 - i32.const 666 + i32.const 670 i32.const 0 call $~lib/env/abort unreachable @@ -18607,7 +18648,7 @@ if i32.const 0 i32.const 104 - i32.const 670 + i32.const 674 i32.const 0 call $~lib/env/abort unreachable @@ -18626,7 +18667,7 @@ if i32.const 0 i32.const 104 - i32.const 673 + i32.const 677 i32.const 0 call $~lib/env/abort unreachable @@ -18645,7 +18686,7 @@ if i32.const 0 i32.const 104 - i32.const 676 + i32.const 680 i32.const 0 call $~lib/env/abort unreachable @@ -18662,7 +18703,7 @@ if i32.const 0 i32.const 104 - i32.const 684 + i32.const 688 i32.const 0 call $~lib/env/abort unreachable @@ -18679,7 +18720,7 @@ if i32.const 0 i32.const 104 - i32.const 685 + i32.const 689 i32.const 0 call $~lib/env/abort unreachable @@ -18696,7 +18737,7 @@ if i32.const 0 i32.const 104 - i32.const 687 + i32.const 691 i32.const 0 call $~lib/env/abort unreachable @@ -18725,7 +18766,7 @@ if i32.const 0 i32.const 104 - i32.const 700 + i32.const 704 i32.const 0 call $~lib/env/abort unreachable @@ -18742,7 +18783,7 @@ if i32.const 0 i32.const 104 - i32.const 701 + i32.const 705 i32.const 0 call $~lib/env/abort unreachable @@ -18775,14 +18816,14 @@ end drop get_global $std/array/f32ArrayTyped - i32.const 3056 + i32.const 3160 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 788 + i32.const 792 i32.const 0 call $~lib/env/abort unreachable @@ -18796,14 +18837,14 @@ end drop get_global $std/array/f64ArrayTyped - i32.const 3328 + i32.const 3432 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 792 + i32.const 796 i32.const 0 call $~lib/env/abort unreachable @@ -18817,14 +18858,14 @@ end drop get_global $std/array/i32ArrayTyped - i32.const 3408 + i32.const 3512 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 796 + i32.const 800 i32.const 0 call $~lib/env/abort unreachable @@ -18838,14 +18879,14 @@ end drop get_global $std/array/u32ArrayTyped - i32.const 3488 + i32.const 3592 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 800 + i32.const 804 i32.const 0 call $~lib/env/abort unreachable @@ -18870,14 +18911,14 @@ get_global $std/array/reversed1 call $std/array/assertSortedDefault get_global $std/array/reversed1 - i32.const 3656 + i32.const 3760 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 820 + i32.const 824 i32.const 0 call $~lib/env/abort unreachable @@ -18885,14 +18926,14 @@ get_global $std/array/reversed2 call $std/array/assertSortedDefault get_global $std/array/reversed2 - i32.const 3680 + i32.const 3784 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 104 - i32.const 823 + i32.const 827 i32.const 0 call $~lib/env/abort unreachable @@ -18907,7 +18948,7 @@ if i32.const 0 i32.const 104 - i32.const 826 + i32.const 830 i32.const 0 call $~lib/env/abort unreachable @@ -18922,7 +18963,7 @@ if i32.const 0 i32.const 104 - i32.const 829 + i32.const 833 i32.const 0 call $~lib/env/abort unreachable @@ -18937,7 +18978,7 @@ if i32.const 0 i32.const 104 - i32.const 832 + i32.const 836 i32.const 0 call $~lib/env/abort unreachable @@ -18952,7 +18993,7 @@ if i32.const 0 i32.const 104 - i32.const 835 + i32.const 839 i32.const 0 call $~lib/env/abort unreachable @@ -18967,7 +19008,7 @@ if i32.const 0 i32.const 104 - i32.const 838 + i32.const 842 i32.const 0 call $~lib/env/abort unreachable @@ -19015,7 +19056,7 @@ if i32.const 0 i32.const 104 - i32.const 867 + i32.const 871 i32.const 0 call $~lib/env/abort unreachable @@ -19026,86 +19067,86 @@ get_global $std/array/randomStrings400 i32.const 55 call $std/array/assertSorted - i32.const 4056 - i32.const 4032 + i32.const 4160 + i32.const 4136 call $~lib/array/Array#join - i32.const 4064 + i32.const 4168 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 876 + i32.const 880 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4688 - i32.const 3720 + i32.const 4792 + i32.const 3824 call $~lib/array/Array#join - i32.const 4696 + i32.const 4800 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 877 + i32.const 881 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4792 - i32.const 4752 + i32.const 4896 + i32.const 4856 call $~lib/array/Array#join - i32.const 4696 + i32.const 4800 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 878 + i32.const 882 i32.const 0 call $~lib/env/abort unreachable end - i32.const 4848 - i32.const 4824 + i32.const 4952 + i32.const 4928 call $~lib/array/Array#join - i32.const 4856 + i32.const 4960 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 879 + i32.const 883 i32.const 0 call $~lib/env/abort unreachable end - i32.const 6504 - i32.const 4984 + i32.const 6608 + i32.const 5088 call $~lib/array/Array#join - i32.const 6512 + i32.const 6616 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 880 + i32.const 884 i32.const 0 call $~lib/env/abort unreachable end - i32.const 6680 - i32.const 3720 + i32.const 6784 + i32.const 3824 call $~lib/array/Array#join - i32.const 6600 + i32.const 6704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 881 + i32.const 885 i32.const 0 call $~lib/env/abort unreachable @@ -19133,15 +19174,15 @@ end set_global $std/array/refArr get_global $std/array/refArr - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join - i32.const 6728 + i32.const 6832 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 883 + i32.const 887 i32.const 0 call $~lib/env/abort unreachable @@ -19150,16 +19191,16 @@ get_global $std/array/reversed0 set_local $3 get_local $3 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join end - i32.const 3720 + i32.const 3824 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 887 + i32.const 891 i32.const 0 call $~lib/env/abort unreachable @@ -19168,16 +19209,16 @@ get_global $std/array/reversed1 set_local $3 get_local $3 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join end - i32.const 6600 + i32.const 6704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 888 + i32.const 892 i32.const 0 call $~lib/env/abort unreachable @@ -19186,16 +19227,16 @@ get_global $std/array/reversed2 set_local $3 get_local $3 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join end - i32.const 6800 + i32.const 6904 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 889 + i32.const 893 i32.const 0 call $~lib/env/abort unreachable @@ -19204,88 +19245,88 @@ get_global $std/array/reversed4 set_local $3 get_local $3 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join end - i32.const 6816 + i32.const 6920 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 890 + i32.const 894 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6880 + i32.const 6984 set_local $3 get_local $3 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join end - i32.const 6888 + i32.const 6992 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 892 + i32.const 896 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 6944 + i32.const 7048 set_local $3 get_local $3 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join end - i32.const 6952 + i32.const 7056 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 893 + i32.const 897 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 7568 + i32.const 7672 set_local $3 get_local $3 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join end - i32.const 7576 + i32.const 7680 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 894 + i32.const 898 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.1 (result i32) - i32.const 7768 + i32.const 7872 set_local $3 get_local $3 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join end - i32.const 7776 + i32.const 7880 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 895 + i32.const 899 i32.const 0 call $~lib/env/abort unreachable @@ -19294,34 +19335,34 @@ get_global $std/array/randomStringsExpected set_local $3 get_local $3 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join end - i32.const 7864 + i32.const 7968 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 896 + i32.const 900 i32.const 0 call $~lib/env/abort unreachable end block $~lib/array/Array#toString|inlined.3 (result i32) - i32.const 7984 + i32.const 8088 set_local $3 get_local $3 - i32.const 4032 + i32.const 4136 call $~lib/array/Array#join end - i32.const 7992 + i32.const 8096 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 897 + i32.const 901 i32.const 0 call $~lib/env/abort unreachable @@ -19330,16 +19371,16 @@ get_global $std/array/subarr32 set_local $3 get_local $3 - i32.const 4032 + i32.const 4136 call $~lib/array/Array>#join end - i32.const 8080 + i32.const 8184 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 900 + i32.const 904 i32.const 0 call $~lib/env/abort unreachable @@ -19348,16 +19389,16 @@ get_global $std/array/subarr8 set_local $3 get_local $3 - i32.const 4032 + i32.const 4136 call $~lib/array/Array>#join end - i32.const 8080 + i32.const 8184 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 903 + i32.const 907 i32.const 0 call $~lib/env/abort unreachable @@ -19366,16 +19407,16 @@ get_global $std/array/subarrU32 set_local $3 get_local $3 - i32.const 4032 + i32.const 4136 call $~lib/array/Array>>#join end - i32.const 6600 + i32.const 6704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 104 - i32.const 906 + i32.const 910 i32.const 0 call $~lib/env/abort unreachable