blob: 366618c54db2ebb16f8d90f66fc62d268f27bca7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
const vmt_MT4
:MT4.Start
:MT4.Change
func Main [in 0, out 3, local 0]
$t0{t.0} = HeapAllocZ(4)
[$t0{t.0}] = :vmt_MT4
if $t0{t.0} goto :null1
Error("null pointer")
null1:
$t1{t.1} = [$t0{t.0}]
$t1{t.1} = [$t1{t.1}]
$a0 = $t0{t.0}
$a1 = 1
$a2 = 2
$a3 = 3
out[0] = 4
out[1] = 5
out[2] = 6
call $t1{t.1}
$t1{t.2} = $v0
PrintIntS($t1{t.2})
ret
func MT4.Start [in 3, out 3, local 0]
$t0{this} = $a0
$t1{p1} = $a1
$t2{p2} = $a2
$t3{p3} = $a3
$t4{p4} = in[0]
$t5{p5} = in[1]
$t6{p6} = in[2]
PrintIntS($t1{p1})
PrintIntS($t2{p2})
PrintIntS($t3{p3})
PrintIntS($t4{p4})
PrintIntS($t5{p5})
PrintIntS($t6{p6})
$t7{t.0} = [$t0{this}]
$t7{t.0} = [$t7{t.0}+4]
$a0 = $t0{this}
$a1 = $t6{p6}
$a2 = $t5{p5}
$a3 = $t4{p4}
out[0] = $t3{p3}
out[1] = $t2{p2}
out[2] = $t1{p1}
call $t7{t.0}
$t7{aux} = $v0
$v0 = $t7{aux}
ret
func MT4.Change [in 3, out 0, local 0]
$t0{p1} = $a1
$t1{p2} = $a2
$t2{p3} = $a3
$t3{p4} = in[0]
$t4{p5} = in[1]
$t5{p6} = in[2]
PrintIntS($t0{p1})
PrintIntS($t1{p2})
PrintIntS($t2{p3})
PrintIntS($t3{p4})
PrintIntS($t4{p5})
PrintIntS($t5{p6})
$v0 = 0
ret
|