2018-04-19 17:32:23 +02:00
|
|
|
(module
|
|
|
|
(type $iiv (func (param i32 i32)))
|
|
|
|
(type $v (func))
|
|
|
|
(import "env" "memory" (memory $0 1))
|
|
|
|
(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))
|
|
|
|
(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)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:7:2
|
2018-04-19 17:32:23 +02:00
|
|
|
(set_global $assembly/index/w
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:7:6
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $0)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:8:2
|
2018-04-19 17:32:23 +02:00
|
|
|
(set_global $assembly/index/h
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:8:6
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $1)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:9:2
|
2018-04-19 17:32:23 +02:00
|
|
|
(set_global $assembly/index/s
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:9:6
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.mul
|
|
|
|
(get_local $0)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:9:14
|
2018-04-19 17:32:23 +02:00
|
|
|
(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
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:14:12
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.sub
|
|
|
|
(get_global $assembly/index/h)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:14:16
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.const 1)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(set_local $6
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:15:12
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.sub
|
|
|
|
(get_global $assembly/index/w)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:15:16
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.const 1)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(loop $continue|0
|
|
|
|
(if
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:19:18
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.lt_s
|
|
|
|
(get_local $0)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:19:22
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_global $assembly/index/h)
|
|
|
|
)
|
|
|
|
(block
|
|
|
|
(set_local $3
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:21:14
|
2018-04-19 17:32:23 +02:00
|
|
|
(if (result i32)
|
|
|
|
(get_local $0)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:21:29
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.sub
|
|
|
|
(get_local $0)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:21:33
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.const 1)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:21:23
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $5)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(set_local $4
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:22:14
|
2018-04-19 17:32:23 +02:00
|
|
|
(if (result i32)
|
|
|
|
(i32.eq
|
|
|
|
(get_local $0)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:22:19
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $5)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:22:25
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.const 0)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:22:29
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.add
|
|
|
|
(get_local $0)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:22:33
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.const 1)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:23:9
|
2018-04-19 17:32:23 +02:00
|
|
|
(set_local $1
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:23:17
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.const 0)
|
|
|
|
)
|
|
|
|
(loop $continue|1
|
|
|
|
(if
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:23:20
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.lt_s
|
|
|
|
(get_local $1)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:23:24
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_global $assembly/index/w)
|
|
|
|
)
|
|
|
|
(block
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:29:6
|
2018-04-19 17:32:23 +02:00
|
|
|
(set_local $2
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:29:27
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.add
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:30:8
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.add
|
|
|
|
(i32.add
|
|
|
|
(i32.add
|
|
|
|
(i32.add
|
|
|
|
(i32.add
|
|
|
|
(i32.add
|
|
|
|
(i32.load8_u
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:30:17
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.add
|
|
|
|
(i32.mul
|
|
|
|
(get_local $3)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:30:23
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_global $assembly/index/w)
|
|
|
|
)
|
|
|
|
(tee_local $2
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:24:16
|
2018-04-19 17:32:23 +02:00
|
|
|
(if (result i32)
|
|
|
|
(get_local $1)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:24:31
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.sub
|
|
|
|
(get_local $1)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:24:35
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.const 1)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:24:25
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $6)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:30:34
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.load8_u
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:30:43
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.add
|
|
|
|
(i32.mul
|
|
|
|
(get_local $3)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:30:49
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_global $assembly/index/w)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:30:53
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $1)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:30:58
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.load8_u
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:30:67
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.add
|
|
|
|
(i32.mul
|
|
|
|
(get_local $3)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:30:73
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_global $assembly/index/w)
|
|
|
|
)
|
|
|
|
(tee_local $7
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:25:16
|
2018-04-19 17:32:23 +02:00
|
|
|
(if (result i32)
|
|
|
|
(i32.eq
|
|
|
|
(get_local $1)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:25:21
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $6)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:25:27
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.const 0)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:25:31
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.add
|
|
|
|
(get_local $1)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:25:35
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.const 1)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:31:8
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.load8_u
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:31:17
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.add
|
|
|
|
(i32.mul
|
|
|
|
(get_local $0)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:31:23
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_global $assembly/index/w)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:31:27
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $2)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:31:58
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.load8_u
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:31:67
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.add
|
|
|
|
(i32.mul
|
|
|
|
(get_local $0)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:31:73
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_global $assembly/index/w)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:31:77
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $7)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:32:8
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.load8_u
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:32:17
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.add
|
|
|
|
(i32.mul
|
|
|
|
(get_local $4)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:32:23
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_global $assembly/index/w)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:32:27
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $2)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:32:34
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.load8_u
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:32:43
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.add
|
|
|
|
(i32.mul
|
|
|
|
(get_local $4)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:32:49
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_global $assembly/index/w)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:32:53
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $1)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:32:58
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.load8_u
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:32:67
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.add
|
|
|
|
(i32.mul
|
|
|
|
(get_local $4)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:32:73
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_global $assembly/index/w)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:32:77
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $7)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:36:6
|
2018-04-19 17:32:23 +02:00
|
|
|
(if
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:35:18
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.load8_u
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:35:27
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.add
|
|
|
|
(i32.mul
|
|
|
|
(get_local $0)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:35:31
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_global $assembly/index/w)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:35:35
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $1)
|
|
|
|
)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:37:8
|
2018-04-19 17:32:23 +02:00
|
|
|
(block $break|2
|
|
|
|
(br_if $break|2
|
|
|
|
(i32.eq
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:37:16
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $2)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:42:15
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.const 2)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(br_if $break|2
|
|
|
|
(i32.eq
|
|
|
|
(get_local $2)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:42:23
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.const 3)
|
|
|
|
)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:40:21
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.store8
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:40:31
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.add
|
|
|
|
(i32.add
|
|
|
|
(get_global $assembly/index/s)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:40:35
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.mul
|
|
|
|
(get_local $0)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:40:39
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_global $assembly/index/w)
|
|
|
|
)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:40:43
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $1)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:40:46
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.const 0)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(if
|
|
|
|
(i32.eq
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:45:16
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $2)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:47:15
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.const 3)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:47:20
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.store8
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:47:30
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.add
|
|
|
|
(i32.add
|
|
|
|
(get_global $assembly/index/s)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:47:34
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.mul
|
|
|
|
(get_local $0)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:47:38
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_global $assembly/index/w)
|
|
|
|
)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:47:42
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $1)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:47:45
|
2018-04-19 17:32:23 +02:00
|
|
|
(i32.const 1)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:23:27
|
2018-04-19 17:32:23 +02:00
|
|
|
(set_local $1
|
|
|
|
(i32.add
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:23:29
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $1)
|
|
|
|
(i32.const 1)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(br $continue|1)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:19:25
|
2018-04-19 17:32:23 +02:00
|
|
|
(set_local $0
|
|
|
|
(i32.add
|
2018-04-19 18:53:01 +02:00
|
|
|
;;@ assembly/index.ts:19:27
|
2018-04-19 17:32:23 +02:00
|
|
|
(get_local $0)
|
|
|
|
(i32.const 1)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(br $continue|0)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|