Initial external decorator for annotating explicit import names; Use file name as default module name in imports; Emit empty memory if there are no static segments; Update TLSF and examples accordingly

This commit is contained in:
dcodeIO
2018-06-28 01:44:32 +02:00
parent 27e61f8f67
commit 9c16363796
110 changed files with 17069 additions and 16757 deletions

View File

@ -3,11 +3,11 @@
(type $F (func (result f64)))
(type $v (func))
(type $iiFv (func (param i32 i32 f64)))
(import "env" "BGR_ALIVE" (global $assembly/index/BGR_ALIVE i32))
(import "env" "BGR_DEAD" (global $assembly/index/BGR_DEAD i32))
(import "env" "BIT_ROT" (global $assembly/index/BIT_ROT i32))
(import "config" "BGR_ALIVE" (global $assembly/config/BGR_ALIVE i32))
(import "config" "BGR_DEAD" (global $assembly/config/BGR_DEAD i32))
(import "config" "BIT_ROT" (global $assembly/config/BIT_ROT i32))
(import "JSMath" "random" (func $~lib/math/JSMath.random (result f64)))
(import "env" "memory" (memory $0 1))
(import "env" "memory" (memory $0 0))
(global $assembly/index/w (mut i32) (i32.const 0))
(global $assembly/index/h (mut i32) (i32.const 0))
(global $assembly/index/s (mut i32) (i32.const 0))
@ -17,100 +17,100 @@
(export "memory" (memory $0))
(func $assembly/index/init (; 1 ;) (type $iiv) (param $0 i32) (param $1 i32)
(local $2 i32)
;;@ assembly/index.ts:33:2
;;@ assembly/index.ts:29:2
(set_global $assembly/index/w
(get_local $0)
)
;;@ assembly/index.ts:34:2
;;@ assembly/index.ts:30:2
(set_global $assembly/index/h
(get_local $1)
)
;;@ assembly/index.ts:35:2
;;@ assembly/index.ts:31:2
(set_global $assembly/index/s
;;@ assembly/index.ts:35:6
;;@ assembly/index.ts:31:6
(i32.mul
(get_local $0)
(get_local $1)
)
)
;;@ assembly/index.ts:38:2
;;@ assembly/index.ts:34:2
(block $break|0
;;@ assembly/index.ts:38:7
;;@ assembly/index.ts:34:7
(set_local $0
;;@ assembly/index.ts:38:15
;;@ assembly/index.ts:34:15
(i32.const 0)
)
(loop $repeat|0
(br_if $break|0
;;@ assembly/index.ts:38:18
;;@ assembly/index.ts:34:18
(i32.ge_s
(get_local $0)
;;@ assembly/index.ts:38:22
;;@ assembly/index.ts:34:22
(get_global $assembly/index/h)
)
)
;;@ assembly/index.ts:38:30
;;@ assembly/index.ts:34:30
(block $break|1
;;@ assembly/index.ts:39:9
;;@ assembly/index.ts:35:9
(set_local $1
;;@ assembly/index.ts:39:17
;;@ assembly/index.ts:35:17
(i32.const 0)
)
(loop $repeat|1
(br_if $break|1
;;@ assembly/index.ts:39:20
;;@ assembly/index.ts:35:20
(i32.ge_s
(get_local $1)
;;@ assembly/index.ts:39:24
;;@ assembly/index.ts:35:24
(get_global $assembly/index/w)
)
)
(set_local $2
;;@ assembly/index.ts:40:16
;;@ assembly/index.ts:36:16
(if (result i32)
(f64.gt
;;@ assembly/index.ts:40:21
;;@ assembly/index.ts:36:21
(call $~lib/math/JSMath.random)
;;@ assembly/index.ts:40:32
;;@ assembly/index.ts:36:32
(f64.const 0.1)
)
;;@ assembly/index.ts:40:38
;;@ assembly/index.ts:36:38
(i32.and
(get_global $assembly/index/BGR_DEAD)
;;@ assembly/index.ts:40:49
(get_global $assembly/config/BGR_DEAD)
;;@ assembly/index.ts:36:49
(i32.const 16777215)
)
;;@ assembly/index.ts:40:62
;;@ assembly/index.ts:36:62
(i32.or
(get_global $assembly/index/BGR_ALIVE)
;;@ assembly/index.ts:40:74
(get_global $assembly/config/BGR_ALIVE)
;;@ assembly/index.ts:36:74
(i32.const -16777216)
)
)
)
;;@ assembly/index.ts:21:2
;;@ assembly/index.ts:17:2
(i32.store
;;@ assembly/index.ts:21:13
;;@ assembly/index.ts:17:13
(i32.shl
(i32.add
;;@ assembly/index.ts:21:14
;;@ assembly/index.ts:17:14
(i32.add
(get_global $assembly/index/s)
;;@ assembly/index.ts:21:18
;;@ assembly/index.ts:17:18
(i32.mul
(get_local $0)
;;@ assembly/index.ts:21:22
;;@ assembly/index.ts:17:22
(get_global $assembly/index/w)
)
)
(get_local $1)
)
;;@ assembly/index.ts:21:32
;;@ assembly/index.ts:17:32
(i32.const 2)
)
(get_local $2)
)
;;@ assembly/index.ts:39:27
;;@ assembly/index.ts:35:27
(set_local $1
(i32.add
(get_local $1)
@ -120,7 +120,7 @@
(br $repeat|1)
)
)
;;@ assembly/index.ts:38:25
;;@ assembly/index.ts:34:25
(set_local $0
(i32.add
(get_local $0)
@ -141,41 +141,41 @@
(local $6 i32)
(local $7 i32)
(set_local $6
;;@ assembly/index.ts:47:12
;;@ assembly/index.ts:43:12
(i32.sub
(get_global $assembly/index/h)
;;@ assembly/index.ts:47:16
;;@ assembly/index.ts:43:16
(i32.const 1)
)
)
(set_local $7
;;@ assembly/index.ts:48:12
;;@ assembly/index.ts:44:12
(i32.sub
(get_global $assembly/index/w)
;;@ assembly/index.ts:48:16
;;@ assembly/index.ts:44:16
(i32.const 1)
)
)
;;@ assembly/index.ts:52:2
;;@ assembly/index.ts:48:2
(block $break|0
(loop $repeat|0
(br_if $break|0
;;@ assembly/index.ts:52:18
;;@ assembly/index.ts:48:18
(i32.ge_s
(get_local $0)
;;@ assembly/index.ts:52:22
;;@ assembly/index.ts:48:22
(get_global $assembly/index/h)
)
)
(set_local $4
(tee_local $2
;;@ assembly/index.ts:53:14
;;@ assembly/index.ts:49:14
(if (result i32)
(get_local $0)
;;@ assembly/index.ts:53:29
;;@ assembly/index.ts:49:29
(i32.sub
(get_local $0)
;;@ assembly/index.ts:53:33
;;@ assembly/index.ts:49:33
(i32.const 1)
)
(get_local $6)
@ -183,43 +183,43 @@
)
)
(set_local $5
;;@ assembly/index.ts:54:14
;;@ assembly/index.ts:50:14
(if (result i32)
(i32.eq
(get_local $0)
(get_local $6)
)
;;@ assembly/index.ts:54:25
;;@ assembly/index.ts:50:25
(i32.const 0)
;;@ assembly/index.ts:54:29
;;@ assembly/index.ts:50:29
(i32.add
(get_local $0)
;;@ assembly/index.ts:54:33
;;@ assembly/index.ts:50:33
(i32.const 1)
)
)
)
;;@ assembly/index.ts:55:4
;;@ assembly/index.ts:51:4
(block $break|1
;;@ assembly/index.ts:55:9
;;@ assembly/index.ts:51:9
(set_local $1
;;@ assembly/index.ts:55:17
;;@ assembly/index.ts:51:17
(i32.const 0)
)
(loop $repeat|1
(br_if $break|1
;;@ assembly/index.ts:55:20
;;@ assembly/index.ts:51:20
(i32.ge_s
(get_local $1)
;;@ assembly/index.ts:55:24
;;@ assembly/index.ts:51:24
(get_global $assembly/index/w)
)
)
;;@ assembly/index.ts:61:6
;;@ assembly/index.ts:57:6
(set_local $2
;;@ assembly/index.ts:61:27
;;@ assembly/index.ts:57:27
(i32.add
;;@ assembly/index.ts:62:8
;;@ assembly/index.ts:58:8
(i32.add
(i32.add
(i32.add
@ -235,13 +235,13 @@
(get_global $assembly/index/w)
)
(tee_local $2
;;@ assembly/index.ts:56:16
;;@ assembly/index.ts:52:16
(if (result i32)
(get_local $1)
;;@ assembly/index.ts:56:31
;;@ assembly/index.ts:52:31
(i32.sub
(get_local $1)
;;@ assembly/index.ts:56:35
;;@ assembly/index.ts:52:35
(i32.const 1)
)
(get_local $7)
@ -251,10 +251,10 @@
(i32.const 2)
)
)
;;@ assembly/index.ts:62:25
;;@ assembly/index.ts:58:25
(i32.const 1)
)
;;@ assembly/index.ts:62:30
;;@ assembly/index.ts:58:30
(i32.and
(i32.load
(i32.shl
@ -268,11 +268,11 @@
(i32.const 2)
)
)
;;@ assembly/index.ts:62:47
;;@ assembly/index.ts:58:47
(i32.const 1)
)
)
;;@ assembly/index.ts:62:52
;;@ assembly/index.ts:58:52
(i32.and
(i32.load
(i32.shl
@ -282,18 +282,18 @@
(get_global $assembly/index/w)
)
(tee_local $3
;;@ assembly/index.ts:57:16
;;@ assembly/index.ts:53:16
(if (result i32)
(i32.eq
(get_local $1)
(get_local $7)
)
;;@ assembly/index.ts:57:27
;;@ assembly/index.ts:53:27
(i32.const 0)
;;@ assembly/index.ts:57:31
;;@ assembly/index.ts:53:31
(i32.add
(get_local $1)
;;@ assembly/index.ts:57:35
;;@ assembly/index.ts:53:35
(i32.const 1)
)
)
@ -302,11 +302,11 @@
(i32.const 2)
)
)
;;@ assembly/index.ts:62:69
;;@ assembly/index.ts:58:69
(i32.const 1)
)
)
;;@ assembly/index.ts:63:8
;;@ assembly/index.ts:59:8
(i32.and
(i32.load
(i32.shl
@ -320,11 +320,11 @@
(i32.const 2)
)
)
;;@ assembly/index.ts:63:25
;;@ assembly/index.ts:59:25
(i32.const 1)
)
)
;;@ assembly/index.ts:63:52
;;@ assembly/index.ts:59:52
(i32.and
(i32.load
(i32.shl
@ -338,11 +338,11 @@
(i32.const 2)
)
)
;;@ assembly/index.ts:63:69
;;@ assembly/index.ts:59:69
(i32.const 1)
)
)
;;@ assembly/index.ts:64:8
;;@ assembly/index.ts:60:8
(i32.and
(i32.load
(i32.shl
@ -356,11 +356,11 @@
(i32.const 2)
)
)
;;@ assembly/index.ts:64:25
;;@ assembly/index.ts:60:25
(i32.const 1)
)
)
;;@ assembly/index.ts:64:30
;;@ assembly/index.ts:60:30
(i32.and
(i32.load
(i32.shl
@ -374,11 +374,11 @@
(i32.const 2)
)
)
;;@ assembly/index.ts:64:47
;;@ assembly/index.ts:60:47
(i32.const 1)
)
)
;;@ assembly/index.ts:64:52
;;@ assembly/index.ts:60:52
(i32.and
(i32.load
(i32.shl
@ -392,48 +392,48 @@
(i32.const 2)
)
)
;;@ assembly/index.ts:64:69
;;@ assembly/index.ts:60:69
(i32.const 1)
)
)
)
;;@ assembly/index.ts:68:6
;;@ assembly/index.ts:64:6
(if
;;@ assembly/index.ts:68:10
;;@ assembly/index.ts:64:10
(i32.and
;;@ assembly/index.ts:67:6
;;@ assembly/index.ts:63:6
(tee_local $3
;;@ assembly/index.ts:15:35
;;@ assembly/index.ts:11:35
(i32.load
;;@ assembly/index.ts:15:19
;;@ assembly/index.ts:11:19
(i32.shl
(i32.add
;;@ assembly/index.ts:15:20
;;@ assembly/index.ts:11:20
(i32.mul
(get_local $0)
;;@ assembly/index.ts:15:24
;;@ assembly/index.ts:11:24
(get_global $assembly/index/w)
)
(get_local $1)
)
;;@ assembly/index.ts:15:34
;;@ assembly/index.ts:11:34
(i32.const 2)
)
)
)
;;@ assembly/index.ts:68:17
;;@ assembly/index.ts:64:17
(i32.const 1)
)
;;@ assembly/index.ts:68:20
;;@ assembly/index.ts:64:20
(if
;;@ assembly/index.ts:70:12
;;@ assembly/index.ts:66:12
(i32.eq
(i32.and
(get_local $2)
;;@ assembly/index.ts:70:30
;;@ assembly/index.ts:66:30
(i32.const 14)
)
;;@ assembly/index.ts:70:41
;;@ assembly/index.ts:66:41
(i32.const 2)
)
(i32.store
@ -459,7 +459,7 @@
(get_local $3)
(i32.const 24)
)
(get_global $assembly/index/BIT_ROT)
(get_global $assembly/config/BIT_ROT)
)
)
(i32.const 0)
@ -490,20 +490,20 @@
)
(i32.const 2)
)
;;@ assembly/index.ts:72:23
;;@ assembly/index.ts:68:23
(i32.or
(get_global $assembly/index/BGR_DEAD)
;;@ assembly/index.ts:72:34
(get_global $assembly/config/BGR_DEAD)
;;@ assembly/index.ts:68:34
(i32.const -16777216)
)
)
)
;;@ assembly/index.ts:73:13
;;@ assembly/index.ts:69:13
(if
;;@ assembly/index.ts:75:12
;;@ assembly/index.ts:71:12
(i32.eq
(get_local $2)
;;@ assembly/index.ts:75:30
;;@ assembly/index.ts:71:30
(i32.const 3)
)
(i32.store
@ -520,48 +520,48 @@
)
(i32.const 2)
)
;;@ assembly/index.ts:75:43
;;@ assembly/index.ts:71:43
(i32.or
(get_global $assembly/index/BGR_ALIVE)
;;@ assembly/index.ts:75:55
(get_global $assembly/config/BGR_ALIVE)
;;@ assembly/index.ts:71:55
(i32.const -16777216)
)
)
;;@ assembly/index.ts:21:2
;;@ assembly/index.ts:17:2
(i32.store
;;@ assembly/index.ts:21:13
;;@ assembly/index.ts:17:13
(i32.shl
(i32.add
;;@ assembly/index.ts:21:14
;;@ assembly/index.ts:17:14
(i32.add
(get_global $assembly/index/s)
;;@ assembly/index.ts:21:18
;;@ assembly/index.ts:17:18
(i32.mul
(get_local $0)
;;@ assembly/index.ts:21:22
;;@ assembly/index.ts:17:22
(get_global $assembly/index/w)
)
)
(get_local $1)
)
;;@ assembly/index.ts:21:32
;;@ assembly/index.ts:17:32
(i32.const 2)
)
;;@ assembly/index.ts:28:12
;;@ assembly/index.ts:24:12
(i32.or
(i32.shl
;;@ assembly/index.ts:27:10
;;@ assembly/index.ts:23:10
(select
(tee_local $2
;;@ assembly/index.ts:27:19
;;@ assembly/index.ts:23:19
(i32.sub
(i32.shr_u
(get_local $3)
;;@ assembly/index.ts:27:26
;;@ assembly/index.ts:23:26
(i32.const 24)
)
;;@ assembly/index.ts:27:32
(get_global $assembly/index/BIT_ROT)
;;@ assembly/index.ts:23:32
(get_global $assembly/config/BIT_ROT)
)
)
(i32.const 0)
@ -570,20 +570,20 @@
(i32.const 0)
)
)
;;@ assembly/index.ts:28:18
;;@ assembly/index.ts:24:18
(i32.const 24)
)
;;@ assembly/index.ts:28:24
;;@ assembly/index.ts:24:24
(i32.and
(get_local $3)
;;@ assembly/index.ts:28:29
;;@ assembly/index.ts:24:29
(i32.const 16777215)
)
)
)
)
)
;;@ assembly/index.ts:55:27
;;@ assembly/index.ts:51:27
(set_local $1
(i32.add
(get_local $1)
@ -593,7 +593,7 @@
(br $repeat|1)
)
)
;;@ assembly/index.ts:52:25
;;@ assembly/index.ts:48:25
(set_local $0
(i32.add
(get_local $0)
@ -606,22 +606,22 @@
)
(func $assembly/index/fill (; 3 ;) (type $iiFv) (param $0 i32) (param $1 i32) (param $2 f64)
(local $3 i32)
;;@ assembly/index.ts:85:2
;;@ assembly/index.ts:81:2
(block $break|0
(loop $repeat|0
(br_if $break|0
;;@ assembly/index.ts:85:19
;;@ assembly/index.ts:81:19
(i32.ge_s
(get_local $3)
;;@ assembly/index.ts:85:24
;;@ assembly/index.ts:81:24
(get_global $assembly/index/w)
)
)
;;@ assembly/index.ts:85:33
;;@ assembly/index.ts:81:33
(if
;;@ assembly/index.ts:86:8
;;@ assembly/index.ts:82:8
(f64.lt
;;@ assembly/index.ts:86:13
;;@ assembly/index.ts:82:13
(call $~lib/math/JSMath.random)
(get_local $2)
)
@ -639,15 +639,15 @@
)
(i32.const 2)
)
;;@ assembly/index.ts:86:38
;;@ assembly/index.ts:82:38
(i32.or
(get_global $assembly/index/BGR_ALIVE)
;;@ assembly/index.ts:86:50
(get_global $assembly/config/BGR_ALIVE)
;;@ assembly/index.ts:82:50
(i32.const -16777216)
)
)
)
;;@ assembly/index.ts:85:27
;;@ assembly/index.ts:81:27
(set_local $3
(i32.add
(get_local $3)
@ -657,59 +657,59 @@
(br $repeat|0)
)
)
;;@ assembly/index.ts:88:2
;;@ assembly/index.ts:84:2
(block $break|1
;;@ assembly/index.ts:88:7
;;@ assembly/index.ts:84:7
(set_local $3
;;@ assembly/index.ts:88:16
;;@ assembly/index.ts:84:16
(i32.const 0)
)
(loop $repeat|1
(br_if $break|1
;;@ assembly/index.ts:88:19
;;@ assembly/index.ts:84:19
(i32.ge_s
(get_local $3)
;;@ assembly/index.ts:88:24
;;@ assembly/index.ts:84:24
(get_global $assembly/index/h)
)
)
;;@ assembly/index.ts:88:33
;;@ assembly/index.ts:84:33
(if
;;@ assembly/index.ts:89:8
;;@ assembly/index.ts:85:8
(f64.lt
;;@ assembly/index.ts:89:13
;;@ assembly/index.ts:85:13
(call $~lib/math/JSMath.random)
(get_local $2)
)
;;@ assembly/index.ts:21:2
;;@ assembly/index.ts:17:2
(i32.store
;;@ assembly/index.ts:21:13
;;@ assembly/index.ts:17:13
(i32.shl
(i32.add
;;@ assembly/index.ts:21:14
;;@ assembly/index.ts:17:14
(i32.add
(get_global $assembly/index/s)
;;@ assembly/index.ts:21:18
;;@ assembly/index.ts:17:18
(i32.mul
(get_local $3)
;;@ assembly/index.ts:21:22
;;@ assembly/index.ts:17:22
(get_global $assembly/index/w)
)
)
(get_local $0)
)
;;@ assembly/index.ts:21:32
;;@ assembly/index.ts:17:32
(i32.const 2)
)
;;@ assembly/index.ts:89:38
;;@ assembly/index.ts:85:38
(i32.or
(get_global $assembly/index/BGR_ALIVE)
;;@ assembly/index.ts:89:50
(get_global $assembly/config/BGR_ALIVE)
;;@ assembly/index.ts:85:50
(i32.const -16777216)
)
)
)
;;@ assembly/index.ts:88:27
;;@ assembly/index.ts:84:27
(set_local $3
(i32.add
(get_local $3)

View File

@ -3,11 +3,11 @@
(type $F (func (result f64)))
(type $v (func))
(type $iiFv (func (param i32 i32 f64)))
(import "env" "BGR_ALIVE" (global $assembly/index/BGR_ALIVE i32))
(import "env" "BGR_DEAD" (global $assembly/index/BGR_DEAD i32))
(import "env" "BIT_ROT" (global $assembly/index/BIT_ROT i32))
(import "config" "BGR_ALIVE" (global $assembly/config/BGR_ALIVE i32))
(import "config" "BGR_DEAD" (global $assembly/config/BGR_DEAD i32))
(import "config" "BIT_ROT" (global $assembly/config/BIT_ROT i32))
(import "JSMath" "random" (func $~lib/math/JSMath.random (result f64)))
(import "env" "memory" (memory $0 1))
(import "env" "memory" (memory $0 0))
(global $assembly/index/w (mut i32) (i32.const 0))
(global $assembly/index/h (mut i32) (i32.const 0))
(global $assembly/index/s (mut i32) (i32.const 0))
@ -20,115 +20,115 @@
(local $2 i32)
(local $3 i32)
(local $4 i32)
;;@ assembly/index.ts:33:2
;;@ assembly/index.ts:29:2
(set_global $assembly/index/w
;;@ assembly/index.ts:33:6
;;@ assembly/index.ts:29:6
(get_local $0)
)
;;@ assembly/index.ts:34:2
;;@ assembly/index.ts:30:2
(set_global $assembly/index/h
;;@ assembly/index.ts:34:6
;;@ assembly/index.ts:30:6
(get_local $1)
)
;;@ assembly/index.ts:35:2
;;@ assembly/index.ts:31:2
(set_global $assembly/index/s
;;@ assembly/index.ts:35:6
;;@ assembly/index.ts:31:6
(i32.mul
(get_local $0)
;;@ assembly/index.ts:35:14
;;@ assembly/index.ts:31:14
(get_local $1)
)
)
;;@ assembly/index.ts:38:2
;;@ assembly/index.ts:34:2
(block $break|0
;;@ assembly/index.ts:38:7
;;@ assembly/index.ts:34:7
(set_local $2
;;@ assembly/index.ts:38:15
;;@ assembly/index.ts:34:15
(i32.const 0)
)
(loop $repeat|0
(br_if $break|0
(i32.eqz
;;@ assembly/index.ts:38:18
;;@ assembly/index.ts:34:18
(i32.lt_s
(get_local $2)
;;@ assembly/index.ts:38:22
;;@ assembly/index.ts:34:22
(get_global $assembly/index/h)
)
)
)
;;@ assembly/index.ts:38:30
;;@ assembly/index.ts:34:30
(block $break|1
;;@ assembly/index.ts:39:9
;;@ assembly/index.ts:35:9
(set_local $3
;;@ assembly/index.ts:39:17
;;@ assembly/index.ts:35:17
(i32.const 0)
)
(loop $repeat|1
(br_if $break|1
(i32.eqz
;;@ assembly/index.ts:39:20
;;@ assembly/index.ts:35:20
(i32.lt_s
(get_local $3)
;;@ assembly/index.ts:39:24
;;@ assembly/index.ts:35:24
(get_global $assembly/index/w)
)
)
)
;;@ assembly/index.ts:39:32
;;@ assembly/index.ts:35:32
(block $assembly/index/set|inlined.0
(set_local $4
;;@ assembly/index.ts:40:16
;;@ assembly/index.ts:36:16
(if (result i32)
(f64.gt
;;@ assembly/index.ts:40:21
;;@ assembly/index.ts:36:21
(call $~lib/math/JSMath.random)
;;@ assembly/index.ts:40:32
;;@ assembly/index.ts:36:32
(f64.const 0.1)
)
;;@ assembly/index.ts:40:38
;;@ assembly/index.ts:36:38
(i32.and
(get_global $assembly/index/BGR_DEAD)
;;@ assembly/index.ts:40:49
(get_global $assembly/config/BGR_DEAD)
;;@ assembly/index.ts:36:49
(i32.const 16777215)
)
;;@ assembly/index.ts:40:62
;;@ assembly/index.ts:36:62
(i32.or
(get_global $assembly/index/BGR_ALIVE)
;;@ assembly/index.ts:40:74
(get_global $assembly/config/BGR_ALIVE)
;;@ assembly/index.ts:36:74
(i32.const -16777216)
)
)
)
;;@ assembly/index.ts:21:2
;;@ assembly/index.ts:17:2
(i32.store
;;@ assembly/index.ts:21:13
;;@ assembly/index.ts:17:13
(i32.shl
(i32.add
;;@ assembly/index.ts:21:14
;;@ assembly/index.ts:17:14
(i32.add
(get_global $assembly/index/s)
;;@ assembly/index.ts:21:18
;;@ assembly/index.ts:17:18
(i32.mul
(get_local $2)
;;@ assembly/index.ts:21:22
;;@ assembly/index.ts:17:22
(get_global $assembly/index/w)
)
)
;;@ assembly/index.ts:21:26
;;@ assembly/index.ts:17:26
(get_local $3)
)
;;@ assembly/index.ts:21:32
;;@ assembly/index.ts:17:32
(i32.const 2)
)
;;@ assembly/index.ts:21:35
;;@ assembly/index.ts:17:35
(get_local $4)
)
)
;;@ assembly/index.ts:39:27
;;@ assembly/index.ts:35:27
(set_local $3
(i32.add
;;@ assembly/index.ts:39:29
;;@ assembly/index.ts:35:29
(get_local $3)
(i32.const 1)
)
@ -136,10 +136,10 @@
(br $repeat|1)
)
)
;;@ assembly/index.ts:38:25
;;@ assembly/index.ts:34:25
(set_local $2
(i32.add
;;@ assembly/index.ts:38:27
;;@ assembly/index.ts:34:27
(get_local $2)
(i32.const 1)
)
@ -162,138 +162,138 @@
(local $10 i32)
(local $11 i32)
(set_local $0
;;@ assembly/index.ts:47:12
;;@ assembly/index.ts:43:12
(i32.sub
(get_global $assembly/index/h)
;;@ assembly/index.ts:47:16
;;@ assembly/index.ts:43:16
(i32.const 1)
)
)
(set_local $1
;;@ assembly/index.ts:48:12
;;@ assembly/index.ts:44:12
(i32.sub
(get_global $assembly/index/w)
;;@ assembly/index.ts:48:16
;;@ assembly/index.ts:44:16
(i32.const 1)
)
)
;;@ assembly/index.ts:52:2
;;@ assembly/index.ts:48:2
(block $break|0
;;@ assembly/index.ts:52:7
;;@ assembly/index.ts:48:7
(set_local $2
;;@ assembly/index.ts:52:15
;;@ assembly/index.ts:48:15
(i32.const 0)
)
(loop $repeat|0
(br_if $break|0
(i32.eqz
;;@ assembly/index.ts:52:18
;;@ assembly/index.ts:48:18
(i32.lt_s
(get_local $2)
;;@ assembly/index.ts:52:22
;;@ assembly/index.ts:48:22
(get_global $assembly/index/h)
)
)
)
;;@ assembly/index.ts:52:30
;;@ assembly/index.ts:48:30
(block
(set_local $3
;;@ assembly/index.ts:53:14
;;@ assembly/index.ts:49:14
(if (result i32)
(i32.eq
(get_local $2)
;;@ assembly/index.ts:53:19
;;@ assembly/index.ts:49:19
(i32.const 0)
)
;;@ assembly/index.ts:53:23
;;@ assembly/index.ts:49:23
(get_local $0)
;;@ assembly/index.ts:53:29
;;@ assembly/index.ts:49:29
(i32.sub
(get_local $2)
;;@ assembly/index.ts:53:33
;;@ assembly/index.ts:49:33
(i32.const 1)
)
)
)
(set_local $4
;;@ assembly/index.ts:54:14
;;@ assembly/index.ts:50:14
(if (result i32)
(i32.eq
(get_local $2)
;;@ assembly/index.ts:54:19
;;@ assembly/index.ts:50:19
(get_local $0)
)
;;@ assembly/index.ts:54:25
;;@ assembly/index.ts:50:25
(i32.const 0)
;;@ assembly/index.ts:54:29
;;@ assembly/index.ts:50:29
(i32.add
(get_local $2)
;;@ assembly/index.ts:54:33
;;@ assembly/index.ts:50:33
(i32.const 1)
)
)
)
;;@ assembly/index.ts:55:4
;;@ assembly/index.ts:51:4
(block $break|1
;;@ assembly/index.ts:55:9
;;@ assembly/index.ts:51:9
(set_local $5
;;@ assembly/index.ts:55:17
;;@ assembly/index.ts:51:17
(i32.const 0)
)
(loop $repeat|1
(br_if $break|1
(i32.eqz
;;@ assembly/index.ts:55:20
;;@ assembly/index.ts:51:20
(i32.lt_s
(get_local $5)
;;@ assembly/index.ts:55:24
;;@ assembly/index.ts:51:24
(get_global $assembly/index/w)
)
)
)
;;@ assembly/index.ts:55:32
;;@ assembly/index.ts:51:32
(block
(set_local $6
;;@ assembly/index.ts:56:16
;;@ assembly/index.ts:52:16
(if (result i32)
(i32.eq
(get_local $5)
;;@ assembly/index.ts:56:21
;;@ assembly/index.ts:52:21
(i32.const 0)
)
;;@ assembly/index.ts:56:25
;;@ assembly/index.ts:52:25
(get_local $1)
;;@ assembly/index.ts:56:31
;;@ assembly/index.ts:52:31
(i32.sub
(get_local $5)
;;@ assembly/index.ts:56:35
;;@ assembly/index.ts:52:35
(i32.const 1)
)
)
)
(set_local $7
;;@ assembly/index.ts:57:16
;;@ assembly/index.ts:53:16
(if (result i32)
(i32.eq
(get_local $5)
;;@ assembly/index.ts:57:21
;;@ assembly/index.ts:53:21
(get_local $1)
)
;;@ assembly/index.ts:57:27
;;@ assembly/index.ts:53:27
(i32.const 0)
;;@ assembly/index.ts:57:31
;;@ assembly/index.ts:53:31
(i32.add
(get_local $5)
;;@ assembly/index.ts:57:35
;;@ assembly/index.ts:53:35
(i32.const 1)
)
)
)
;;@ assembly/index.ts:61:6
;;@ assembly/index.ts:57:6
(set_local $8
;;@ assembly/index.ts:61:27
;;@ assembly/index.ts:57:27
(i32.add
;;@ assembly/index.ts:62:8
;;@ assembly/index.ts:58:8
(i32.add
(i32.add
(i32.add
@ -301,7 +301,7 @@
(i32.add
(i32.add
(i32.and
;;@ assembly/index.ts:62:9
;;@ assembly/index.ts:58:9
(block $assembly/index/get|inlined.0 (result i32)
(i32.load
(i32.shl
@ -316,12 +316,12 @@
)
)
)
;;@ assembly/index.ts:62:25
;;@ assembly/index.ts:58:25
(i32.const 1)
)
;;@ assembly/index.ts:62:30
;;@ assembly/index.ts:58:30
(i32.and
;;@ assembly/index.ts:62:31
;;@ assembly/index.ts:58:31
(block $assembly/index/get|inlined.1 (result i32)
(i32.load
(i32.shl
@ -336,13 +336,13 @@
)
)
)
;;@ assembly/index.ts:62:47
;;@ assembly/index.ts:58:47
(i32.const 1)
)
)
;;@ assembly/index.ts:62:52
;;@ assembly/index.ts:58:52
(i32.and
;;@ assembly/index.ts:62:53
;;@ assembly/index.ts:58:53
(block $assembly/index/get|inlined.2 (result i32)
(i32.load
(i32.shl
@ -357,13 +357,13 @@
)
)
)
;;@ assembly/index.ts:62:69
;;@ assembly/index.ts:58:69
(i32.const 1)
)
)
;;@ assembly/index.ts:63:8
;;@ assembly/index.ts:59:8
(i32.and
;;@ assembly/index.ts:63:9
;;@ assembly/index.ts:59:9
(block $assembly/index/get|inlined.3 (result i32)
(i32.load
(i32.shl
@ -378,13 +378,13 @@
)
)
)
;;@ assembly/index.ts:63:25
;;@ assembly/index.ts:59:25
(i32.const 1)
)
)
;;@ assembly/index.ts:63:52
;;@ assembly/index.ts:59:52
(i32.and
;;@ assembly/index.ts:63:53
;;@ assembly/index.ts:59:53
(block $assembly/index/get|inlined.4 (result i32)
(i32.load
(i32.shl
@ -399,13 +399,13 @@
)
)
)
;;@ assembly/index.ts:63:69
;;@ assembly/index.ts:59:69
(i32.const 1)
)
)
;;@ assembly/index.ts:64:8
;;@ assembly/index.ts:60:8
(i32.and
;;@ assembly/index.ts:64:9
;;@ assembly/index.ts:60:9
(block $assembly/index/get|inlined.5 (result i32)
(i32.load
(i32.shl
@ -420,13 +420,13 @@
)
)
)
;;@ assembly/index.ts:64:25
;;@ assembly/index.ts:60:25
(i32.const 1)
)
)
;;@ assembly/index.ts:64:30
;;@ assembly/index.ts:60:30
(i32.and
;;@ assembly/index.ts:64:31
;;@ assembly/index.ts:60:31
(block $assembly/index/get|inlined.6 (result i32)
(i32.load
(i32.shl
@ -441,13 +441,13 @@
)
)
)
;;@ assembly/index.ts:64:47
;;@ assembly/index.ts:60:47
(i32.const 1)
)
)
;;@ assembly/index.ts:64:52
;;@ assembly/index.ts:60:52
(i32.and
;;@ assembly/index.ts:64:53
;;@ assembly/index.ts:60:53
(block $assembly/index/get|inlined.7 (result i32)
(i32.load
(i32.shl
@ -462,57 +462,57 @@
)
)
)
;;@ assembly/index.ts:64:69
;;@ assembly/index.ts:60:69
(i32.const 1)
)
)
)
;;@ assembly/index.ts:67:6
;;@ assembly/index.ts:63:6
(set_local $9
;;@ assembly/index.ts:67:17
;;@ assembly/index.ts:63:17
(block $assembly/index/get|inlined.8 (result i32)
;;@ assembly/index.ts:15:35
;;@ assembly/index.ts:11:35
(i32.load
;;@ assembly/index.ts:15:19
;;@ assembly/index.ts:11:19
(i32.shl
(i32.add
;;@ assembly/index.ts:15:20
;;@ assembly/index.ts:11:20
(i32.mul
(get_local $2)
;;@ assembly/index.ts:15:24
;;@ assembly/index.ts:11:24
(get_global $assembly/index/w)
)
;;@ assembly/index.ts:15:28
;;@ assembly/index.ts:11:28
(get_local $5)
)
;;@ assembly/index.ts:15:34
;;@ assembly/index.ts:11:34
(i32.const 2)
)
)
)
)
;;@ assembly/index.ts:68:6
;;@ assembly/index.ts:64:6
(if
;;@ assembly/index.ts:68:10
;;@ assembly/index.ts:64:10
(i32.and
(get_local $9)
;;@ assembly/index.ts:68:17
;;@ assembly/index.ts:64:17
(i32.const 1)
)
;;@ assembly/index.ts:68:20
;;@ assembly/index.ts:64:20
(if
;;@ assembly/index.ts:70:12
;;@ assembly/index.ts:66:12
(i32.eq
(i32.and
;;@ assembly/index.ts:70:13
;;@ assembly/index.ts:66:13
(get_local $8)
;;@ assembly/index.ts:70:30
;;@ assembly/index.ts:66:30
(i32.const 14)
)
;;@ assembly/index.ts:70:41
;;@ assembly/index.ts:66:41
(i32.const 2)
)
;;@ assembly/index.ts:70:49
;;@ assembly/index.ts:66:49
(block $assembly/index/rot|inlined.0
(set_local $10
(select
@ -522,7 +522,7 @@
(get_local $9)
(i32.const 24)
)
(get_global $assembly/index/BIT_ROT)
(get_global $assembly/config/BIT_ROT)
)
)
(tee_local $11
@ -565,13 +565,13 @@
)
)
)
;;@ assembly/index.ts:72:13
;;@ assembly/index.ts:68:13
(block $assembly/index/set|inlined.2
(set_local $10
;;@ assembly/index.ts:72:23
;;@ assembly/index.ts:68:23
(i32.or
(get_global $assembly/index/BGR_DEAD)
;;@ assembly/index.ts:72:34
(get_global $assembly/config/BGR_DEAD)
;;@ assembly/index.ts:68:34
(i32.const -16777216)
)
)
@ -593,21 +593,21 @@
)
)
)
;;@ assembly/index.ts:73:13
;;@ assembly/index.ts:69:13
(if
;;@ assembly/index.ts:75:12
;;@ assembly/index.ts:71:12
(i32.eq
(get_local $8)
;;@ assembly/index.ts:75:30
;;@ assembly/index.ts:71:30
(i32.const 3)
)
;;@ assembly/index.ts:75:33
;;@ assembly/index.ts:71:33
(block $assembly/index/set|inlined.3
(set_local $10
;;@ assembly/index.ts:75:43
;;@ assembly/index.ts:71:43
(i32.or
(get_global $assembly/index/BGR_ALIVE)
;;@ assembly/index.ts:75:55
(get_global $assembly/config/BGR_ALIVE)
;;@ assembly/index.ts:71:55
(i32.const -16777216)
)
)
@ -628,27 +628,27 @@
(get_local $10)
)
)
;;@ assembly/index.ts:77:13
;;@ assembly/index.ts:73:13
(block $assembly/index/rot|inlined.1
;;@ assembly/index.ts:27:2
;;@ assembly/index.ts:23:2
(set_local $10
;;@ assembly/index.ts:27:10
;;@ assembly/index.ts:23:10
(select
(tee_local $10
;;@ assembly/index.ts:27:19
;;@ assembly/index.ts:23:19
(i32.sub
(i32.shr_u
;;@ assembly/index.ts:27:20
;;@ assembly/index.ts:23:20
(get_local $9)
;;@ assembly/index.ts:27:26
;;@ assembly/index.ts:23:26
(i32.const 24)
)
;;@ assembly/index.ts:27:32
(get_global $assembly/index/BIT_ROT)
;;@ assembly/index.ts:23:32
(get_global $assembly/config/BIT_ROT)
)
)
(tee_local $11
;;@ assembly/index.ts:27:41
;;@ assembly/index.ts:23:41
(i32.const 0)
)
(i32.gt_s
@ -657,48 +657,48 @@
)
)
)
;;@ assembly/index.ts:28:2
;;@ assembly/index.ts:24:2
(block $assembly/index/set|inlined.4
(set_local $11
;;@ assembly/index.ts:28:12
;;@ assembly/index.ts:24:12
(i32.or
(i32.shl
;;@ assembly/index.ts:28:13
;;@ assembly/index.ts:24:13
(get_local $10)
;;@ assembly/index.ts:28:18
;;@ assembly/index.ts:24:18
(i32.const 24)
)
;;@ assembly/index.ts:28:24
;;@ assembly/index.ts:24:24
(i32.and
;;@ assembly/index.ts:28:25
;;@ assembly/index.ts:24:25
(get_local $9)
;;@ assembly/index.ts:28:29
;;@ assembly/index.ts:24:29
(i32.const 16777215)
)
)
)
;;@ assembly/index.ts:21:2
;;@ assembly/index.ts:17:2
(i32.store
;;@ assembly/index.ts:21:13
;;@ assembly/index.ts:17:13
(i32.shl
(i32.add
;;@ assembly/index.ts:21:14
;;@ assembly/index.ts:17:14
(i32.add
(get_global $assembly/index/s)
;;@ assembly/index.ts:21:18
;;@ assembly/index.ts:17:18
(i32.mul
(get_local $2)
;;@ assembly/index.ts:21:22
;;@ assembly/index.ts:17:22
(get_global $assembly/index/w)
)
)
;;@ assembly/index.ts:21:26
;;@ assembly/index.ts:17:26
(get_local $5)
)
;;@ assembly/index.ts:21:32
;;@ assembly/index.ts:17:32
(i32.const 2)
)
;;@ assembly/index.ts:21:35
;;@ assembly/index.ts:17:35
(get_local $11)
)
)
@ -706,10 +706,10 @@
)
)
)
;;@ assembly/index.ts:55:27
;;@ assembly/index.ts:51:27
(set_local $5
(i32.add
;;@ assembly/index.ts:55:29
;;@ assembly/index.ts:51:29
(get_local $5)
(i32.const 1)
)
@ -718,10 +718,10 @@
)
)
)
;;@ assembly/index.ts:52:25
;;@ assembly/index.ts:48:25
(set_local $2
(i32.add
;;@ assembly/index.ts:52:27
;;@ assembly/index.ts:48:27
(get_local $2)
(i32.const 1)
)
@ -733,40 +733,40 @@
(func $assembly/index/fill (; 3 ;) (type $iiFv) (param $0 i32) (param $1 i32) (param $2 f64)
(local $3 i32)
(local $4 i32)
;;@ assembly/index.ts:85:2
;;@ assembly/index.ts:81:2
(block $break|0
;;@ assembly/index.ts:85:7
;;@ assembly/index.ts:81:7
(set_local $3
;;@ assembly/index.ts:85:16
;;@ assembly/index.ts:81:16
(i32.const 0)
)
(loop $repeat|0
(br_if $break|0
(i32.eqz
;;@ assembly/index.ts:85:19
;;@ assembly/index.ts:81:19
(i32.lt_s
(get_local $3)
;;@ assembly/index.ts:85:24
;;@ assembly/index.ts:81:24
(get_global $assembly/index/w)
)
)
)
;;@ assembly/index.ts:85:33
;;@ assembly/index.ts:81:33
(if
;;@ assembly/index.ts:86:8
;;@ assembly/index.ts:82:8
(f64.lt
;;@ assembly/index.ts:86:13
;;@ assembly/index.ts:82:13
(call $~lib/math/JSMath.random)
;;@ assembly/index.ts:86:24
;;@ assembly/index.ts:82:24
(get_local $2)
)
;;@ assembly/index.ts:86:27
;;@ assembly/index.ts:82:27
(block $assembly/index/set|inlined.5
(set_local $4
;;@ assembly/index.ts:86:38
;;@ assembly/index.ts:82:38
(i32.or
(get_global $assembly/index/BGR_ALIVE)
;;@ assembly/index.ts:86:50
(get_global $assembly/config/BGR_ALIVE)
;;@ assembly/index.ts:82:50
(i32.const -16777216)
)
)
@ -788,10 +788,10 @@
)
)
)
;;@ assembly/index.ts:85:27
;;@ assembly/index.ts:81:27
(set_local $3
(i32.add
;;@ assembly/index.ts:85:29
;;@ assembly/index.ts:81:29
(get_local $3)
(i32.const 1)
)
@ -799,73 +799,73 @@
(br $repeat|0)
)
)
;;@ assembly/index.ts:88:2
;;@ assembly/index.ts:84:2
(block $break|1
;;@ assembly/index.ts:88:7
;;@ assembly/index.ts:84:7
(set_local $3
;;@ assembly/index.ts:88:16
;;@ assembly/index.ts:84:16
(i32.const 0)
)
(loop $repeat|1
(br_if $break|1
(i32.eqz
;;@ assembly/index.ts:88:19
;;@ assembly/index.ts:84:19
(i32.lt_s
(get_local $3)
;;@ assembly/index.ts:88:24
;;@ assembly/index.ts:84:24
(get_global $assembly/index/h)
)
)
)
;;@ assembly/index.ts:88:33
;;@ assembly/index.ts:84:33
(if
;;@ assembly/index.ts:89:8
;;@ assembly/index.ts:85:8
(f64.lt
;;@ assembly/index.ts:89:13
;;@ assembly/index.ts:85:13
(call $~lib/math/JSMath.random)
;;@ assembly/index.ts:89:24
;;@ assembly/index.ts:85:24
(get_local $2)
)
;;@ assembly/index.ts:89:27
;;@ assembly/index.ts:85:27
(block $assembly/index/set|inlined.6
(set_local $4
;;@ assembly/index.ts:89:38
;;@ assembly/index.ts:85:38
(i32.or
(get_global $assembly/index/BGR_ALIVE)
;;@ assembly/index.ts:89:50
(get_global $assembly/config/BGR_ALIVE)
;;@ assembly/index.ts:85:50
(i32.const -16777216)
)
)
;;@ assembly/index.ts:21:2
;;@ assembly/index.ts:17:2
(i32.store
;;@ assembly/index.ts:21:13
;;@ assembly/index.ts:17:13
(i32.shl
(i32.add
;;@ assembly/index.ts:21:14
;;@ assembly/index.ts:17:14
(i32.add
(get_global $assembly/index/s)
;;@ assembly/index.ts:21:18
;;@ assembly/index.ts:17:18
(i32.mul
(get_local $3)
;;@ assembly/index.ts:21:22
;;@ assembly/index.ts:17:22
(get_global $assembly/index/w)
)
)
;;@ assembly/index.ts:21:26
;;@ assembly/index.ts:17:26
(get_local $0)
)
;;@ assembly/index.ts:21:32
;;@ assembly/index.ts:17:32
(i32.const 2)
)
;;@ assembly/index.ts:21:35
;;@ assembly/index.ts:17:35
(get_local $4)
)
)
)
;;@ assembly/index.ts:88:27
;;@ assembly/index.ts:84:27
(set_local $3
(i32.add
;;@ assembly/index.ts:88:29
;;@ assembly/index.ts:84:29
(get_local $3)
(i32.const 1)
)