diff options
author | bd-912 <bdunahu@colostate.edu> | 2024-04-26 23:33:15 -0600 |
---|---|---|
committer | bd-912 <bdunahu@colostate.edu> | 2024-04-26 23:33:15 -0600 |
commit | ff12bb1dd11c509fc7ac7529085df2d2407b0ece (patch) | |
tree | 81becf519d2027b7729fee73cde49137f22ebbef /output/ex50.vapor | |
parent | 5db69446e6e898129c28bea19fbb8bb111c5101c (diff) |
Add my test library
Diffstat (limited to 'output/ex50.vapor')
-rw-r--r-- | output/ex50.vapor | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/output/ex50.vapor b/output/ex50.vapor new file mode 100644 index 0000000..8c2f4ef --- /dev/null +++ b/output/ex50.vapor @@ -0,0 +1,52 @@ +func Main() + t.4 = HeapAllocZ(8) + [t.4+0] = :functable_A + t.3 = t.4 + t.3 = t.3 + t.6 = [t.3+0] + t.7 = [t.6+0] + t.5 = call t.7(t.3 ) + t.8 = t.5 + PrintIntS(t.8) + ret + +const functable_A + :A_set_get + +func A_set_get(this ) + t.0 = HeapAllocZ(12) + [t.0+0] = :functable_B + [this+4] = t.0 + t.3 = [this+4] + t.4 = [t.3+0] + t.5 = [t.4+4] + t.2 = call t.5(t.3 ) + t.1 = t.2 + t.3 = [this+4] + t.7 = [t.3+0] + t.8 = [t.7+0] + t.6 = call t.8(t.3 ) + t.1 = t.6 + t.9 = t.1 + ret t.9 + +const functable_B + :B_get + :B_set + +func B_get(this ) + t.0 = [this+8] + ret t.0 + +func B_set(this ) + [this+8] = 12 + t.0 = 1 + ret t.0 + +func AllocArray(size) + bytes = MulS(size 4) + bytes = Add(bytes 4) + v = HeapAllocZ(bytes) + [v] = size + ret v + |