mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-05-01 01:42:14 +00:00
Fix continue labels in 'for' loops skipping the incrementor
This commit is contained in:
parent
c897b8405b
commit
829af2285c
2
dist/assemblyscript.js
vendored
2
dist/assemblyscript.js
vendored
File diff suppressed because one or more lines are too long
2
dist/assemblyscript.js.map
vendored
2
dist/assemblyscript.js.map
vendored
File diff suppressed because one or more lines are too long
@ -1601,6 +1601,7 @@ export class Compiler extends DiagnosticEmitter {
|
||||
flow.breakLabel = breakLabel;
|
||||
var continueLabel = "continue|" + label;
|
||||
flow.continueLabel = continueLabel;
|
||||
var loopLabel = "loop|" + label;
|
||||
|
||||
// Compile in correct order
|
||||
var module = this.module;
|
||||
@ -1645,13 +1646,16 @@ export class Compiler extends DiagnosticEmitter {
|
||||
|
||||
var expr = module.createBlock(breakLabel, [
|
||||
initExpr,
|
||||
module.createLoop(continueLabel, module.createBlock(null, [
|
||||
module.createIf(condExpr, module.createBlock(null, [
|
||||
bodyExpr,
|
||||
module.createLoop(loopLabel,
|
||||
module.createBlock(null, [
|
||||
module.createBlock(continueLabel, [
|
||||
module.createBreak(breakLabel, module.createUnary(UnaryOp.EqzI32, condExpr)),
|
||||
bodyExpr
|
||||
], NativeType.None),
|
||||
incrExpr,
|
||||
module.createBreak(continueLabel)
|
||||
], NativeType.None))
|
||||
], NativeType.None))
|
||||
module.createBreak(loopLabel)
|
||||
], NativeType.None)
|
||||
)
|
||||
], NativeType.None);
|
||||
|
||||
// If the loop is guaranteed to run and return, append a hint for Binaryen
|
||||
|
@ -1632,21 +1632,20 @@
|
||||
(i32.const 8388608)
|
||||
)
|
||||
(block (result i32)
|
||||
(block $break|0
|
||||
(set_local $3
|
||||
(i32.shl
|
||||
(get_local $2)
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.eqz
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.shr_u
|
||||
(get_local $3)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
@ -1659,8 +1658,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(i32.shl
|
||||
@ -1684,21 +1682,20 @@
|
||||
(i32.const 8388608)
|
||||
)
|
||||
(block (result i32)
|
||||
(block $break|1
|
||||
(set_local $3
|
||||
(i32.shl
|
||||
(get_local $5)
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(i32.eqz
|
||||
(loop $loop|1
|
||||
(br_if $break|1
|
||||
(i32.shr_u
|
||||
(get_local $3)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $6
|
||||
(i32.sub
|
||||
(get_local $6)
|
||||
@ -1711,8 +1708,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(i32.shl
|
||||
@ -1725,13 +1721,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(i32.gt_s
|
||||
(block $break|2
|
||||
(loop $loop|2
|
||||
(br_if $break|2
|
||||
(i32.le_s
|
||||
(get_local $4)
|
||||
(get_local $6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
@ -1767,8 +1764,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -1794,15 +1790,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(i32.eqz
|
||||
(block $break|3
|
||||
(loop $loop|3
|
||||
(br_if $break|3
|
||||
(i32.shr_u
|
||||
(get_local $2)
|
||||
(i32.const 23)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
@ -1815,8 +1810,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(return
|
||||
@ -3256,21 +3250,24 @@
|
||||
(i64.const 4503599627370496)
|
||||
)
|
||||
(block (result i64)
|
||||
(block $break|0
|
||||
(set_local $4
|
||||
(i64.shl
|
||||
(get_local $2)
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $4)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
(i32.sub
|
||||
(get_local $3)
|
||||
@ -3283,8 +3280,7 @@
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(i64.shl
|
||||
@ -3310,21 +3306,24 @@
|
||||
(i64.const 4503599627370496)
|
||||
)
|
||||
(block (result i64)
|
||||
(block $break|1
|
||||
(set_local $4
|
||||
(i64.shl
|
||||
(get_local $5)
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $4)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $6
|
||||
(i32.sub
|
||||
(get_local $6)
|
||||
@ -3337,8 +3336,7 @@
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(i64.shl
|
||||
@ -3353,13 +3351,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(i32.gt_s
|
||||
(block $break|2
|
||||
(loop $loop|2
|
||||
(br_if $break|2
|
||||
(i32.le_s
|
||||
(get_local $3)
|
||||
(get_local $6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
@ -3395,8 +3394,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -3422,15 +3420,18 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(block $break|3
|
||||
(loop $loop|3
|
||||
(br_if $break|3
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $2)
|
||||
(i64.const 52)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
(i32.sub
|
||||
(get_local $3)
|
||||
@ -3443,8 +3444,7 @@
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(return
|
||||
|
@ -1831,30 +1831,32 @@
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
(get_local $8)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i32.shl
|
||||
(get_local $8)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
@ -1903,30 +1905,32 @@
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(block $continue|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
(get_local $8)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $5
|
||||
(i32.sub
|
||||
(get_local $5)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i32.shl
|
||||
(get_local $8)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
@ -1965,13 +1969,16 @@
|
||||
)
|
||||
(block $break|2
|
||||
(nop)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(loop $loop|2
|
||||
(block $continue|2
|
||||
(br_if $break|2
|
||||
(i32.eqz
|
||||
(i32.gt_s
|
||||
(get_local $4)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $8
|
||||
(i32.sub
|
||||
@ -2010,15 +2017,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
@ -2053,30 +2059,32 @@
|
||||
)
|
||||
(block $break|3
|
||||
(nop)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(loop $loop|3
|
||||
(block $continue|3
|
||||
(br_if $break|3
|
||||
(i32.eqz
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
(get_local $2)
|
||||
(i32.const 23)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
(i32.shl
|
||||
(get_local $2)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -3705,30 +3713,32 @@
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $8)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i64.shl
|
||||
(get_local $8)
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
@ -3779,30 +3789,32 @@
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(block $continue|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $8)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $5
|
||||
(i32.sub
|
||||
(get_local $5)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i64.shl
|
||||
(get_local $8)
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
@ -3843,13 +3855,16 @@
|
||||
)
|
||||
(block $break|2
|
||||
(nop)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(loop $loop|2
|
||||
(block $continue|2
|
||||
(br_if $break|2
|
||||
(i32.eqz
|
||||
(i32.gt_s
|
||||
(get_local $4)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $8
|
||||
(i64.sub
|
||||
@ -3888,15 +3903,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
@ -3931,30 +3945,32 @@
|
||||
)
|
||||
(block $break|3
|
||||
(nop)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(loop $loop|3
|
||||
(block $continue|3
|
||||
(br_if $break|3
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $2)
|
||||
(i64.const 52)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
(i64.shl
|
||||
(get_local $2)
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(if
|
||||
|
@ -182,16 +182,17 @@
|
||||
(unreachable)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $0
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_local $0)
|
||||
(get_global $comma/a)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_global $comma/a
|
||||
(i32.sub
|
||||
(get_global $comma/a)
|
||||
@ -204,8 +205,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(if
|
||||
|
@ -217,14 +217,18 @@
|
||||
(set_local $1
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.lt_s
|
||||
(get_local $1)
|
||||
(get_global $comma/a)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
)
|
||||
(block
|
||||
(set_global $comma/a
|
||||
(i32.sub
|
||||
@ -239,9 +243,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(if
|
||||
|
@ -9,24 +9,24 @@
|
||||
(start $start)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
(local $0 i32)
|
||||
(block $break|0
|
||||
(set_global $for/i
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_global $for/i)
|
||||
(i32.const 10)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_global $for/i
|
||||
(i32.add
|
||||
(get_global $for/i)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -44,38 +44,38 @@
|
||||
(unreachable)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(i32.lt_s
|
||||
(block $break|1
|
||||
(loop $loop|1
|
||||
(br_if $break|1
|
||||
(i32.ge_s
|
||||
(get_local $0)
|
||||
(i32.const 10)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $0
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(i32.gt_s
|
||||
(block $break|2
|
||||
(loop $loop|2
|
||||
(br_if $break|2
|
||||
(i32.le_s
|
||||
(get_global $for/i)
|
||||
(i32.const 0)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_global $for/i
|
||||
(i32.sub
|
||||
(get_global $for/i)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -91,7 +91,7 @@
|
||||
)
|
||||
)
|
||||
(block $break|3
|
||||
(loop $continue|3
|
||||
(loop $loop|3
|
||||
(br_if $break|3
|
||||
(i32.eq
|
||||
(get_global $for/i)
|
||||
@ -104,19 +104,54 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(loop $continue|4
|
||||
(loop $loop|4
|
||||
(set_global $for/i
|
||||
(i32.sub
|
||||
(get_global $for/i)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br_if $continue|4
|
||||
(br_if $loop|4
|
||||
(get_global $for/i)
|
||||
)
|
||||
)
|
||||
(block $break|5
|
||||
(set_local $0
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $loop|5
|
||||
(br_if $break|5
|
||||
(i32.ge_s
|
||||
(get_local $0)
|
||||
(i32.const 10)
|
||||
)
|
||||
)
|
||||
(set_local $0
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $loop|5)
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.ne
|
||||
(get_local $0)
|
||||
(i32.const 10)
|
||||
)
|
||||
(block
|
||||
(call $~lib/env/abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 19)
|
||||
(i32.const 0)
|
||||
)
|
||||
(unreachable)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -11,10 +11,9 @@ for (var j: i32 = 0; j < 10; ++j) {
|
||||
for (; i > 0; --i);
|
||||
assert(i == 0);
|
||||
|
||||
for (;; ++i)
|
||||
if (i == 10)
|
||||
break;
|
||||
for (;; ++i) if (i == 10) break;
|
||||
|
||||
for (;;)
|
||||
if (--i == 0)
|
||||
break;
|
||||
for (;;) if (--i == 0) break;
|
||||
|
||||
for (var k: i32 = 0; k < 10; ++k) continue;
|
||||
assert(k == 10);
|
||||
|
@ -10,27 +10,30 @@
|
||||
(start $start)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(block $break|0
|
||||
(set_global $for/i
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.lt_s
|
||||
(get_global $for/i)
|
||||
(i32.const 10)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
)
|
||||
(set_global $for/i
|
||||
(i32.add
|
||||
(get_global $for/i)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -54,44 +57,48 @@
|
||||
(set_local $0
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(block $continue|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i32.lt_s
|
||||
(get_local $0)
|
||||
(i32.const 10)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
)
|
||||
(set_local $0
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(block $break|2
|
||||
(nop)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(loop $loop|2
|
||||
(block $continue|2
|
||||
(br_if $break|2
|
||||
(i32.eqz
|
||||
(i32.gt_s
|
||||
(get_global $for/i)
|
||||
(i32.const 0)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
)
|
||||
(set_global $for/i
|
||||
(i32.sub
|
||||
(get_global $for/i)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -113,10 +120,13 @@
|
||||
)
|
||||
(block $break|3
|
||||
(nop)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(loop $loop|3
|
||||
(block $continue|3
|
||||
(br_if $break|3
|
||||
(i32.eqz
|
||||
(i32.const 1)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.eq
|
||||
(get_global $for/i)
|
||||
@ -124,23 +134,25 @@
|
||||
)
|
||||
(br $break|3)
|
||||
)
|
||||
)
|
||||
(set_global $for/i
|
||||
(i32.add
|
||||
(get_global $for/i)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(block $break|4
|
||||
(nop)
|
||||
(loop $continue|4
|
||||
(if
|
||||
(loop $loop|4
|
||||
(block $continue|4
|
||||
(br_if $break|4
|
||||
(i32.eqz
|
||||
(i32.const 1)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.eq
|
||||
(block (result i32)
|
||||
@ -156,10 +168,51 @@
|
||||
)
|
||||
(br $break|4)
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
(br $continue|4)
|
||||
(br $loop|4)
|
||||
)
|
||||
)
|
||||
(block $break|5
|
||||
(set_local $1
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $loop|5
|
||||
(block $continue|5
|
||||
(br_if $break|5
|
||||
(i32.eqz
|
||||
(i32.lt_s
|
||||
(get_local $1)
|
||||
(i32.const 10)
|
||||
)
|
||||
)
|
||||
)
|
||||
(br $continue|5)
|
||||
)
|
||||
(set_local $1
|
||||
(i32.add
|
||||
(get_local $1)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $loop|5)
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.eqz
|
||||
(i32.eq
|
||||
(get_local $1)
|
||||
(i32.const 10)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $~lib/env/abort
|
||||
(i32.const 0)
|
||||
(i32.const 8)
|
||||
(i32.const 19)
|
||||
(i32.const 0)
|
||||
)
|
||||
(unreachable)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -42,24 +42,24 @@
|
||||
(set_global $infer-type/rF
|
||||
(call $infer-type/refF)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $1
|
||||
(i32.const 10)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_local $0)
|
||||
(get_local $1)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $0
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -107,23 +107,25 @@
|
||||
(i32.const 10)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.lt_s
|
||||
(get_local $0)
|
||||
(get_local $1)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
)
|
||||
(set_local $0
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -335,16 +335,17 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $2
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_u
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_u
|
||||
(get_local $2)
|
||||
(get_local $1)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $10
|
||||
(f64.mul
|
||||
(f64.sub
|
||||
@ -424,6 +425,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(block $break|2
|
||||
(set_local $7
|
||||
(f64.min
|
||||
(f64.const 8)
|
||||
@ -432,15 +434,17 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(loop $loop|2
|
||||
(br_if $break|2
|
||||
(i32.eqz
|
||||
(f64.lt
|
||||
(f64.convert_u/i32
|
||||
(get_local $6)
|
||||
)
|
||||
(get_local $7)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(f64.add
|
||||
(f64.sub
|
||||
@ -477,8 +481,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(i32.store16
|
||||
@ -548,8 +551,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -398,13 +398,16 @@
|
||||
(set_local $8
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.lt_u
|
||||
(get_local $8)
|
||||
(get_local $1)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $9
|
||||
(f64.mul
|
||||
@ -502,15 +505,18 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(loop $loop|2
|
||||
(block $continue|2
|
||||
(br_if $break|2
|
||||
(i32.eqz
|
||||
(f64.lt
|
||||
(f64.convert_u/i32
|
||||
(get_local $14)
|
||||
)
|
||||
(get_local $15)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $16
|
||||
(f64.add
|
||||
@ -543,15 +549,14 @@
|
||||
(get_local $16)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $14
|
||||
(i32.add
|
||||
(get_local $14)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(set_local $15
|
||||
@ -635,15 +640,14 @@
|
||||
(get_local $17)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i32.add
|
||||
(get_local $8)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -106,16 +106,17 @@
|
||||
(i32.const 255)
|
||||
(i32.const 255)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $0
|
||||
(i32.const -128)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.le_s
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.gt_s
|
||||
(get_local $0)
|
||||
(i32.const 255)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(call $retain-i32/test
|
||||
(i32.const 0)
|
||||
(get_local $0)
|
||||
@ -170,8 +171,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(set_global $retain-i32/si
|
||||
|
@ -558,13 +558,16 @@
|
||||
(set_local $0
|
||||
(i32.const -128)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.le_s
|
||||
(get_local $0)
|
||||
(i32.const 255)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(call $retain-i32/test
|
||||
(i32.const 0)
|
||||
@ -615,15 +618,14 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $0
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(set_global $retain-i32/si
|
||||
|
@ -9,41 +9,41 @@
|
||||
)
|
||||
(func $start (; 1 ;) (type $v)
|
||||
(local $0 i32)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(block $break|0
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $0
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(block $break|1
|
||||
(set_local $0
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(i32.lt_s
|
||||
(loop $loop|1
|
||||
(br_if $break|1
|
||||
(i32.ge_s
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $0
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(call $scoped/fn
|
||||
|
@ -26,48 +26,52 @@
|
||||
(set_local $0
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.lt_s
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
)
|
||||
(set_local $0
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(block $break|1
|
||||
(set_local $1
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(block $continue|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i32.lt_s
|
||||
(get_local $1)
|
||||
(i32.const 1)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(drop
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(set_local $1
|
||||
(i32.add
|
||||
(get_local $1)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
|
@ -1681,21 +1681,20 @@
|
||||
(i32.const 8388608)
|
||||
)
|
||||
(block (result i32)
|
||||
(block $break|0
|
||||
(set_local $3
|
||||
(i32.shl
|
||||
(get_local $2)
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.eqz
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.shr_u
|
||||
(get_local $3)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
@ -1708,8 +1707,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(i32.shl
|
||||
@ -1733,21 +1731,20 @@
|
||||
(i32.const 8388608)
|
||||
)
|
||||
(block (result i32)
|
||||
(block $break|1
|
||||
(set_local $3
|
||||
(i32.shl
|
||||
(get_local $5)
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(i32.eqz
|
||||
(loop $loop|1
|
||||
(br_if $break|1
|
||||
(i32.shr_u
|
||||
(get_local $3)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $6
|
||||
(i32.sub
|
||||
(get_local $6)
|
||||
@ -1760,8 +1757,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(i32.shl
|
||||
@ -1774,13 +1770,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(i32.gt_s
|
||||
(block $break|2
|
||||
(loop $loop|2
|
||||
(br_if $break|2
|
||||
(i32.le_s
|
||||
(get_local $4)
|
||||
(get_local $6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
@ -1816,8 +1813,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -1843,15 +1839,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(i32.eqz
|
||||
(block $break|3
|
||||
(loop $loop|3
|
||||
(br_if $break|3
|
||||
(i32.shr_u
|
||||
(get_local $2)
|
||||
(i32.const 23)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
@ -1864,8 +1859,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(return
|
||||
@ -3305,21 +3299,24 @@
|
||||
(i64.const 4503599627370496)
|
||||
)
|
||||
(block (result i64)
|
||||
(block $break|0
|
||||
(set_local $4
|
||||
(i64.shl
|
||||
(get_local $2)
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $4)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
(i32.sub
|
||||
(get_local $3)
|
||||
@ -3332,8 +3329,7 @@
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(i64.shl
|
||||
@ -3359,21 +3355,24 @@
|
||||
(i64.const 4503599627370496)
|
||||
)
|
||||
(block (result i64)
|
||||
(block $break|1
|
||||
(set_local $4
|
||||
(i64.shl
|
||||
(get_local $5)
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $4)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $6
|
||||
(i32.sub
|
||||
(get_local $6)
|
||||
@ -3386,8 +3385,7 @@
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(i64.shl
|
||||
@ -3402,13 +3400,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(i32.gt_s
|
||||
(block $break|2
|
||||
(loop $loop|2
|
||||
(br_if $break|2
|
||||
(i32.le_s
|
||||
(get_local $3)
|
||||
(get_local $6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
@ -3444,8 +3443,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -3471,15 +3469,18 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(block $break|3
|
||||
(loop $loop|3
|
||||
(br_if $break|3
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $2)
|
||||
(i64.const 52)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
(i32.sub
|
||||
(get_local $3)
|
||||
@ -3492,8 +3493,7 @@
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(return
|
||||
|
@ -1887,30 +1887,32 @@
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
(get_local $8)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i32.shl
|
||||
(get_local $8)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
@ -1959,30 +1961,32 @@
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(block $continue|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
(get_local $8)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $5
|
||||
(i32.sub
|
||||
(get_local $5)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i32.shl
|
||||
(get_local $8)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
@ -2021,13 +2025,16 @@
|
||||
)
|
||||
(block $break|2
|
||||
(nop)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(loop $loop|2
|
||||
(block $continue|2
|
||||
(br_if $break|2
|
||||
(i32.eqz
|
||||
(i32.gt_s
|
||||
(get_local $4)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $8
|
||||
(i32.sub
|
||||
@ -2066,15 +2073,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
@ -2109,30 +2115,32 @@
|
||||
)
|
||||
(block $break|3
|
||||
(nop)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(loop $loop|3
|
||||
(block $continue|3
|
||||
(br_if $break|3
|
||||
(i32.eqz
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
(get_local $2)
|
||||
(i32.const 23)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
(i32.shl
|
||||
(get_local $2)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -3761,30 +3769,32 @@
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $8)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i64.shl
|
||||
(get_local $8)
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
@ -3835,30 +3845,32 @@
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(block $continue|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $8)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $5
|
||||
(i32.sub
|
||||
(get_local $5)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i64.shl
|
||||
(get_local $8)
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
@ -3899,13 +3911,16 @@
|
||||
)
|
||||
(block $break|2
|
||||
(nop)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(loop $loop|2
|
||||
(block $continue|2
|
||||
(br_if $break|2
|
||||
(i32.eqz
|
||||
(i32.gt_s
|
||||
(get_local $4)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $8
|
||||
(i64.sub
|
||||
@ -3944,15 +3959,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
@ -3987,30 +4001,32 @@
|
||||
)
|
||||
(block $break|3
|
||||
(nop)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(loop $loop|3
|
||||
(block $continue|3
|
||||
(br_if $break|3
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $2)
|
||||
(i64.const 52)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
(i64.shl
|
||||
(get_local $2)
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(if
|
||||
|
@ -2415,16 +2415,17 @@
|
||||
(i32.const 18)
|
||||
(i32.const 42)
|
||||
)
|
||||
(block $break|0
|
||||
(set_global $std/allocator_arena/i
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_u
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_u
|
||||
(get_global $std/allocator_arena/i)
|
||||
(i32.const 42)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i32.ne
|
||||
(i32.load8_u
|
||||
@ -2444,14 +2445,15 @@
|
||||
)
|
||||
(unreachable)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_global $std/allocator_arena/i
|
||||
(i32.add
|
||||
(get_global $std/allocator_arena/i)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -2460,16 +2462,17 @@
|
||||
(get_global $std/allocator_arena/ptr1)
|
||||
(i32.const 42)
|
||||
)
|
||||
(block $break|1
|
||||
(set_global $std/allocator_arena/i
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(i32.lt_u
|
||||
(loop $loop|1
|
||||
(br_if $break|1
|
||||
(i32.ge_u
|
||||
(get_global $std/allocator_arena/i)
|
||||
(i32.const 42)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i32.ne
|
||||
(i32.load8_u
|
||||
@ -2489,14 +2492,15 @@
|
||||
)
|
||||
(unreachable)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_global $std/allocator_arena/i
|
||||
(i32.add
|
||||
(get_global $std/allocator_arena/i)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -2729,13 +2729,16 @@
|
||||
(set_global $std/allocator_arena/i
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.lt_u
|
||||
(get_global $std/allocator_arena/i)
|
||||
(i32.const 42)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.eqz
|
||||
(i32.eq
|
||||
@ -2758,15 +2761,14 @@
|
||||
(unreachable)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_global $std/allocator_arena/i
|
||||
(i32.add
|
||||
(get_global $std/allocator_arena/i)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(call $~lib/memory/move_memory
|
||||
@ -2778,13 +2780,16 @@
|
||||
(set_global $std/allocator_arena/i
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(block $continue|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i32.lt_u
|
||||
(get_global $std/allocator_arena/i)
|
||||
(i32.const 42)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.eqz
|
||||
(i32.eq
|
||||
@ -2807,15 +2812,14 @@
|
||||
(unreachable)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_global $std/allocator_arena/i
|
||||
(i32.add
|
||||
(get_global $std/allocator_arena/i)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(if
|
||||
|
@ -2930,6 +2930,7 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $2
|
||||
(i32.sub
|
||||
(i32.load offset=4
|
||||
@ -2938,13 +2939,13 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_local $1)
|
||||
(get_local $2)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $4
|
||||
(i32.load offset=8
|
||||
(i32.add
|
||||
@ -2996,8 +2997,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $0)
|
||||
@ -3358,13 +3358,15 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $4
|
||||
(i32.load offset=4
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(if (result i32)
|
||||
(tee_local $5
|
||||
(i32.lt_s
|
||||
@ -3380,7 +3382,8 @@
|
||||
)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(if
|
||||
(block (result i32)
|
||||
(set_global $~argc
|
||||
@ -3407,14 +3410,15 @@
|
||||
(return
|
||||
(get_local $2)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $2
|
||||
(i32.add
|
||||
(get_local $2)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -3471,13 +3475,15 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $4
|
||||
(i32.load offset=4
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(if (result i32)
|
||||
(tee_local $5
|
||||
(i32.lt_s
|
||||
@ -3493,7 +3499,8 @@
|
||||
)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(if
|
||||
(block (result i32)
|
||||
(set_global $~argc
|
||||
@ -3522,14 +3529,15 @@
|
||||
(return
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $2
|
||||
(i32.add
|
||||
(get_local $2)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -3586,13 +3594,15 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $4
|
||||
(i32.load offset=4
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(if (result i32)
|
||||
(tee_local $5
|
||||
(i32.lt_s
|
||||
@ -3608,7 +3618,8 @@
|
||||
)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(if
|
||||
(block (result i32)
|
||||
(set_global $~argc
|
||||
@ -3635,14 +3646,15 @@
|
||||
(return
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $2
|
||||
(i32.add
|
||||
(get_local $2)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -3701,13 +3713,15 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $4
|
||||
(i32.load offset=4
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(if (result i32)
|
||||
(tee_local $5
|
||||
(i32.lt_s
|
||||
@ -3723,7 +3737,8 @@
|
||||
)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_global $~argc
|
||||
(i32.const 3)
|
||||
)
|
||||
@ -3747,8 +3762,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -3810,8 +3824,10 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(block $break|0
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(if (result i32)
|
||||
(tee_local $7
|
||||
(i32.lt_s
|
||||
@ -3827,7 +3843,8 @@
|
||||
)
|
||||
(get_local $7)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_global $~argc
|
||||
(i32.const 3)
|
||||
)
|
||||
@ -3860,8 +3877,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $5)
|
||||
@ -3935,8 +3951,10 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(block $break|0
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(if (result i32)
|
||||
(tee_local $7
|
||||
(i32.lt_s
|
||||
@ -3952,7 +3970,8 @@
|
||||
)
|
||||
(get_local $7)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_global $~argc
|
||||
(i32.const 3)
|
||||
)
|
||||
@ -3985,8 +4004,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $5)
|
||||
@ -4042,8 +4060,10 @@
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(block $break|0
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(if (result i32)
|
||||
(tee_local $3
|
||||
(i32.lt_s
|
||||
@ -4059,7 +4079,8 @@
|
||||
)
|
||||
(get_local $3)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
(i32.load offset=8
|
||||
(i32.add
|
||||
@ -4099,8 +4120,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $4)
|
||||
@ -4168,13 +4188,15 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $5
|
||||
(i32.load offset=4
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(if (result i32)
|
||||
(tee_local $6
|
||||
(i32.lt_s
|
||||
@ -4190,7 +4212,8 @@
|
||||
)
|
||||
(get_local $6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_global $~argc
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -4217,8 +4240,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $2)
|
||||
@ -4280,6 +4302,7 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $3
|
||||
(i32.sub
|
||||
(i32.load offset=4
|
||||
@ -4288,13 +4311,13 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.ge_s
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.lt_s
|
||||
(get_local $3)
|
||||
(i32.const 0)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_global $~argc
|
||||
(i32.const 4)
|
||||
)
|
||||
@ -4321,8 +4344,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $2)
|
||||
@ -4395,18 +4417,19 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $0
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_local $0)
|
||||
(call $~lib/array/Array<i32>#get:length
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(call $~lib/array/Array<i32>#__set
|
||||
(get_local $1)
|
||||
(get_local $0)
|
||||
@ -4426,8 +4449,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $1)
|
||||
@ -4509,15 +4531,16 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(block $break|0
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_local $1)
|
||||
(call $~lib/array/Array<i32>#get:length
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(call $~lib/array/Array<i32>#__set
|
||||
(get_local $0)
|
||||
(get_local $1)
|
||||
@ -4538,8 +4561,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $0)
|
||||
@ -4569,18 +4591,19 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $7
|
||||
(call $~lib/array/Array<i32>#get:length
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_local $2)
|
||||
(get_local $7)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $5
|
||||
(i32.load offset=8
|
||||
(i32.add
|
||||
@ -4675,8 +4698,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $0)
|
||||
@ -4721,19 +4743,20 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $8)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.gt_s
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.le_s
|
||||
(get_local $4)
|
||||
(i32.const 0)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $5
|
||||
(get_local $4)
|
||||
)
|
||||
@ -4883,23 +4906,23 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(block $break|2
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $8)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(i32.ge_s
|
||||
(loop $loop|2
|
||||
(br_if $break|2
|
||||
(i32.lt_s
|
||||
(get_local $4)
|
||||
(i32.const 2)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $7
|
||||
(i32.load offset=8
|
||||
(get_local $3)
|
||||
@ -5075,8 +5098,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(call $~lib/allocator/arena/free_memory
|
||||
@ -5197,6 +5219,7 @@
|
||||
(func $std/array/isSorted<i32> (; 73 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(block $break|0
|
||||
(set_local $2
|
||||
(i32.const 1)
|
||||
)
|
||||
@ -5205,13 +5228,13 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_local $2)
|
||||
(get_local $3)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(block (result i32)
|
||||
(set_global $~argc
|
||||
@ -5238,14 +5261,15 @@
|
||||
(return
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $2
|
||||
(i32.add
|
||||
(get_local $2)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -5306,13 +5330,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(block $break|0
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_local $3)
|
||||
(get_local $2)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i32.ne
|
||||
(call $~lib/array/Array<i32>#__get
|
||||
@ -5327,14 +5352,15 @@
|
||||
(return
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $3
|
||||
(i32.add
|
||||
(get_local $3)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -5360,18 +5386,19 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $0
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_local $0)
|
||||
(call $~lib/array/Array<i32>#get:length
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(call $~lib/array/Array<i32>#__set
|
||||
(get_local $1)
|
||||
(get_local $0)
|
||||
@ -5402,8 +5429,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $1)
|
||||
@ -5547,18 +5573,19 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $0
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_local $0)
|
||||
(call $~lib/array/Array<i32>#get:length
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(call $~lib/array/Array<i32>#__set
|
||||
(get_local $1)
|
||||
(get_local $0)
|
||||
@ -5581,8 +5608,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $1)
|
||||
@ -5919,13 +5945,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(block $break|0
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_local $3)
|
||||
(get_local $2)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(call $~lib/string/String.__ne
|
||||
(call $~lib/array/Array<i32>#__get
|
||||
@ -5940,14 +5967,15 @@
|
||||
(return
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $3
|
||||
(i32.add
|
||||
(get_local $3)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -6149,13 +6177,14 @@
|
||||
(set_local $1
|
||||
(i32.const 544)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(block $break|0
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_local $2)
|
||||
(get_local $0)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $1
|
||||
(call $~lib/string/String.__concat
|
||||
(get_local $1)
|
||||
@ -6182,8 +6211,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $1)
|
||||
@ -6196,18 +6224,19 @@
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $0
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_local $0)
|
||||
(call $~lib/array/Array<i32>#get:length
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(call $~lib/array/Array<i32>#__set
|
||||
(get_local $1)
|
||||
(get_local $0)
|
||||
@ -6226,8 +6255,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $1)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -17,6 +17,7 @@
|
||||
(set_local $2
|
||||
(i32.const -2128831035)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $3
|
||||
(i32.shl
|
||||
(i32.load
|
||||
@ -25,13 +26,13 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_u
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_u
|
||||
(get_local $1)
|
||||
(get_local $3)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $2
|
||||
(i32.mul
|
||||
(i32.xor
|
||||
@ -52,8 +53,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $2)
|
||||
|
@ -44,13 +44,16 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.lt_u
|
||||
(get_local $2)
|
||||
(get_local $3)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $1
|
||||
(i32.mul
|
||||
(i32.xor
|
||||
@ -65,15 +68,14 @@
|
||||
(i32.const 16777619)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
(i32.add
|
||||
(get_local $2)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(return
|
||||
|
@ -8600,21 +8600,24 @@
|
||||
(i64.const 4503599627370496)
|
||||
)
|
||||
(block (result i64)
|
||||
(block $break|0
|
||||
(set_local $4
|
||||
(i64.shl
|
||||
(get_local $2)
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $4)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
(i32.sub
|
||||
(get_local $3)
|
||||
@ -8627,8 +8630,7 @@
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(i64.shl
|
||||
@ -8654,21 +8656,24 @@
|
||||
(i64.const 4503599627370496)
|
||||
)
|
||||
(block (result i64)
|
||||
(block $break|1
|
||||
(set_local $4
|
||||
(i64.shl
|
||||
(get_local $5)
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $4)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $6
|
||||
(i32.sub
|
||||
(get_local $6)
|
||||
@ -8681,8 +8686,7 @@
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(i64.shl
|
||||
@ -8697,13 +8701,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(i32.gt_s
|
||||
(block $break|2
|
||||
(loop $loop|2
|
||||
(br_if $break|2
|
||||
(i32.le_s
|
||||
(get_local $3)
|
||||
(get_local $6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
@ -8739,8 +8744,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -8766,15 +8770,18 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(block $break|3
|
||||
(loop $loop|3
|
||||
(br_if $break|3
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $2)
|
||||
(i64.const 52)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
(i32.sub
|
||||
(get_local $3)
|
||||
@ -8787,8 +8794,7 @@
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(return
|
||||
@ -8987,21 +8993,20 @@
|
||||
(i32.const 8388608)
|
||||
)
|
||||
(block (result i32)
|
||||
(block $break|0
|
||||
(set_local $3
|
||||
(i32.shl
|
||||
(get_local $2)
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.eqz
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.shr_u
|
||||
(get_local $3)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
@ -9014,8 +9019,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(i32.shl
|
||||
@ -9039,21 +9043,20 @@
|
||||
(i32.const 8388608)
|
||||
)
|
||||
(block (result i32)
|
||||
(block $break|1
|
||||
(set_local $3
|
||||
(i32.shl
|
||||
(get_local $5)
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(i32.eqz
|
||||
(loop $loop|1
|
||||
(br_if $break|1
|
||||
(i32.shr_u
|
||||
(get_local $3)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $6
|
||||
(i32.sub
|
||||
(get_local $6)
|
||||
@ -9066,8 +9069,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(i32.shl
|
||||
@ -9080,13 +9082,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(i32.gt_s
|
||||
(block $break|2
|
||||
(loop $loop|2
|
||||
(br_if $break|2
|
||||
(i32.le_s
|
||||
(get_local $4)
|
||||
(get_local $6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
@ -9122,8 +9125,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -9149,15 +9151,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(i32.eqz
|
||||
(block $break|3
|
||||
(loop $loop|3
|
||||
(br_if $break|3
|
||||
(i32.shr_u
|
||||
(get_local $2)
|
||||
(i32.const 23)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
@ -9170,8 +9171,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(return
|
||||
@ -12394,22 +12394,23 @@
|
||||
(i64.const 4503599627370496)
|
||||
)
|
||||
(block (result i64)
|
||||
(block $break|0
|
||||
(set_local $5
|
||||
(i64.shl
|
||||
(get_local $3)
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i64.eq
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i64.ne
|
||||
(i64.shr_u
|
||||
(get_local $5)
|
||||
(i64.const 63)
|
||||
)
|
||||
(i64.const 0)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $2
|
||||
(i32.sub
|
||||
(get_local $2)
|
||||
@ -12422,8 +12423,7 @@
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(i64.shl
|
||||
@ -12457,22 +12457,23 @@
|
||||
(i64.const 4503599627370496)
|
||||
)
|
||||
(block (result i64)
|
||||
(block $break|1
|
||||
(set_local $5
|
||||
(i64.shl
|
||||
(get_local $7)
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(i64.eq
|
||||
(loop $loop|1
|
||||
(br_if $break|1
|
||||
(i64.ne
|
||||
(i64.shr_u
|
||||
(get_local $5)
|
||||
(i64.const 63)
|
||||
)
|
||||
(i64.const 0)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $6
|
||||
(i32.sub
|
||||
(get_local $6)
|
||||
@ -12485,8 +12486,7 @@
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(i64.shl
|
||||
@ -12530,13 +12530,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(i32.gt_s
|
||||
(block $break|3
|
||||
(loop $loop|3
|
||||
(br_if $break|3
|
||||
(i32.le_s
|
||||
(get_local $2)
|
||||
(get_local $6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i64.eq
|
||||
(i64.shr_u
|
||||
@ -12580,8 +12581,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -12617,16 +12617,17 @@
|
||||
(set_local $2
|
||||
(i32.const -60)
|
||||
)
|
||||
(loop $continue|4
|
||||
(if
|
||||
(i64.eq
|
||||
(block $break|4
|
||||
(loop $loop|4
|
||||
(br_if $break|4
|
||||
(i64.ne
|
||||
(i64.shr_u
|
||||
(get_local $3)
|
||||
(i64.const 52)
|
||||
)
|
||||
(i64.const 0)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $3
|
||||
(i64.shl
|
||||
(get_local $3)
|
||||
@ -12639,8 +12640,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|4)
|
||||
)
|
||||
(br $loop|4)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -12859,21 +12859,20 @@
|
||||
(i32.const 8388608)
|
||||
)
|
||||
(block (result i32)
|
||||
(block $break|0
|
||||
(set_local $2
|
||||
(i32.shl
|
||||
(get_local $4)
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.eqz
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.shr_u
|
||||
(get_local $2)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $3
|
||||
(i32.sub
|
||||
(get_local $3)
|
||||
@ -12886,8 +12885,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(i32.shl
|
||||
@ -12917,21 +12915,20 @@
|
||||
(i32.const 8388608)
|
||||
)
|
||||
(block (result i32)
|
||||
(block $break|1
|
||||
(set_local $2
|
||||
(i32.shl
|
||||
(get_local $7)
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(i32.eqz
|
||||
(loop $loop|1
|
||||
(br_if $break|1
|
||||
(i32.shr_u
|
||||
(get_local $2)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $6
|
||||
(i32.sub
|
||||
(get_local $6)
|
||||
@ -12944,8 +12941,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(i32.shl
|
||||
@ -12988,13 +12984,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(i32.gt_s
|
||||
(block $break|3
|
||||
(loop $loop|3
|
||||
(br_if $break|3
|
||||
(i32.le_s
|
||||
(get_local $3)
|
||||
(get_local $6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
@ -13037,8 +13034,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -13067,15 +13063,14 @@
|
||||
)
|
||||
(if
|
||||
(get_local $4)
|
||||
(loop $continue|4
|
||||
(if
|
||||
(i32.eqz
|
||||
(block $break|4
|
||||
(loop $loop|4
|
||||
(br_if $break|4
|
||||
(i32.shr_u
|
||||
(get_local $4)
|
||||
(i32.const 23)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $4
|
||||
(i32.shl
|
||||
(get_local $4)
|
||||
@ -13088,8 +13083,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|4)
|
||||
)
|
||||
(br $loop|4)
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
@ -44243,17 +44237,19 @@
|
||||
(call $~lib/math/JSMath.random)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(block $break|0
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(f64.lt
|
||||
(f64.convert_s/i32
|
||||
(get_local $0)
|
||||
)
|
||||
(f64.const 1e6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.eqz
|
||||
(if (result i32)
|
||||
(tee_local $1
|
||||
(f64.ge
|
||||
@ -44269,6 +44265,14 @@
|
||||
)
|
||||
(get_local $1)
|
||||
)
|
||||
(block
|
||||
(set_local $0
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
(block
|
||||
(call $~lib/env/abort
|
||||
@ -44280,14 +44284,6 @@
|
||||
(unreachable)
|
||||
)
|
||||
)
|
||||
(set_local $0
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(call $~lib/math/NativeMath.seedRandom
|
||||
@ -44295,20 +44291,22 @@
|
||||
(call $~lib/math/JSMath.random)
|
||||
)
|
||||
)
|
||||
(block $break|1
|
||||
(set_local $0
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(f64.lt
|
||||
(f64.convert_s/i32
|
||||
(get_local $0)
|
||||
)
|
||||
(f64.const 1e6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.eqz
|
||||
(if (result i32)
|
||||
(tee_local $1
|
||||
(f32.ge
|
||||
@ -44324,6 +44322,14 @@
|
||||
)
|
||||
(get_local $1)
|
||||
)
|
||||
(block
|
||||
(set_local $0
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
(block
|
||||
(call $~lib/env/abort
|
||||
@ -44335,14 +44341,6 @@
|
||||
(unreachable)
|
||||
)
|
||||
)
|
||||
(set_local $0
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if
|
||||
|
@ -10237,30 +10237,32 @@
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $8)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i64.shl
|
||||
(get_local $8)
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
@ -10311,30 +10313,32 @@
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(block $continue|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $8)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $5
|
||||
(i32.sub
|
||||
(get_local $5)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i64.shl
|
||||
(get_local $8)
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
@ -10375,13 +10379,16 @@
|
||||
)
|
||||
(block $break|2
|
||||
(nop)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(loop $loop|2
|
||||
(block $continue|2
|
||||
(br_if $break|2
|
||||
(i32.eqz
|
||||
(i32.gt_s
|
||||
(get_local $4)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $8
|
||||
(i64.sub
|
||||
@ -10420,15 +10427,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
@ -10463,30 +10469,32 @@
|
||||
)
|
||||
(block $break|3
|
||||
(nop)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(loop $loop|3
|
||||
(block $continue|3
|
||||
(br_if $break|3
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $2)
|
||||
(i64.const 52)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
(i64.shl
|
||||
(get_local $2)
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -10711,30 +10719,32 @@
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
(get_local $8)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i32.shl
|
||||
(get_local $8)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
@ -10783,30 +10793,32 @@
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(block $continue|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
(get_local $8)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $5
|
||||
(i32.sub
|
||||
(get_local $5)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i32.shl
|
||||
(get_local $8)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
@ -10845,13 +10857,16 @@
|
||||
)
|
||||
(block $break|2
|
||||
(nop)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(loop $loop|2
|
||||
(block $continue|2
|
||||
(br_if $break|2
|
||||
(i32.eqz
|
||||
(i32.gt_s
|
||||
(get_local $4)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $8
|
||||
(i32.sub
|
||||
@ -10890,15 +10905,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
@ -10933,30 +10947,32 @@
|
||||
)
|
||||
(block $break|3
|
||||
(nop)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(loop $loop|3
|
||||
(block $continue|3
|
||||
(br_if $break|3
|
||||
(i32.eqz
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
(get_local $2)
|
||||
(i32.const 23)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
(i32.shl
|
||||
(get_local $2)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -14663,8 +14679,10 @@
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i64.eq
|
||||
(i64.shr_u
|
||||
(get_local $10)
|
||||
@ -14672,8 +14690,10 @@
|
||||
)
|
||||
(i64.const 0)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
)
|
||||
(block
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
@ -14688,9 +14708,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(set_local $9
|
||||
@ -14741,8 +14759,10 @@
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(block $continue|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i64.eq
|
||||
(i64.shr_u
|
||||
(get_local $10)
|
||||
@ -14750,8 +14770,10 @@
|
||||
)
|
||||
(i64.const 0)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
)
|
||||
(block
|
||||
(set_local $5
|
||||
(i32.sub
|
||||
@ -14766,9 +14788,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
@ -14835,13 +14855,16 @@
|
||||
)
|
||||
(block $break|3
|
||||
(nop)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(loop $loop|3
|
||||
(block $continue|3
|
||||
(br_if $break|3
|
||||
(i32.eqz
|
||||
(i32.gt_s
|
||||
(get_local $4)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $10
|
||||
(i64.sub
|
||||
@ -14882,15 +14905,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(set_local $10
|
||||
@ -14929,8 +14951,10 @@
|
||||
)
|
||||
(block $break|4
|
||||
(nop)
|
||||
(loop $continue|4
|
||||
(if
|
||||
(loop $loop|4
|
||||
(block $continue|4
|
||||
(br_if $break|4
|
||||
(i32.eqz
|
||||
(i64.eq
|
||||
(i64.shr_u
|
||||
(get_local $9)
|
||||
@ -14938,8 +14962,10 @@
|
||||
)
|
||||
(i64.const 0)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
)
|
||||
(block
|
||||
(set_local $9
|
||||
(i64.shl
|
||||
@ -14954,9 +14980,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(br $continue|4)
|
||||
)
|
||||
)
|
||||
(br $loop|4)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -15222,8 +15246,10 @@
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.eq
|
||||
(i32.shr_u
|
||||
(get_local $8)
|
||||
@ -15231,8 +15257,10 @@
|
||||
)
|
||||
(i32.const 0)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
)
|
||||
(block
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
@ -15247,9 +15275,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(set_local $9
|
||||
@ -15298,8 +15324,10 @@
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(block $continue|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i32.eq
|
||||
(i32.shr_u
|
||||
(get_local $8)
|
||||
@ -15307,8 +15335,10 @@
|
||||
)
|
||||
(i32.const 0)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
)
|
||||
(block
|
||||
(set_local $5
|
||||
(i32.sub
|
||||
@ -15323,9 +15353,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
@ -15390,13 +15418,16 @@
|
||||
)
|
||||
(block $break|3
|
||||
(nop)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(loop $loop|3
|
||||
(block $continue|3
|
||||
(br_if $break|3
|
||||
(i32.eqz
|
||||
(i32.gt_s
|
||||
(get_local $4)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $8
|
||||
(i32.sub
|
||||
@ -15437,15 +15468,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
@ -15484,8 +15514,10 @@
|
||||
)
|
||||
(block $break|4
|
||||
(nop)
|
||||
(loop $continue|4
|
||||
(if
|
||||
(loop $loop|4
|
||||
(block $continue|4
|
||||
(br_if $break|4
|
||||
(i32.eqz
|
||||
(i32.eq
|
||||
(i32.shr_u
|
||||
(get_local $9)
|
||||
@ -15493,8 +15525,10 @@
|
||||
)
|
||||
(i32.const 0)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
)
|
||||
(block
|
||||
(set_local $9
|
||||
(i32.shl
|
||||
@ -15509,9 +15543,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(br $continue|4)
|
||||
)
|
||||
)
|
||||
(br $loop|4)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -47452,15 +47484,18 @@
|
||||
(set_local $0
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(f64.lt
|
||||
(f64.convert_s/i32
|
||||
(get_local $0)
|
||||
)
|
||||
(f64.const 1e6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $1
|
||||
(call $~lib/math/NativeMath.random)
|
||||
@ -47492,15 +47527,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $0
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(block $~lib/math/NativeMathf.seedRandom|inlined.0
|
||||
@ -47517,15 +47551,18 @@
|
||||
(set_local $0
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(block $continue|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(f64.lt
|
||||
(f64.convert_s/i32
|
||||
(get_local $0)
|
||||
)
|
||||
(f64.const 1e6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $4
|
||||
(call $~lib/math/NativeMathf.random)
|
||||
@ -47557,15 +47594,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $0
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(if
|
||||
|
@ -145,21 +145,24 @@
|
||||
(i64.const 4503599627370496)
|
||||
)
|
||||
(block (result i64)
|
||||
(block $break|0
|
||||
(set_local $4
|
||||
(i64.shl
|
||||
(get_local $2)
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $4)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
(i32.sub
|
||||
(get_local $3)
|
||||
@ -172,8 +175,7 @@
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(i64.shl
|
||||
@ -199,21 +201,24 @@
|
||||
(i64.const 4503599627370496)
|
||||
)
|
||||
(block (result i64)
|
||||
(block $break|1
|
||||
(set_local $4
|
||||
(i64.shl
|
||||
(get_local $5)
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $4)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $6
|
||||
(i32.sub
|
||||
(get_local $6)
|
||||
@ -226,8 +231,7 @@
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(i64.shl
|
||||
@ -242,13 +246,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(i32.gt_s
|
||||
(block $break|2
|
||||
(loop $loop|2
|
||||
(br_if $break|2
|
||||
(i32.le_s
|
||||
(get_local $3)
|
||||
(get_local $6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
@ -284,8 +289,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -311,15 +315,18 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(block $break|3
|
||||
(loop $loop|3
|
||||
(br_if $break|3
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $2)
|
||||
(i64.const 52)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
(i32.sub
|
||||
(get_local $3)
|
||||
@ -332,8 +339,7 @@
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(return
|
||||
@ -568,21 +574,20 @@
|
||||
(i32.const 8388608)
|
||||
)
|
||||
(block (result i32)
|
||||
(block $break|0
|
||||
(set_local $3
|
||||
(i32.shl
|
||||
(get_local $2)
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.eqz
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.shr_u
|
||||
(get_local $3)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
@ -595,8 +600,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(i32.shl
|
||||
@ -620,21 +624,20 @@
|
||||
(i32.const 8388608)
|
||||
)
|
||||
(block (result i32)
|
||||
(block $break|1
|
||||
(set_local $3
|
||||
(i32.shl
|
||||
(get_local $5)
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(i32.eqz
|
||||
(loop $loop|1
|
||||
(br_if $break|1
|
||||
(i32.shr_u
|
||||
(get_local $3)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $6
|
||||
(i32.sub
|
||||
(get_local $6)
|
||||
@ -647,8 +650,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(i32.shl
|
||||
@ -661,13 +663,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(i32.gt_s
|
||||
(block $break|2
|
||||
(loop $loop|2
|
||||
(br_if $break|2
|
||||
(i32.le_s
|
||||
(get_local $4)
|
||||
(get_local $6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
@ -703,8 +706,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -730,15 +732,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(i32.eqz
|
||||
(block $break|3
|
||||
(loop $loop|3
|
||||
(br_if $break|3
|
||||
(i32.shr_u
|
||||
(get_local $2)
|
||||
(i32.const 23)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
@ -751,8 +752,7 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(return
|
||||
|
@ -160,30 +160,32 @@
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $8)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i64.shl
|
||||
(get_local $8)
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
@ -234,30 +236,32 @@
|
||||
(i64.const 12)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(block $continue|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $8)
|
||||
(i64.const 63)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $5
|
||||
(i32.sub
|
||||
(get_local $5)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i64.shl
|
||||
(get_local $8)
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
@ -298,13 +302,16 @@
|
||||
)
|
||||
(block $break|2
|
||||
(nop)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(loop $loop|2
|
||||
(block $continue|2
|
||||
(br_if $break|2
|
||||
(i32.eqz
|
||||
(i32.gt_s
|
||||
(get_local $4)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $8
|
||||
(i64.sub
|
||||
@ -343,15 +350,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
@ -386,30 +392,32 @@
|
||||
)
|
||||
(block $break|3
|
||||
(nop)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(loop $loop|3
|
||||
(block $continue|3
|
||||
(br_if $break|3
|
||||
(i32.eqz
|
||||
(i64.eqz
|
||||
(i64.shr_u
|
||||
(get_local $2)
|
||||
(i64.const 52)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
(i64.shl
|
||||
(get_local $2)
|
||||
(i64.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(if
|
||||
@ -676,30 +684,32 @@
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
(get_local $8)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i32.shl
|
||||
(get_local $8)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
@ -748,30 +758,32 @@
|
||||
(i32.const 9)
|
||||
)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
(loop $loop|1
|
||||
(block $continue|1
|
||||
(br_if $break|1
|
||||
(i32.eqz
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
(get_local $8)
|
||||
(i32.const 31)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $5
|
||||
(i32.sub
|
||||
(get_local $5)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
(i32.shl
|
||||
(get_local $8)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
(br $loop|1)
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
@ -810,13 +822,16 @@
|
||||
)
|
||||
(block $break|2
|
||||
(nop)
|
||||
(loop $continue|2
|
||||
(if
|
||||
(loop $loop|2
|
||||
(block $continue|2
|
||||
(br_if $break|2
|
||||
(i32.eqz
|
||||
(i32.gt_s
|
||||
(get_local $4)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $8
|
||||
(i32.sub
|
||||
@ -855,15 +870,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|2)
|
||||
)
|
||||
)
|
||||
(br $loop|2)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
@ -898,30 +912,32 @@
|
||||
)
|
||||
(block $break|3
|
||||
(nop)
|
||||
(loop $continue|3
|
||||
(if
|
||||
(loop $loop|3
|
||||
(block $continue|3
|
||||
(br_if $break|3
|
||||
(i32.eqz
|
||||
(i32.eqz
|
||||
(i32.shr_u
|
||||
(get_local $2)
|
||||
(i32.const 23)
|
||||
)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
(i32.sub
|
||||
(get_local $4)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
(i32.shl
|
||||
(get_local $2)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|3)
|
||||
)
|
||||
)
|
||||
(br $loop|3)
|
||||
)
|
||||
)
|
||||
(if
|
||||
|
@ -2104,18 +2104,19 @@
|
||||
(unreachable)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $3
|
||||
(i32.load offset=8
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_u
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_u
|
||||
(get_local $2)
|
||||
(get_local $3)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i32.eq
|
||||
(i32.load
|
||||
@ -2134,14 +2135,15 @@
|
||||
(return
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $2
|
||||
(i32.add
|
||||
(get_local $2)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -2164,18 +2166,19 @@
|
||||
(unreachable)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $3
|
||||
(i32.load offset=8
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_u
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_u
|
||||
(get_local $2)
|
||||
(get_local $3)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i32.eq
|
||||
(i32.load
|
||||
@ -2244,14 +2247,15 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $2
|
||||
(i32.add
|
||||
(get_local $2)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -2408,13 +2408,16 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.lt_u
|
||||
(get_local $2)
|
||||
(get_local $3)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.eq
|
||||
(i32.load
|
||||
@ -2434,15 +2437,14 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
(i32.add
|
||||
(get_local $2)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(return
|
||||
@ -2480,13 +2482,16 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.lt_u
|
||||
(get_local $2)
|
||||
(get_local $3)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.eq
|
||||
(i32.load
|
||||
@ -2556,15 +2561,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $2
|
||||
(i32.add
|
||||
(get_local $2)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(return
|
||||
|
@ -23,18 +23,19 @@
|
||||
(set_local $1
|
||||
(i32.const 1)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $4
|
||||
(i32.load
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_u
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_u
|
||||
(get_local $2)
|
||||
(get_local $4)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $2
|
||||
(if (result i32)
|
||||
(i32.lt_u
|
||||
@ -139,8 +140,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $1)
|
||||
@ -249,18 +249,20 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $6
|
||||
(i32.load
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_u
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.ge_u
|
||||
(get_local $2)
|
||||
(get_local $6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(set_local $3
|
||||
(if (result i32)
|
||||
(i32.lt_u
|
||||
@ -450,7 +452,7 @@
|
||||
(i32.const 2)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -501,8 +503,8 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(i32.store8
|
||||
|
@ -40,13 +40,16 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.lt_u
|
||||
(get_local $2)
|
||||
(get_local $3)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $4
|
||||
(i32.load16_u offset=4
|
||||
@ -160,10 +163,9 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(return
|
||||
@ -313,13 +315,16 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.lt_u
|
||||
(get_local $4)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $6
|
||||
(i32.load16_u offset=4
|
||||
@ -572,10 +577,9 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(nop)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(i32.store8
|
||||
|
@ -377,6 +377,7 @@
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $2
|
||||
(select
|
||||
(tee_local $2
|
||||
@ -402,18 +403,17 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.le_s
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.gt_s
|
||||
(i32.add
|
||||
(get_local $2)
|
||||
(get_local $4)
|
||||
)
|
||||
(get_local $5)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(if
|
||||
(i32.eqz
|
||||
(call $~lib/memory/compare_memory
|
||||
(i32.add
|
||||
(i32.add
|
||||
@ -434,18 +434,18 @@
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(return
|
||||
(get_local $2)
|
||||
)
|
||||
)
|
||||
(block
|
||||
(set_local $2
|
||||
(i32.add
|
||||
(get_local $2)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
(br $loop|0)
|
||||
)
|
||||
(return
|
||||
(get_local $2)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -3629,6 +3629,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(block $break|0
|
||||
(set_local $2
|
||||
(i32.const 0)
|
||||
)
|
||||
@ -3643,13 +3644,13 @@
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(i32.lt_s
|
||||
(loop $loop|0
|
||||
(br_if $break|0
|
||||
(i32.ge_s
|
||||
(get_local $2)
|
||||
(get_local $1)
|
||||
)
|
||||
(block
|
||||
)
|
||||
(call $~lib/memory/move_memory
|
||||
(i32.add
|
||||
(i32.add
|
||||
@ -3670,8 +3671,7 @@
|
||||
(get_local $3)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(get_local $4)
|
||||
|
@ -504,8 +504,10 @@
|
||||
(set_local $5
|
||||
(get_local $7)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.le_s
|
||||
(i32.add
|
||||
(get_local $5)
|
||||
@ -513,7 +515,8 @@
|
||||
)
|
||||
(get_local $4)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.eqz
|
||||
(call $~lib/memory/compare_memory
|
||||
@ -541,15 +544,14 @@
|
||||
(get_local $5)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set_local $5
|
||||
(i32.add
|
||||
(get_local $5)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(return
|
||||
@ -4206,13 +4208,16 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
(loop $loop|0
|
||||
(block $continue|0
|
||||
(br_if $break|0
|
||||
(i32.eqz
|
||||
(i32.lt_s
|
||||
(get_local $3)
|
||||
(get_local $6)
|
||||
)
|
||||
(block
|
||||
)
|
||||
)
|
||||
(call $~lib/memory/move_memory
|
||||
(i32.add
|
||||
(i32.add
|
||||
@ -4227,15 +4232,14 @@
|
||||
)
|
||||
(get_local $5)
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
(i32.add
|
||||
(get_local $3)
|
||||
(get_local $5)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
(br $loop|0)
|
||||
)
|
||||
)
|
||||
(return
|
||||
|
Loading…
x
Reference in New Issue
Block a user