1 USING: accessors arrays compiler.cfg compiler.cfg.instructions
2 compiler.cfg.linear-scan.debugger
3 compiler.cfg.linear-scan.live-intervals
4 compiler.cfg.linear-scan.numbering
5 compiler.cfg.linear-scan.resolve compiler.cfg.predecessors
6 compiler.cfg.registers compiler.cfg.rpo
7 compiler.cfg.debugger cpu.architecture kernel
8 namespaces tools.test vectors ;
9 IN: compiler.cfg.linear-scan.resolve.tests
12 { 3 4 } V{ 1 2 } clone [ { 5 6 } 3append-here ] keep >array
16 T{ ##peek f V int-regs 0 D 0 }
21 T{ ##replace f V int-regs 0 D 1 }
25 1 get 1vector 0 get (>>successors)
29 dup reverse-post-order number-instructions
32 CONSTANT: test-live-interval-1
37 { ranges V{ T{ live-range f 0 2 } T{ live-range f 4 6 } } }
43 0 get test-live-interval-1 spill-to
47 1 get test-live-interval-1 spill-to
50 CONSTANT: test-live-interval-2
55 { ranges V{ T{ live-range f 0 2 } T{ live-range f 4 6 } } }
61 0 get test-live-interval-2 reload-from
65 1 get test-live-interval-2 reload-from