summaryrefslogtreecommitdiff
path: root/base/MoreThan4.vapor
diff options
context:
space:
mode:
Diffstat (limited to 'base/MoreThan4.vapor')
-rw-r--r--base/MoreThan4.vapor38
1 files changed, 38 insertions, 0 deletions
diff --git a/base/MoreThan4.vapor b/base/MoreThan4.vapor
new file mode 100644
index 0000000..6067f8e
--- /dev/null
+++ b/base/MoreThan4.vapor
@@ -0,0 +1,38 @@
+
+const vmt_MT4
+ :MT4.Start
+ :MT4.Change
+
+
+func Main()
+ t.0 = HeapAllocZ(4)
+ [t.0] = :vmt_MT4
+ if t.0 goto :null1
+ Error("null pointer")
+ null1:
+ t.1 = [t.0]
+ t.1 = [t.1+0]
+ t.2 = call t.1(t.0 1 2 3 4 5 6)
+ PrintIntS(t.2)
+ ret
+
+func MT4.Start(this p1 p2 p3 p4 p5 p6)
+ PrintIntS(p1)
+ PrintIntS(p2)
+ PrintIntS(p3)
+ PrintIntS(p4)
+ PrintIntS(p5)
+ PrintIntS(p6)
+ t.0 = [this]
+ t.0 = [t.0+4]
+ aux = call t.0(this p6 p5 p4 p3 p2 p1)
+ ret aux
+
+func MT4.Change(this p1 p2 p3 p4 p5 p6)
+ PrintIntS(p1)
+ PrintIntS(p2)
+ PrintIntS(p3)
+ PrintIntS(p4)
+ PrintIntS(p5)
+ PrintIntS(p6)
+ ret 0