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