mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-29 06:31:59 +00:00
Make the game-of-life example a bit more interesting
This moves the entire image buffer to WASM that now also applies some fading.
This commit is contained in:
Binary file not shown.
@ -1,6 +1,8 @@
|
||||
(module
|
||||
(type $iiv (func (param i32 i32)))
|
||||
(type $iiFv (func (param i32 i32 f64)))
|
||||
(type $F (func (result f64)))
|
||||
(type $v (func))
|
||||
(import "JSMath" "random" (func $~lib/math/JSMath.random (result f64)))
|
||||
(import "env" "memory" (memory $0 1))
|
||||
(global $assembly/index/w (mut i32) (i32.const 0))
|
||||
(global $assembly/index/h (mut i32) (i32.const 0))
|
||||
@ -8,341 +10,97 @@
|
||||
(export "init" (func $assembly/index/init))
|
||||
(export "step" (func $assembly/index/step))
|
||||
(export "memory" (memory $0))
|
||||
(func $assembly/index/init (; 0 ;) (type $iiv) (param $0 i32) (param $1 i32)
|
||||
;;@ assembly/index.ts:7:2
|
||||
(func $assembly/index/init (; 1 ;) (type $iiFv) (param $0 i32) (param $1 i32) (param $2 f64)
|
||||
(local $3 i32)
|
||||
;;@ assembly/index.ts:29:2
|
||||
(set_global $assembly/index/w
|
||||
;;@ assembly/index.ts:7:6
|
||||
;;@ assembly/index.ts:29:6
|
||||
(get_local $0)
|
||||
)
|
||||
;;@ assembly/index.ts:8:2
|
||||
;;@ assembly/index.ts:30:2
|
||||
(set_global $assembly/index/h
|
||||
;;@ assembly/index.ts:8:6
|
||||
;;@ assembly/index.ts:30:6
|
||||
(get_local $1)
|
||||
)
|
||||
;;@ assembly/index.ts:9:2
|
||||
;;@ assembly/index.ts:31:2
|
||||
(set_global $assembly/index/s
|
||||
;;@ assembly/index.ts:9:6
|
||||
;;@ assembly/index.ts:31:6
|
||||
(i32.mul
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:9:14
|
||||
;;@ assembly/index.ts:31:14
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $assembly/index/step (; 1 ;) (type $v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
(local $6 i32)
|
||||
(local $7 i32)
|
||||
(set_local $5
|
||||
;;@ assembly/index.ts:14:12
|
||||
(i32.sub
|
||||
(get_global $assembly/index/h)
|
||||
;;@ assembly/index.ts:14:16
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(set_local $6
|
||||
;;@ assembly/index.ts:15:12
|
||||
(i32.sub
|
||||
(get_global $assembly/index/w)
|
||||
;;@ assembly/index.ts:15:16
|
||||
(i32.const 1)
|
||||
)
|
||||
;;@ assembly/index.ts:34:7
|
||||
(set_local $0
|
||||
;;@ assembly/index.ts:34:15
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
;;@ assembly/index.ts:19:18
|
||||
;;@ assembly/index.ts:34:18
|
||||
(i32.lt_s
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:19:22
|
||||
;;@ assembly/index.ts:34:22
|
||||
(get_global $assembly/index/h)
|
||||
)
|
||||
(block
|
||||
(set_local $3
|
||||
;;@ assembly/index.ts:21:14
|
||||
(if (result i32)
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:21:29
|
||||
(i32.sub
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:21:33
|
||||
(i32.const 1)
|
||||
)
|
||||
;;@ assembly/index.ts:21:23
|
||||
(get_local $5)
|
||||
)
|
||||
)
|
||||
(set_local $4
|
||||
;;@ assembly/index.ts:22:14
|
||||
(if (result i32)
|
||||
(i32.eq
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:22:19
|
||||
(get_local $5)
|
||||
)
|
||||
;;@ assembly/index.ts:22:25
|
||||
(i32.const 0)
|
||||
;;@ assembly/index.ts:22:29
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:22:33
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:23:9
|
||||
;;@ assembly/index.ts:35:9
|
||||
(set_local $1
|
||||
;;@ assembly/index.ts:23:17
|
||||
;;@ assembly/index.ts:35:17
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
;;@ assembly/index.ts:23:20
|
||||
;;@ assembly/index.ts:35:20
|
||||
(i32.lt_s
|
||||
(get_local $1)
|
||||
;;@ assembly/index.ts:23:24
|
||||
;;@ assembly/index.ts:35:24
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
(block
|
||||
;;@ assembly/index.ts:29:6
|
||||
(set_local $2
|
||||
;;@ assembly/index.ts:29:27
|
||||
(i32.add
|
||||
;;@ assembly/index.ts:30:8
|
||||
(i32.add
|
||||
(i32.add
|
||||
(i32.add
|
||||
(i32.add
|
||||
(i32.add
|
||||
(i32.add
|
||||
(i32.load8_u
|
||||
;;@ assembly/index.ts:30:17
|
||||
(i32.add
|
||||
(i32.mul
|
||||
(get_local $3)
|
||||
;;@ assembly/index.ts:30:23
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
(tee_local $2
|
||||
;;@ assembly/index.ts:24:16
|
||||
(if (result i32)
|
||||
(get_local $1)
|
||||
;;@ assembly/index.ts:24:31
|
||||
(i32.sub
|
||||
(get_local $1)
|
||||
;;@ assembly/index.ts:24:35
|
||||
(i32.const 1)
|
||||
)
|
||||
;;@ assembly/index.ts:24:25
|
||||
(get_local $6)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:30:34
|
||||
(i32.load8_u
|
||||
;;@ assembly/index.ts:30:43
|
||||
(i32.add
|
||||
(i32.mul
|
||||
(get_local $3)
|
||||
;;@ assembly/index.ts:30:49
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
;;@ assembly/index.ts:30:53
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:30:58
|
||||
(i32.load8_u
|
||||
;;@ assembly/index.ts:30:67
|
||||
(i32.add
|
||||
(i32.mul
|
||||
(get_local $3)
|
||||
;;@ assembly/index.ts:30:73
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
(tee_local $7
|
||||
;;@ assembly/index.ts:25:16
|
||||
(if (result i32)
|
||||
(i32.eq
|
||||
(get_local $1)
|
||||
;;@ assembly/index.ts:25:21
|
||||
(get_local $6)
|
||||
)
|
||||
;;@ assembly/index.ts:25:27
|
||||
(i32.const 0)
|
||||
;;@ assembly/index.ts:25:31
|
||||
(i32.add
|
||||
(get_local $1)
|
||||
;;@ assembly/index.ts:25:35
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:31:8
|
||||
(i32.load8_u
|
||||
;;@ assembly/index.ts:31:17
|
||||
(i32.add
|
||||
(i32.mul
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:31:23
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
;;@ assembly/index.ts:31:27
|
||||
(get_local $2)
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:31:58
|
||||
(i32.load8_u
|
||||
;;@ assembly/index.ts:31:67
|
||||
(i32.add
|
||||
(i32.mul
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:31:73
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
;;@ assembly/index.ts:31:77
|
||||
(get_local $7)
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:32:8
|
||||
(i32.load8_u
|
||||
;;@ assembly/index.ts:32:17
|
||||
(i32.add
|
||||
(i32.mul
|
||||
(get_local $4)
|
||||
;;@ assembly/index.ts:32:23
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
;;@ assembly/index.ts:32:27
|
||||
(get_local $2)
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:32:34
|
||||
(i32.load8_u
|
||||
;;@ assembly/index.ts:32:43
|
||||
(i32.add
|
||||
(i32.mul
|
||||
(get_local $4)
|
||||
;;@ assembly/index.ts:32:49
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
;;@ assembly/index.ts:32:53
|
||||
(get_local $1)
|
||||
)
|
||||
)
|
||||
(set_local $3
|
||||
;;@ assembly/index.ts:36:16
|
||||
(if (result i32)
|
||||
(f64.gt
|
||||
;;@ assembly/index.ts:36:23
|
||||
(call $~lib/math/JSMath.random)
|
||||
;;@ assembly/index.ts:36:34
|
||||
(f64.const 0.15)
|
||||
)
|
||||
;;@ assembly/index.ts:32:58
|
||||
(i32.load8_u
|
||||
;;@ assembly/index.ts:32:67
|
||||
;;@ assembly/index.ts:36:41
|
||||
(i32.const 8723366)
|
||||
(i32.const -1666349)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:17:2
|
||||
(i32.store
|
||||
;;@ assembly/index.ts:17:13
|
||||
(i32.shl
|
||||
(i32.add
|
||||
;;@ assembly/index.ts:17:14
|
||||
(i32.add
|
||||
(get_global $assembly/index/s)
|
||||
;;@ assembly/index.ts:17:18
|
||||
(i32.mul
|
||||
(get_local $4)
|
||||
;;@ assembly/index.ts:32:73
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:17:22
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
;;@ assembly/index.ts:32:77
|
||||
(get_local $7)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:36:6
|
||||
(if
|
||||
;;@ assembly/index.ts:35:18
|
||||
(i32.load8_u
|
||||
;;@ assembly/index.ts:35:27
|
||||
(i32.add
|
||||
(i32.mul
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:35:31
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
;;@ assembly/index.ts:35:35
|
||||
;;@ assembly/index.ts:17:26
|
||||
(get_local $1)
|
||||
)
|
||||
;;@ assembly/index.ts:17:32
|
||||
(i32.const 2)
|
||||
)
|
||||
;;@ assembly/index.ts:37:8
|
||||
(block $break|2
|
||||
(br_if $break|2
|
||||
(i32.eq
|
||||
;;@ assembly/index.ts:37:16
|
||||
(get_local $2)
|
||||
;;@ assembly/index.ts:42:15
|
||||
(i32.const 2)
|
||||
)
|
||||
)
|
||||
(br_if $break|2
|
||||
(i32.eq
|
||||
(get_local $2)
|
||||
;;@ assembly/index.ts:42:23
|
||||
(i32.const 3)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:40:21
|
||||
(i32.store8
|
||||
;;@ assembly/index.ts:40:31
|
||||
(i32.add
|
||||
(i32.add
|
||||
(get_global $assembly/index/s)
|
||||
;;@ assembly/index.ts:40:35
|
||||
(i32.mul
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:40:39
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:40:43
|
||||
(get_local $1)
|
||||
)
|
||||
;;@ assembly/index.ts:40:46
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
(if
|
||||
(i32.eq
|
||||
;;@ assembly/index.ts:45:16
|
||||
(get_local $2)
|
||||
;;@ assembly/index.ts:47:15
|
||||
(i32.const 3)
|
||||
)
|
||||
;;@ assembly/index.ts:47:20
|
||||
(i32.store8
|
||||
;;@ assembly/index.ts:47:30
|
||||
(i32.add
|
||||
(i32.add
|
||||
(get_global $assembly/index/s)
|
||||
;;@ assembly/index.ts:47:34
|
||||
(i32.mul
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:47:38
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:47:42
|
||||
(get_local $1)
|
||||
)
|
||||
;;@ assembly/index.ts:47:45
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:17:35
|
||||
(get_local $3)
|
||||
)
|
||||
;;@ assembly/index.ts:23:27
|
||||
;;@ assembly/index.ts:35:27
|
||||
(set_local $1
|
||||
(i32.add
|
||||
;;@ assembly/index.ts:23:29
|
||||
;;@ assembly/index.ts:35:29
|
||||
(get_local $1)
|
||||
(i32.const 1)
|
||||
)
|
||||
@ -351,10 +109,526 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:19:25
|
||||
;;@ assembly/index.ts:34:25
|
||||
(set_local $0
|
||||
(i32.add
|
||||
;;@ assembly/index.ts:19:27
|
||||
;;@ assembly/index.ts:34:27
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|0)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(func $assembly/index/step (; 2 ;) (type $v)
|
||||
(local $0 i32)
|
||||
(local $1 i32)
|
||||
(local $2 i32)
|
||||
(local $3 i32)
|
||||
(local $4 i32)
|
||||
(local $5 i32)
|
||||
(local $6 i32)
|
||||
(local $7 i32)
|
||||
(local $8 i32)
|
||||
(set_local $7
|
||||
;;@ assembly/index.ts:43:12
|
||||
(i32.sub
|
||||
(get_global $assembly/index/h)
|
||||
;;@ assembly/index.ts:43:16
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(set_local $8
|
||||
;;@ assembly/index.ts:44:12
|
||||
(i32.sub
|
||||
(get_global $assembly/index/w)
|
||||
;;@ assembly/index.ts:44:16
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(loop $continue|0
|
||||
(if
|
||||
;;@ assembly/index.ts:48:18
|
||||
(i32.lt_s
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:48:22
|
||||
(get_global $assembly/index/h)
|
||||
)
|
||||
(block
|
||||
(set_local $5
|
||||
;;@ assembly/index.ts:50:14
|
||||
(if (result i32)
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:50:29
|
||||
(i32.sub
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:50:33
|
||||
(i32.const 1)
|
||||
)
|
||||
;;@ assembly/index.ts:50:23
|
||||
(get_local $7)
|
||||
)
|
||||
)
|
||||
(set_local $6
|
||||
;;@ assembly/index.ts:51:14
|
||||
(if (result i32)
|
||||
(i32.eq
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:51:19
|
||||
(get_local $7)
|
||||
)
|
||||
;;@ assembly/index.ts:51:25
|
||||
(i32.const 0)
|
||||
;;@ assembly/index.ts:51:29
|
||||
(i32.add
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:51:33
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:52:9
|
||||
(set_local $1
|
||||
;;@ assembly/index.ts:52:17
|
||||
(i32.const 0)
|
||||
)
|
||||
(loop $continue|1
|
||||
(if
|
||||
;;@ assembly/index.ts:52:20
|
||||
(i32.lt_s
|
||||
(get_local $1)
|
||||
;;@ assembly/index.ts:52:24
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
(block
|
||||
;;@ assembly/index.ts:62:6
|
||||
(set_local $4
|
||||
(i32.load
|
||||
(i32.shl
|
||||
(i32.add
|
||||
(i32.mul
|
||||
;;@ assembly/index.ts:62:24
|
||||
(get_local $0)
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
;;@ assembly/index.ts:62:19
|
||||
(get_local $1)
|
||||
)
|
||||
(i32.const 2)
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:69:6
|
||||
(set_local $2
|
||||
;;@ assembly/index.ts:69:27
|
||||
(i32.add
|
||||
;;@ assembly/index.ts:70:8
|
||||
(i32.add
|
||||
(i32.add
|
||||
(i32.add
|
||||
(i32.add
|
||||
(i32.add
|
||||
(i32.add
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.shl
|
||||
(i32.add
|
||||
(i32.mul
|
||||
;;@ assembly/index.ts:58:24
|
||||
(get_local $5)
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
(tee_local $2
|
||||
;;@ assembly/index.ts:53:16
|
||||
(if (result i32)
|
||||
(get_local $1)
|
||||
;;@ assembly/index.ts:53:31
|
||||
(i32.sub
|
||||
(get_local $1)
|
||||
;;@ assembly/index.ts:53:35
|
||||
(i32.const 1)
|
||||
)
|
||||
;;@ assembly/index.ts:53:25
|
||||
(get_local $8)
|
||||
)
|
||||
)
|
||||
)
|
||||
(i32.const 2)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:70:14
|
||||
(i32.const 1)
|
||||
)
|
||||
;;@ assembly/index.ts:70:19
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.shl
|
||||
(i32.add
|
||||
(i32.mul
|
||||
;;@ assembly/index.ts:59:24
|
||||
(get_local $5)
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
;;@ assembly/index.ts:59:19
|
||||
(get_local $1)
|
||||
)
|
||||
(i32.const 2)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:70:25
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:70:30
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.shl
|
||||
(i32.add
|
||||
(i32.mul
|
||||
;;@ assembly/index.ts:60:24
|
||||
(get_local $5)
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
(tee_local $3
|
||||
;;@ assembly/index.ts:54:16
|
||||
(if (result i32)
|
||||
(i32.eq
|
||||
(get_local $1)
|
||||
;;@ assembly/index.ts:54:21
|
||||
(get_local $8)
|
||||
)
|
||||
;;@ assembly/index.ts:54:27
|
||||
(i32.const 0)
|
||||
;;@ assembly/index.ts:54:31
|
||||
(i32.add
|
||||
(get_local $1)
|
||||
;;@ assembly/index.ts:54:35
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(i32.const 2)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:70:36
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:71:8
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.shl
|
||||
(i32.add
|
||||
(i32.mul
|
||||
;;@ assembly/index.ts:61:24
|
||||
(get_local $0)
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
;;@ assembly/index.ts:61:19
|
||||
(get_local $2)
|
||||
)
|
||||
(i32.const 2)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:71:14
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:71:30
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.shl
|
||||
(i32.add
|
||||
(i32.mul
|
||||
;;@ assembly/index.ts:63:24
|
||||
(get_local $0)
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
;;@ assembly/index.ts:63:19
|
||||
(get_local $3)
|
||||
)
|
||||
(i32.const 2)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:71:36
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:72:8
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.shl
|
||||
(i32.add
|
||||
(i32.mul
|
||||
;;@ assembly/index.ts:64:24
|
||||
(get_local $6)
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
;;@ assembly/index.ts:64:19
|
||||
(get_local $2)
|
||||
)
|
||||
(i32.const 2)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:72:14
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:72:19
|
||||
(i32.and
|
||||
(i32.load
|
||||
(i32.shl
|
||||
(i32.add
|
||||
(i32.mul
|
||||
;;@ assembly/index.ts:65:24
|
||||
(get_local $6)
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
;;@ assembly/index.ts:65:19
|
||||
(get_local $1)
|
||||
)
|
||||
(i32.const 2)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:72:25
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:72:30
|
||||
(i32.and
|
||||
;;@ assembly/index.ts:11:9
|
||||
(i32.load
|
||||
;;@ assembly/index.ts:11:19
|
||||
(i32.shl
|
||||
(i32.add
|
||||
;;@ assembly/index.ts:11:20
|
||||
(i32.mul
|
||||
;;@ assembly/index.ts:66:24
|
||||
(get_local $6)
|
||||
;;@ assembly/index.ts:11:24
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
;;@ assembly/index.ts:66:19
|
||||
(get_local $3)
|
||||
)
|
||||
;;@ assembly/index.ts:11:34
|
||||
(i32.const 2)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:72:36
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:76:6
|
||||
(if
|
||||
;;@ assembly/index.ts:75:18
|
||||
(i32.and
|
||||
(get_local $4)
|
||||
;;@ assembly/index.ts:75:23
|
||||
(i32.const 1)
|
||||
)
|
||||
;;@ assembly/index.ts:79:8
|
||||
(if
|
||||
;;@ assembly/index.ts:79:12
|
||||
(i32.and
|
||||
(if (result i32)
|
||||
(tee_local $3
|
||||
(i32.lt_u
|
||||
(get_local $2)
|
||||
;;@ assembly/index.ts:79:29
|
||||
(i32.const 2)
|
||||
)
|
||||
)
|
||||
(get_local $3)
|
||||
;;@ assembly/index.ts:79:34
|
||||
(i32.gt_u
|
||||
(get_local $2)
|
||||
;;@ assembly/index.ts:79:51
|
||||
(i32.const 3)
|
||||
)
|
||||
)
|
||||
(i32.const 1)
|
||||
)
|
||||
(i32.store
|
||||
(i32.shl
|
||||
(i32.add
|
||||
(i32.add
|
||||
(get_global $assembly/index/s)
|
||||
(i32.mul
|
||||
;;@ assembly/index.ts:79:61
|
||||
(get_local $0)
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:79:58
|
||||
(get_local $1)
|
||||
)
|
||||
(i32.const 2)
|
||||
)
|
||||
(i32.const -8053850)
|
||||
)
|
||||
(i32.store
|
||||
(i32.shl
|
||||
(i32.add
|
||||
(i32.add
|
||||
(get_global $assembly/index/s)
|
||||
(i32.mul
|
||||
;;@ assembly/index.ts:81:25
|
||||
(get_local $0)
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:81:22
|
||||
(get_local $1)
|
||||
)
|
||||
(i32.const 2)
|
||||
)
|
||||
(i32.or
|
||||
(i32.shl
|
||||
(tee_local $4
|
||||
(select
|
||||
(tee_local $4
|
||||
(i32.sub
|
||||
(i32.shr_u
|
||||
(tee_local $3
|
||||
;;@ assembly/index.ts:81:28
|
||||
(get_local $4)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.const 7)
|
||||
)
|
||||
)
|
||||
(tee_local $2
|
||||
(i32.const 0)
|
||||
)
|
||||
(i32.gt_s
|
||||
(get_local $4)
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(i32.const 24)
|
||||
)
|
||||
(i32.and
|
||||
(get_local $3)
|
||||
(i32.const 16777215)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:84:8
|
||||
(if
|
||||
;;@ assembly/index.ts:84:12
|
||||
(i32.eq
|
||||
(get_local $2)
|
||||
;;@ assembly/index.ts:84:30
|
||||
(i32.const 3)
|
||||
)
|
||||
(i32.store
|
||||
(i32.shl
|
||||
(i32.add
|
||||
(i32.add
|
||||
(get_global $assembly/index/s)
|
||||
(i32.mul
|
||||
;;@ assembly/index.ts:84:40
|
||||
(get_local $0)
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:84:37
|
||||
(get_local $1)
|
||||
)
|
||||
(i32.const 2)
|
||||
)
|
||||
(i32.const -1666349)
|
||||
)
|
||||
;;@ assembly/index.ts:17:2
|
||||
(i32.store
|
||||
;;@ assembly/index.ts:17:13
|
||||
(i32.shl
|
||||
(i32.add
|
||||
;;@ assembly/index.ts:17:14
|
||||
(i32.add
|
||||
(get_global $assembly/index/s)
|
||||
;;@ assembly/index.ts:17:18
|
||||
(i32.mul
|
||||
;;@ assembly/index.ts:86:25
|
||||
(get_local $0)
|
||||
;;@ assembly/index.ts:17:22
|
||||
(get_global $assembly/index/w)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:86:22
|
||||
(get_local $1)
|
||||
)
|
||||
;;@ assembly/index.ts:17:32
|
||||
(i32.const 2)
|
||||
)
|
||||
;;@ assembly/index.ts:24:12
|
||||
(i32.or
|
||||
(i32.shl
|
||||
;;@ assembly/index.ts:23:2
|
||||
(tee_local $2
|
||||
;;@ assembly/index.ts:23:10
|
||||
(select
|
||||
(tee_local $2
|
||||
;;@ assembly/index.ts:23:19
|
||||
(i32.sub
|
||||
(i32.shr_u
|
||||
;;@ assembly/index.ts:86:28
|
||||
(get_local $4)
|
||||
;;@ assembly/index.ts:23:26
|
||||
(i32.const 24)
|
||||
)
|
||||
;;@ assembly/index.ts:23:32
|
||||
(i32.const 7)
|
||||
)
|
||||
)
|
||||
(tee_local $3
|
||||
;;@ assembly/index.ts:23:35
|
||||
(i32.const 0)
|
||||
)
|
||||
(i32.gt_s
|
||||
(get_local $2)
|
||||
(i32.const 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:24:18
|
||||
(i32.const 24)
|
||||
)
|
||||
;;@ assembly/index.ts:24:24
|
||||
(i32.and
|
||||
;;@ assembly/index.ts:24:25
|
||||
(get_local $4)
|
||||
;;@ assembly/index.ts:24:29
|
||||
(i32.const 16777215)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:52:27
|
||||
(set_local $1
|
||||
(i32.add
|
||||
;;@ assembly/index.ts:52:29
|
||||
(get_local $1)
|
||||
(i32.const 1)
|
||||
)
|
||||
)
|
||||
(br $continue|1)
|
||||
)
|
||||
)
|
||||
)
|
||||
;;@ assembly/index.ts:48:25
|
||||
(set_local $0
|
||||
(i32.add
|
||||
;;@ assembly/index.ts:48:27
|
||||
(get_local $0)
|
||||
(i32.const 1)
|
||||
)
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user