summaryrefslogtreecommitdiff
path: root/output/ex34.vapor
diff options
context:
space:
mode:
Diffstat (limited to 'output/ex34.vapor')
-rw-r--r--output/ex34.vapor30
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
+