[
V{
- T{ ##gc-map f V{ 0 } V{ 3 } { 0 1 2 } }
- T{ ##call-gc }
+ T{ ##call-gc f T{ gc-map } }
T{ ##branch }
}
]
[
- V{ D 0 R 3 } { 0 1 2 } <gc-call> instructions>>
+ <gc-call> instructions>>
] unit-test
30 \ vreg-counter set-global
[ ] [ cfg get needs-predecessors drop ] unit-test
-[ ] [ { D 1 R 2 } { 10 20 } V{ } 31337 3 get (insert-gc-check) ] unit-test
+[ ] [ V{ } 31337 3 get (insert-gc-check) ] unit-test
[ t ] [ 1 get successors>> first gc-check? ] unit-test
[
V{
- T{ ##gc-map f V{ 0 1 2 } V{ } { 2 } }
- T{ ##call-gc }
+ T{ ##call-gc f T{ gc-map } }
T{ ##branch }
}
] [ 2 get predecessors>> second instructions>> ] unit-test
[ ] [ test-uninitialized ] unit-test
-[ V{ D 0 D 1 D 2 } ] [ 1 get uninitialized-locs ] unit-test
-[ V{ R 0 } ] [ 2 get uninitialized-locs ] unit-test
+[ { B{ 0 0 0 } B{ } } ] [ 1 get uninitialized-in ] unit-test
+[ { B{ 1 1 1 } B{ 0 } } ] [ 2 get uninitialized-in ] unit-test
! When merging, if a location is uninitialized in one branch and
! initialized in another, we have to consider it uninitialized,
[ ] [ test-uninitialized ] unit-test
-[ V{ D 0 } ] [ 3 get uninitialized-locs ] unit-test
+[ { B{ 0 } B{ } } ] [ 3 get uninitialized-in ] unit-test