diff options
Diffstat (limited to 'output/ex47.vapor')
-rw-r--r-- | output/ex47.vapor | 82 |
1 files changed, 51 insertions, 31 deletions
diff --git a/output/ex47.vapor b/output/ex47.vapor index e035a56..ebe2f0a 100644 --- a/output/ex47.vapor +++ b/output/ex47.vapor @@ -1,20 +1,27 @@ func Main() t.4 = HeapAllocZ(12) [t.4+0] = :functable_A - t.3 = t.4 - t.3 = t.3 - t.6 = [t.3+0] - t.7 = [t.6+0] - t.8 = 42 - t.5 = call t.7(t.3 t.8) - t.9 = t.5 - PrintIntS(t.9) - t.3 = t.3 - t.11 = [t.3+0] - t.12 = [t.11+4] - t.10 = call t.12(t.3 ) - t.13 = t.10 - PrintIntS(t.13) + t.5 = t.4 + t.6 = t.5 + t.3 = t.6 + t.8 = t.3 + t.3 = t.8 + t.9 = [t.3+0] + t.10 = [t.9+0] + t.11 = 42 + t.12 = t.11 + t.7 = call t.10(t.3 t.12) + t.13 = t.7 + t.14 = t.13 + PrintIntS(t.14) + t.16 = t.3 + t.3 = t.16 + t.17 = [t.3+0] + t.18 = [t.17+4] + t.15 = call t.18(t.3) + t.19 = t.15 + t.20 = t.19 + PrintIntS(t.20) ret const functable_A @@ -22,27 +29,40 @@ const functable_A :A_get func A_set(this t.0 ) - t.1 = call :AllocArray(12) - [this+8] = t.1 + t.1 = 12 + t.2 = t.1 + t.3 = call :AllocArray(t.2) + t.4 = t.3 + t.5 = t.4 + [this+8] = t.5 + t.6 = [this+8] + t.8 = 5 + t.9 = t.8 + t.7 = MulS(t.9 4) + t.7 = Add(t.7 4) + t.7 = Add(t.6 t.7) + t.10 = t.0 + t.11 = t.10 + [t.7] = t.11 + t.14 = [this+8] + t.13 = t.14 + t.12 = [t.13+0] + t.15 = t.12 + t.16 = t.15 + ret t.16 + +func A_get(this ) t.2 = [this+8] - t.3 = MulS(5 4) + t.1 = t.2 + t.4 = 5 + t.3 = MulS(t.4 4) t.3 = Add(t.3 4) - t.3 = Add(t.2 t.3) - [t.3] = t.0 - t.5 = [this+8] - t.4 = [t.5+0] - t.6 = t.4 + t.3 = Add(t.1 t.3) + t.0 = [t.3] + t.5 = t.0 + t.6 = t.5 ret t.6 -func A_get(this ) - t.1 = [this+8] - t.2 = MulS(5 4) - t.2 = Add(t.2 4) - t.2 = Add(t.1 t.2) - t.0 = [t.2] - t.3 = t.0 - ret t.3 - func AllocArray(size) bytes = MulS(size 4) bytes = Add(bytes 4) |