diff --git a/package-lock.json b/package-lock.json index 2e8e71e1fa..ac7902a436 100644 --- a/package-lock.json +++ b/package-lock.json @@ -713,9 +713,9 @@ "optional": true }, "binaryen": { - "version": "98.0.0-nightly.20201025", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-98.0.0-nightly.20201025.tgz", - "integrity": "sha512-jS6VMHF2mRKMBy79DhMDX+j1ph+TahHhLazkybvr90WkXBa80ydWgLTZLe3mxms1iOHJYqFv84TrKCrlFiwzjA==" + "version": "98.0.0-nightly.20201027", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-98.0.0-nightly.20201027.tgz", + "integrity": "sha512-00/IHlumty/5XzJsdaMudayXofJiDb3Ytqqdn7OJBM0L9SuVg0o0xu4l93NVf+hO6jkgXNE1t+LdB0gOdeLdjA==" }, "bluebird": { "version": "3.7.2", diff --git a/package.json b/package.json index 9a7e52e300..468b524a9d 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "url": "https://github.com/AssemblyScript/assemblyscript/issues" }, "dependencies": { - "binaryen": "98.0.0-nightly.20201025", + "binaryen": "98.0.0-nightly.20201027", "long": "^4.0.0", "source-map-support": "^0.5.19", "ts-node": "^6.2.0" diff --git a/tests/compiler/std/string-casemapping.optimized.wat b/tests/compiler/std/string-casemapping.optimized.wat index 2eb8aa5fd4..46bdd6444e 100644 --- a/tests/compiler/std/string-casemapping.optimized.wat +++ b/tests/compiler/std/string-casemapping.optimized.wat @@ -2546,8 +2546,6 @@ i32.eq local.get $3 i32.const 2 - i32.sub - i32.const 0 i32.ge_s i32.and if @@ -3203,18 +3201,18 @@ local.get $0 ) (func $start:std/string-casemapping - (local $0 i64) - (local $1 i64) - (local $2 i64) - (local $3 i64) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i64) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) + (local $7 i32) + (local $8 i64) + (local $9 i64) + (local $10 i64) + (local $11 i64) (local $12 i32) (local $13 i32) (local $14 i32) @@ -3301,10 +3299,9 @@ (local $95 i32) (local $96 i32) (local $97 i32) - (local $98 i32) i32.const 1056 call $~lib/string/String#toUpperCase - local.tee $13 + local.tee $12 i32.const 1056 call $~lib/string/String.__eq i32.eqz @@ -3318,7 +3315,7 @@ end i32.const 1056 call $~lib/string/String#toLowerCase - local.tee $14 + local.tee $13 i32.const 1056 call $~lib/string/String.__eq i32.eqz @@ -3332,7 +3329,7 @@ end i32.const 11328 call $~lib/string/String#toUpperCase - local.tee $15 + local.tee $14 i32.const 11376 call $~lib/string/String.__eq i32.eqz @@ -3346,7 +3343,7 @@ end i32.const 11424 call $~lib/string/String#toLowerCase - local.tee $16 + local.tee $15 i32.const 11472 call $~lib/string/String.__eq i32.eqz @@ -3360,7 +3357,7 @@ end i32.const 11520 call $~lib/string/String#toUpperCase - local.tee $17 + local.tee $16 i32.const 11616 call $~lib/string/String.__eq i32.eqz @@ -3374,7 +3371,7 @@ end i32.const 11616 call $~lib/string/String#toLowerCase - local.tee $18 + local.tee $17 i32.const 11712 call $~lib/string/String.__eq i32.eqz @@ -3388,7 +3385,7 @@ end i32.const 11808 call $~lib/string/String#toUpperCase - local.tee $19 + local.tee $18 i32.const 11872 call $~lib/string/String.__eq i32.eqz @@ -3402,7 +3399,7 @@ end i32.const 11872 call $~lib/string/String#toLowerCase - local.tee $20 + local.tee $19 i32.const 11936 call $~lib/string/String.__eq i32.eqz @@ -3416,7 +3413,7 @@ end i32.const 12000 call $~lib/string/String#toUpperCase - local.tee $21 + local.tee $20 i32.const 12096 call $~lib/string/String.__eq i32.eqz @@ -3430,7 +3427,7 @@ end i32.const 12096 call $~lib/string/String#toLowerCase - local.tee $22 + local.tee $21 i32.const 12192 call $~lib/string/String.__eq i32.eqz @@ -3444,7 +3441,7 @@ end i32.const 12288 call $~lib/string/String#toUpperCase - local.tee $23 + local.tee $22 i32.const 12384 call $~lib/string/String.__eq i32.eqz @@ -3458,7 +3455,7 @@ end i32.const 12384 call $~lib/string/String#toLowerCase - local.tee $24 + local.tee $23 i32.const 12480 call $~lib/string/String.__eq i32.eqz @@ -3472,7 +3469,7 @@ end i32.const 12576 call $~lib/string/String#toUpperCase - local.tee $25 + local.tee $24 i32.const 12656 call $~lib/string/String.__eq i32.eqz @@ -3486,7 +3483,7 @@ end i32.const 12736 call $~lib/string/String#toUpperCase - local.tee $26 + local.tee $25 i32.const 12816 call $~lib/string/String.__eq i32.eqz @@ -3500,7 +3497,7 @@ end i32.const 12896 call $~lib/string/String#toUpperCase - local.tee $27 + local.tee $26 i32.const 12960 call $~lib/string/String.__eq i32.eqz @@ -3514,7 +3511,7 @@ end i32.const 13024 call $~lib/string/String#toUpperCase - local.tee $28 + local.tee $27 i32.const 13104 call $~lib/string/String.__eq i32.eqz @@ -3528,7 +3525,7 @@ end i32.const 13184 call $~lib/string/String#toUpperCase - local.tee $29 + local.tee $28 i32.const 13264 call $~lib/string/String.__eq i32.eqz @@ -3542,7 +3539,7 @@ end i32.const 13344 call $~lib/string/String#toUpperCase - local.tee $30 + local.tee $29 i32.const 13408 call $~lib/string/String.__eq i32.eqz @@ -3556,7 +3553,7 @@ end i32.const 13472 call $~lib/string/String#toUpperCase - local.tee $31 + local.tee $30 i32.const 13552 call $~lib/string/String.__eq i32.eqz @@ -3570,7 +3567,7 @@ end i32.const 13632 call $~lib/string/String#toUpperCase - local.tee $32 + local.tee $31 i32.const 13712 call $~lib/string/String.__eq i32.eqz @@ -3584,7 +3581,7 @@ end i32.const 13792 call $~lib/string/String#toUpperCase - local.tee $33 + local.tee $32 i32.const 13952 call $~lib/string/String.__eq i32.eqz @@ -3598,7 +3595,7 @@ end i32.const 13792 call $~lib/string/String#toLowerCase - local.tee $34 + local.tee $33 i32.const 14112 call $~lib/string/String.__eq i32.eqz @@ -3612,7 +3609,7 @@ end i32.const 14272 call $~lib/string/String#toUpperCase - local.tee $35 + local.tee $34 i32.const 14304 call $~lib/string/String.__eq i32.eqz @@ -3626,7 +3623,7 @@ end i32.const 14336 call $~lib/string/String#toLowerCase - local.tee $36 + local.tee $35 i32.const 14368 call $~lib/string/String.__eq i32.eqz @@ -3640,7 +3637,7 @@ end i32.const 14400 call $~lib/string/String#toUpperCase - local.tee $37 + local.tee $36 i32.const 14608 call $~lib/string/String.__eq i32.eqz @@ -3654,9 +3651,9 @@ end i32.const 14272 call $~lib/string/String#toUpperCase - local.tee $38 + local.tee $37 call $~lib/string/String#toLowerCase - local.tee $39 + local.tee $38 i32.const 14816 call $~lib/string/String.__eq i32.eqz @@ -3670,9 +3667,9 @@ end i32.const 14848 call $~lib/string/String#toUpperCase - local.tee $40 + local.tee $39 call $~lib/string/String#toLowerCase - local.tee $41 + local.tee $40 i32.const 14880 call $~lib/string/String.__eq i32.eqz @@ -3686,9 +3683,9 @@ end i32.const 14912 call $~lib/string/String#toUpperCase - local.tee $42 + local.tee $41 call $~lib/string/String#toLowerCase - local.tee $43 + local.tee $42 i32.const 14912 call $~lib/string/String.__eq i32.eqz @@ -3702,9 +3699,9 @@ end i32.const 65536 call $~lib/string/String.fromCodePoint - local.tee $44 + local.tee $43 call $~lib/string/String#toLowerCase - local.tee $45 + local.tee $44 i32.const 15168 call $~lib/string/String.__eq i32.eqz @@ -3718,9 +3715,9 @@ end i32.const 65536 call $~lib/string/String.fromCodePoint - local.tee $46 + local.tee $45 call $~lib/string/String#toUpperCase - local.tee $47 + local.tee $46 i32.const 15168 call $~lib/string/String.__eq i32.eqz @@ -3734,7 +3731,7 @@ end i32.const 15200 call $~lib/string/String#toLowerCase - local.tee $48 + local.tee $47 i32.const 15232 call $~lib/string/String.__eq i32.eqz @@ -3748,7 +3745,7 @@ end i32.const 15264 call $~lib/string/String#toLowerCase - local.tee $49 + local.tee $48 i32.const 15296 call $~lib/string/String.__eq i32.eqz @@ -3762,7 +3759,7 @@ end i32.const 15328 call $~lib/string/String#toLowerCase - local.tee $50 + local.tee $49 i32.const 15360 call $~lib/string/String.__eq i32.eqz @@ -3776,7 +3773,7 @@ end i32.const 15392 call $~lib/string/String#toLowerCase - local.tee $51 + local.tee $50 i32.const 15424 call $~lib/string/String.__eq i32.eqz @@ -3790,7 +3787,7 @@ end i32.const 15456 call $~lib/string/String#toLowerCase - local.tee $52 + local.tee $51 i32.const 15488 call $~lib/string/String.__eq i32.eqz @@ -3804,7 +3801,7 @@ end i32.const 15520 call $~lib/string/String#toLowerCase - local.tee $53 + local.tee $52 i32.const 15552 call $~lib/string/String.__eq i32.eqz @@ -3818,7 +3815,7 @@ end i32.const 15584 call $~lib/string/String#toLowerCase - local.tee $54 + local.tee $53 i32.const 15616 call $~lib/string/String.__eq i32.eqz @@ -3832,7 +3829,7 @@ end i32.const 15648 call $~lib/string/String#toLowerCase - local.tee $55 + local.tee $54 i32.const 15680 call $~lib/string/String.__eq i32.eqz @@ -3846,7 +3843,7 @@ end i32.const 15712 call $~lib/string/String#toLowerCase - local.tee $56 + local.tee $55 i32.const 15744 call $~lib/string/String.__eq i32.eqz @@ -3860,7 +3857,7 @@ end i32.const 15776 call $~lib/string/String#toLowerCase - local.tee $57 + local.tee $56 i32.const 15808 call $~lib/string/String.__eq i32.eqz @@ -3874,7 +3871,7 @@ end i32.const 15840 call $~lib/string/String#toLowerCase - local.tee $58 + local.tee $57 i32.const 15872 call $~lib/string/String.__eq i32.eqz @@ -3888,7 +3885,7 @@ end i32.const 15904 call $~lib/string/String#toLowerCase - local.tee $59 + local.tee $58 i32.const 15936 call $~lib/string/String.__eq i32.eqz @@ -3902,7 +3899,7 @@ end i32.const 15968 call $~lib/string/String#toLowerCase - local.tee $60 + local.tee $59 i32.const 16000 call $~lib/string/String.__eq i32.eqz @@ -3916,7 +3913,7 @@ end i32.const 16032 call $~lib/string/String#toLowerCase - local.tee $61 + local.tee $60 i32.const 16064 call $~lib/string/String.__eq i32.eqz @@ -3930,7 +3927,7 @@ end i32.const 16096 call $~lib/string/String#toLowerCase - local.tee $62 + local.tee $61 i32.const 16128 call $~lib/string/String.__eq i32.eqz @@ -3944,7 +3941,7 @@ end i32.const 16160 call $~lib/string/String#toLowerCase - local.tee $63 + local.tee $62 i32.const 16192 call $~lib/string/String.__eq i32.eqz @@ -3958,7 +3955,7 @@ end i32.const 16224 call $~lib/string/String#toLowerCase - local.tee $64 + local.tee $63 i32.const 16256 call $~lib/string/String.__eq i32.eqz @@ -3972,7 +3969,7 @@ end i32.const 16288 call $~lib/string/String#toLowerCase - local.tee $65 + local.tee $64 i32.const 16320 call $~lib/string/String.__eq i32.eqz @@ -3986,7 +3983,7 @@ end i32.const 16352 call $~lib/string/String#toLowerCase - local.tee $66 + local.tee $65 i32.const 16384 call $~lib/string/String.__eq i32.eqz @@ -4000,7 +3997,7 @@ end i32.const 16416 call $~lib/string/String#toLowerCase - local.tee $67 + local.tee $66 i32.const 16448 call $~lib/string/String.__eq i32.eqz @@ -4014,7 +4011,7 @@ end i32.const 16480 call $~lib/string/String#toLowerCase - local.tee $68 + local.tee $67 i32.const 16512 call $~lib/string/String.__eq i32.eqz @@ -4028,7 +4025,7 @@ end i32.const 16544 call $~lib/string/String#toLowerCase - local.tee $69 + local.tee $68 i32.const 16576 call $~lib/string/String.__eq i32.eqz @@ -4042,7 +4039,7 @@ end i32.const 16608 call $~lib/string/String#toLowerCase - local.tee $70 + local.tee $69 i32.const 16640 call $~lib/string/String.__eq i32.eqz @@ -4056,7 +4053,7 @@ end i32.const 16672 call $~lib/string/String#toLowerCase - local.tee $71 + local.tee $70 i32.const 16704 call $~lib/string/String.__eq i32.eqz @@ -4070,7 +4067,7 @@ end i32.const 16736 call $~lib/string/String#toLowerCase - local.tee $72 + local.tee $71 i32.const 16768 call $~lib/string/String.__eq i32.eqz @@ -4084,7 +4081,7 @@ end i32.const 16800 call $~lib/string/String#toLowerCase - local.tee $73 + local.tee $72 i32.const 15872 call $~lib/string/String.__eq i32.eqz @@ -4098,7 +4095,7 @@ end i32.const 16832 call $~lib/string/String#toLowerCase - local.tee $74 + local.tee $73 i32.const 16864 call $~lib/string/String.__eq i32.eqz @@ -4112,7 +4109,7 @@ end i32.const 16896 call $~lib/string/String#toLowerCase - local.tee $75 + local.tee $74 i32.const 16928 call $~lib/string/String.__eq i32.eqz @@ -4126,7 +4123,7 @@ end i32.const 16960 call $~lib/string/String#toLowerCase - local.tee $76 + local.tee $75 i32.const 16992 call $~lib/string/String.__eq i32.eqz @@ -4140,7 +4137,7 @@ end i32.const 17024 call $~lib/string/String#toLowerCase - local.tee $77 + local.tee $76 i32.const 17056 call $~lib/string/String.__eq i32.eqz @@ -4154,7 +4151,7 @@ end i32.const 17088 call $~lib/string/String#toLowerCase - local.tee $78 + local.tee $77 i32.const 17120 call $~lib/string/String.__eq i32.eqz @@ -4168,7 +4165,7 @@ end i32.const 17152 call $~lib/string/String#toLowerCase - local.tee $79 + local.tee $78 i32.const 17184 call $~lib/string/String.__eq i32.eqz @@ -4182,7 +4179,7 @@ end i32.const 17216 call $~lib/string/String#toLowerCase - local.tee $80 + local.tee $79 i32.const 17248 call $~lib/string/String.__eq i32.eqz @@ -4196,7 +4193,7 @@ end i32.const 17280 call $~lib/string/String#toLowerCase - local.tee $81 + local.tee $80 i32.const 17312 call $~lib/string/String.__eq i32.eqz @@ -4210,7 +4207,7 @@ end i32.const 17344 call $~lib/string/String#toLowerCase - local.tee $82 + local.tee $81 i32.const 17376 call $~lib/string/String.__eq i32.eqz @@ -4224,7 +4221,7 @@ end i32.const 17408 call $~lib/string/String#toLowerCase - local.tee $83 + local.tee $82 i32.const 17440 call $~lib/string/String.__eq i32.eqz @@ -4238,7 +4235,7 @@ end i32.const 17472 call $~lib/string/String#toLowerCase - local.tee $84 + local.tee $83 i32.const 17504 call $~lib/string/String.__eq i32.eqz @@ -4252,7 +4249,7 @@ end i32.const 17536 call $~lib/string/String#toLowerCase - local.tee $85 + local.tee $84 i32.const 17568 call $~lib/string/String.__eq i32.eqz @@ -4266,7 +4263,7 @@ end i32.const 17600 call $~lib/string/String#toUpperCase - local.tee $86 + local.tee $85 i32.const 17632 call $~lib/string/String.__eq i32.eqz @@ -4280,7 +4277,7 @@ end i32.const 14848 call $~lib/string/String#toUpperCase - local.tee $87 + local.tee $86 i32.const 17664 call $~lib/string/String.__eq i32.eqz @@ -4294,7 +4291,7 @@ end i32.const 17696 call $~lib/string/String#toUpperCase - local.tee $88 + local.tee $87 i32.const 17728 call $~lib/string/String.__eq i32.eqz @@ -4308,7 +4305,7 @@ end i32.const 17760 call $~lib/string/String#toUpperCase - local.tee $89 + local.tee $88 i32.const 17792 call $~lib/string/String.__eq i32.eqz @@ -4322,7 +4319,7 @@ end i32.const 17824 call $~lib/string/String#toUpperCase - local.tee $90 + local.tee $89 i32.const 17856 call $~lib/string/String.__eq i32.eqz @@ -4336,7 +4333,7 @@ end i32.const 17888 call $~lib/string/String#toUpperCase - local.tee $91 + local.tee $90 i32.const 17920 call $~lib/string/String.__eq i32.eqz @@ -4350,7 +4347,7 @@ end i32.const 17952 call $~lib/string/String#toUpperCase - local.tee $92 + local.tee $91 i32.const 17920 call $~lib/string/String.__eq i32.eqz @@ -4364,7 +4361,7 @@ end i32.const 17984 call $~lib/string/String#toUpperCase - local.tee $93 + local.tee $92 i32.const 18016 call $~lib/string/String.__eq i32.eqz @@ -4378,7 +4375,7 @@ end i32.const 18048 call $~lib/string/String#toUpperCase - local.tee $94 + local.tee $93 i32.const 18080 call $~lib/string/String.__eq i32.eqz @@ -4392,7 +4389,7 @@ end i32.const 18112 call $~lib/string/String#toUpperCase - local.tee $95 + local.tee $94 i32.const 18144 call $~lib/string/String.__eq i32.eqz @@ -4406,7 +4403,7 @@ end i32.const 18176 call $~lib/string/String#toUpperCase - local.tee $96 + local.tee $95 i32.const 18208 call $~lib/string/String.__eq i32.eqz @@ -4420,7 +4417,7 @@ end i32.const 18240 call $~lib/string/String#toUpperCase - local.tee $97 + local.tee $96 i32.const 18272 call $~lib/string/String.__eq i32.eqz @@ -4434,7 +4431,7 @@ end i32.const 18304 call $~lib/string/String#toUpperCase - local.tee $98 + local.tee $97 i32.const 18336 call $~lib/string/String.__eq i32.eqz @@ -4447,165 +4444,101 @@ unreachable end loop $for-loop|0 - local.get $4 + local.get $0 i32.const 1114111 i32.le_s if - local.get $4 + local.get $0 call $~lib/string/String.fromCodePoint - local.tee $12 + local.tee $7 call $~lib/string/String#toLowerCase - local.set $5 - local.get $12 + local.set $1 + local.get $7 call $~lib/string/String#toUpperCase - local.set $6 - local.get $5 + local.set $2 + local.get $1 i32.const 0 call $~lib/string/String#codePointAt i64.extend_i32_s - local.set $3 - local.get $5 + local.get $1 i32.const 1 call $~lib/string/String#codePointAt i64.extend_i32_s - local.tee $0 - i64.const 0 - i64.ge_u - if - local.get $3 - local.get $0 - i64.const 16 - i64.shl - i64.add - local.set $3 - end - local.get $5 + i64.const 16 + i64.shl + i64.add + local.get $1 i32.const 2 call $~lib/string/String#codePointAt i64.extend_i32_s - local.tee $0 - i64.const 0 - i64.ge_u - if - local.get $3 - local.get $0 - i64.const 32 - i64.shl - i64.add - local.set $3 - end - local.get $6 + i64.const 32 + i64.shl + i64.add + local.set $8 + local.get $2 i32.const 0 call $~lib/string/String#codePointAt i64.extend_i32_s - local.set $0 - local.get $6 + local.get $2 i32.const 1 call $~lib/string/String#codePointAt i64.extend_i32_s - local.tee $1 - i64.const 0 - i64.ge_u - if - local.get $0 - local.get $1 - i64.const 16 - i64.shl - i64.add - local.set $0 - end - local.get $6 + i64.const 16 + i64.shl + i64.add + local.get $2 i32.const 2 call $~lib/string/String#codePointAt i64.extend_i32_s - local.tee $1 - i64.const 0 - i64.ge_u - if - local.get $0 - local.get $1 - i64.const 32 - i64.shl - i64.add - local.set $0 - end - local.get $4 + i64.const 32 + i64.shl + i64.add + local.set $9 + local.get $0 i32.const 0 call $std/string-casemapping/toLowerCaseFromIndex i64.extend_i32_s - local.set $1 - local.get $4 + local.get $0 i32.const 1 call $std/string-casemapping/toLowerCaseFromIndex i64.extend_i32_s - local.tee $2 - i64.const 0 - i64.ge_u - if - local.get $1 - local.get $2 - i64.const 16 - i64.shl - i64.add - local.set $1 - end - local.get $4 + i64.const 16 + i64.shl + i64.add + local.get $0 i32.const 2 call $std/string-casemapping/toLowerCaseFromIndex i64.extend_i32_s - local.tee $2 - i64.const 0 - i64.ge_u - if - local.get $1 - local.get $2 - i64.const 32 - i64.shl - i64.add - local.set $1 - end - local.get $4 + i64.const 32 + i64.shl + i64.add + local.set $10 + local.get $0 i32.const 0 call $std/string-casemapping/toUpperCaseFromIndex i64.extend_i32_s - local.set $2 - local.get $4 + local.get $0 i32.const 1 call $std/string-casemapping/toUpperCaseFromIndex i64.extend_i32_s - local.tee $7 - i64.const 0 - i64.ge_u - if - local.get $2 - local.get $7 - i64.const 16 - i64.shl - i64.add - local.set $2 - end - local.get $4 + i64.const 16 + i64.shl + i64.add + local.get $0 i32.const 2 call $std/string-casemapping/toUpperCaseFromIndex i64.extend_i32_s - local.tee $7 - i64.const 0 - i64.ge_u - if - local.get $2 - local.get $7 - i64.const 32 - i64.shl - i64.add - local.set $2 - end - local.get $1 - local.get $3 + i64.const 32 + i64.shl + i64.add + local.set $11 + local.get $8 + local.get $10 i64.ne if i32.const 18368 i32.const 1 - local.get $4 + local.get $0 f64.convert_i32_s f64.const 0 f64.const 0 @@ -4613,11 +4546,11 @@ f64.const 0 call $~lib/builtins/trace i32.const 18464 - local.get $3 + local.get $8 call $~lib/util/number/utoa64 - local.tee $8 + local.tee $3 call $~lib/string/String.__concat - local.tee $9 + local.tee $4 i32.const 0 f64.const 0 f64.const 0 @@ -4626,11 +4559,11 @@ f64.const 0 call $~lib/builtins/trace i32.const 18880 - local.get $1 + local.get $10 call $~lib/util/number/utoa64 - local.tee $10 + local.tee $5 call $~lib/string/String.__concat - local.tee $11 + local.tee $6 i32.const 0 f64.const 0 f64.const 0 @@ -4638,22 +4571,22 @@ f64.const 0 f64.const 0 call $~lib/builtins/trace - local.get $8 + local.get $3 call $~lib/rt/pure/__release - local.get $9 + local.get $4 call $~lib/rt/pure/__release - local.get $10 + local.get $5 call $~lib/rt/pure/__release - local.get $11 + local.get $6 call $~lib/rt/pure/__release end - local.get $0 - local.get $2 + local.get $9 + local.get $11 i64.ne if i32.const 18944 i32.const 1 - local.get $4 + local.get $0 f64.convert_i32_s f64.const 0 f64.const 0 @@ -4661,11 +4594,11 @@ f64.const 0 call $~lib/builtins/trace i32.const 19040 - local.get $0 + local.get $9 call $~lib/util/number/utoa64 - local.tee $8 + local.tee $3 call $~lib/string/String.__concat - local.tee $9 + local.tee $4 i32.const 0 f64.const 0 f64.const 0 @@ -4674,11 +4607,11 @@ f64.const 0 call $~lib/builtins/trace i32.const 19104 - local.get $2 + local.get $11 call $~lib/util/number/utoa64 - local.tee $10 + local.tee $5 call $~lib/string/String.__concat - local.tee $11 + local.tee $6 i32.const 0 f64.const 0 f64.const 0 @@ -4686,28 +4619,30 @@ f64.const 0 f64.const 0 call $~lib/builtins/trace - local.get $8 + local.get $3 call $~lib/rt/pure/__release - local.get $9 + local.get $4 call $~lib/rt/pure/__release - local.get $10 + local.get $5 call $~lib/rt/pure/__release - local.get $11 + local.get $6 call $~lib/rt/pure/__release end - local.get $12 + local.get $7 call $~lib/rt/pure/__release - local.get $5 + local.get $1 call $~lib/rt/pure/__release - local.get $6 + local.get $2 call $~lib/rt/pure/__release - local.get $4 + local.get $0 i32.const 1 i32.add - local.set $4 + local.set $0 br $for-loop|0 end end + local.get $12 + call $~lib/rt/pure/__release local.get $13 call $~lib/rt/pure/__release local.get $14 @@ -4878,8 +4813,6 @@ call $~lib/rt/pure/__release local.get $97 call $~lib/rt/pure/__release - local.get $98 - call $~lib/rt/pure/__release ) (func $~start call $start:std/string-casemapping diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index dbc2953dcc..681a102851 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -3659,10 +3659,9 @@ i32.const 46 i32.eq if - local.get $2 local.get $0 - i32.sub - i32.eqz + local.get $2 + i32.eq local.set $2 local.get $0 i32.const 2