diff options
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 + | 
