29 lines
1.1 KiB
Factor
29 lines
1.1 KiB
Factor
USING: compiler.tree disjoint-sets help.markup help.syntax ;
|
|
IN: compiler.tree.escape-analysis.allocations
|
|
|
|
HELP: allocations
|
|
{ $var-description "A map from values to one of the following:"
|
|
{ $list
|
|
"f -- initial status, assigned to values we have not seen yet; may potentially become an allocation later"
|
|
"a sequence of values -- potentially unboxed tuple allocations"
|
|
"t -- not allocated in this procedure, can never be unboxed"
|
|
}
|
|
} ;
|
|
|
|
HELP: compute-escaping-allocations
|
|
{ $description "Compute which tuples escape" } ;
|
|
|
|
HELP: escaping-values
|
|
{ $var-description "We track escaping values with a " { $link disjoint-set } "." } ;
|
|
|
|
HELP: slot-access
|
|
{ $var-description "We track slot access to connect constructor inputs with accessor outputs." } ;
|
|
|
|
HELP: value-classes
|
|
{ $var-description "A map from values to classes. Only for " { $link #introduce } " outputs." } ;
|
|
|
|
ARTICLE: "compiler.tree.escape-analysis.allocations" "Tracking memory allocations"
|
|
"Tracks memory allocations and unboxes those which can be determined never escapes." ;
|
|
|
|
ABOUT: "compiler.tree.escape-analysis.allocations"
|