]> gitweb.factorcode.org Git - factor.git/blob - basis/compiler/cfg/save-contexts/save-contexts-docs.factor
1902330a245ac35284afbbe3b447271cc2ed53cc
[factor.git] / basis / compiler / cfg / save-contexts / save-contexts-docs.factor
1 USING: compiler.cfg compiler.cfg.instructions help.markup help.syntax
2 math sequences ;
3 IN: compiler.cfg.save-contexts
4
5 HELP: insert-save-contexts
6 { $values { "cfg" cfg } }
7 { $description "Inserts " { $link ##save-context } " instructions in each " { $link basic-block } " in the cfg that needs them. Save contexts are needed after instructions that modify the context, or instructions that read parameter registers." }
8 { $see-also context-save-needed } ;
9
10 HELP: insns-needs-save-context?
11 { $values { "insns" sequence } { "?" "a boolean" } }
12 { $description "Whether to insert a " { $link ##save-context } " instruction in the given instruction sequence or not." }
13 { $see-also context-save-needed } ;
14
15 HELP: context-save-needed
16 { $class-description "Union class of all instructions that needs to be preceeded by a " { $link ##save-context } " instruction. Only instructions that can allocate memory mandates save contexts." } ;
17
18 HELP: save-context-offset
19 { $values { "insns" sequence } { "n" integer } }
20 { $description { $link ##save-context } " must be placed after instructions that modify the context, or instructions that read parameter registers." } ;
21
22 ARTICLE: "compiler.cfg.save-contexts" "Insert context saves"
23 "Inserts " { $link ##save-context } " in blocks that need them." ;
24
25 ABOUT: "compiler.cfg.save-contexts"