1 USING: compiler.cfg.instructions compiler.cfg.stacks.finalize
2 help.markup help.syntax ;
3 IN: compiler.cfg.stacks.global
6 { $class-description "A stack location is available at a location if all paths from the entry block to the location load the location into a register." } ;
9 { $class-description "A stack location is anticipated at a location if every path from the location to an exit block will read the stack location before writing it." } ;
12 { $class-description "A stack location is dead at a location if no paths from the location to the exit block read the location before writing it." } ;
15 { $class-description "A stack location is live at a location if some path from the location to an exit block will read the stack location before writing it." } ;
18 { $class-description "A stack location is pending at a location if all paths from the entry block to the location write the location." } ;
20 ARTICLE: "compiler.cfg.stacks.global" "Global stack analysis"
21 "This vocab defines a bunch of dataflow analyses:"
22 { $subsections avail anticip dead live pending }
23 "The info they gather is used by " { $link finalize-stack-shuffling } " for optimal insertion of " { $link ##peek } " and " { $link ##replace } " instructions." ;
25 ABOUT: "compiler.cfg.stacks.global"