blob: 713ef0621c6e8979ac2b3f5d81c413ab8564ddac (
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
|
func Main()
t.3 = HeapAllocZ(4)
[t.3+0] = :functable_Fac
t.4 = t.3
t.5 = [t.4+0]
t.6 = [t.5+0]
t.7 = 10
t.2 = call t.6(t.4 t.7)
t.8 = t.2
PrintIntS(t.8)
ret
const functable_Fac
:Fac_ComputeFac
func Fac_ComputeFac(this t.0 )
t.2 = t.0
t.3 = 1
t.1 = LtS(t.2 t.3)
t.4 = t.1
if0 t.4 goto :if6_else
if6_body:
t.5 = 1
goto :if6_end
if6_else:
t.7 = t.0
t.9 = [this]
t.11 = t.0
t.12 = 1
t.10 = Sub(t.11 t.12)
t.13 = t.10
t.9 = [t.9+0]
t.8 = call t.9(this t.13)
t.14 = t.8
t.6 = MulS(t.7 t.14)
t.5 = t.6
if6_end:
t.15 = t.5
ret t.15
func AllocArray(size)
bytes = MulS(size 4)
bytes = Add(bytes 4)
v = HeapAllocZ(bytes)
[v] = size
ret v
|