diff options
Diffstat (limited to 'output/ex53.vapor')
-rw-r--r-- | output/ex53.vapor | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/output/ex53.vapor b/output/ex53.vapor new file mode 100644 index 0000000..14e70ce --- /dev/null +++ b/output/ex53.vapor @@ -0,0 +1,37 @@ +func Main() + t.3 = HeapAllocZ(12) + [t.3+0] = :functable_Test + t.4 = t.3 + t.5 = t.4 + t.6 = [t.5+0] + t.7 = [t.6+0] + t.8 = 12 + t.9 = t.8 + t.2 = call t.7(t.5 t.9) + t.10 = t.2 + t.11 = t.10 + PrintIntS(t.11) + ret + +const functable_Test + :Test_start + +func Test_start(this t.0 ) + t.1 = t.0 + t.2 = t.1 + [this+4] = t.2 + t.3 = [this+4] + t.4 = t.3 + [this+8] = t.4 + t.5 = [this+8] + t.6 = t.5 + t.7 = t.6 + ret t.7 + +func AllocArray(size) + bytes = MulS(size 4) + bytes = Add(bytes 4) + v = HeapAllocZ(bytes) + [v] = size + ret v + |