]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/compiler/cfg/cfg-docs.factor
help.markup: adding a $slots word to document slots, use it.
[factor.git] / basis / compiler / cfg / cfg-docs.factor
index eeb29162774e4b16d51ca3beb29141d24d27cea3..a9d8c9444f7a365e8076d5f0b1c586690e149946 100644 (file)
@@ -7,41 +7,41 @@ IN: compiler.cfg
 HELP: basic-block
 { $class-description
   "Factors representation of a basic block in the Call Flow Graph (CFG). A basic block is a sequence of instructions that always are executed sequentially and doesn't contain any internal branching. It has the following slots:"
-  { $table
+  { $slots
     {
-        { $slot "number" }
+        "number"
         { "The blocks sequence number. Generated by calling " { $link number-blocks } "." }
     }
     {
-        { $slot "successors" }
+        "successors"
         { "A " { $link vector } " of basic blocks that may be executed directly after this block. Most blocks only have one successor but a block that checks where an if-condition should branch to would have two for example." }
     }
     {
-        { $slot "predecessors" }
+        "predecessors"
         { "The opposite of successors -- a " { $link vector } " of basic blocks from which the execution may have arrived into this block." }
     }
     {
-        { $slot "instructions" }
+        "instructions"
         { "A " { $link vector } " of " { $link insn } " tuples which form the instructions of the basic block." }
     }
     {
-        { $slot "kill-block?" }
+        "kill-block?"
         { "The first and the last block in a cfg and all blocks containing " { $link ##call } " instructions are kill blocks. Kill blocks can't be optimized so they are omitted from certain optimization steps." }
     }
     {
-        { $slot "height" }
+        "height"
         "Block's height as a " { $link height-state } ". What the heights of the block was at entry and how much they were increased in the block."
     }
     {
-        { $slot "replaces" }
+        "replaces"
         { "Used by " { $vocab-link "compiler.cfg.stacks.local" } " for local stack analysis." }
     }
     {
-        { $slot "peeks" }
+        "peeks"
         { "Used by " { $vocab-link "compiler.cfg.stacks.local" } " for local stack analysis." }
     }
     {
-        { $slot "kills" }
+        "kills"
         { "Used by " { $vocab-link "compiler.cfg.stacks.local" } " for local stack analysis." }
     }
   }
@@ -60,12 +60,12 @@ HELP: <cfg>
 HELP: cfg
 { $class-description
   "Call flow graph. It has the following slots:"
-  { $table
-    { { $slot "entry" } { "Root " { $link basic-block } " of the graph." } }
-    { { $slot "word" } { "The " { $link word } " the cfg is produced from." } }
-    { { $slot "post-order" } { "The blocks of the cfg in a post order traversal " { $link sequence } "." } }
-    { { $slot "stack-frame" } { { $link stack-frame } " of the cfg." } }
-    { { $slot "frame-pointer?" } { "Whether the cfg needs a frame pointer. Only cfgs generated for " { $link #alien-callback } " nodes does need it. If the slot is " { $link t } ", then the frame pointer register (" { $link RBP } " on x86.64 archs) will not be clobbered by register allocation. See " { $vocab-link "compiler.cfg.linear-scan" } " for details." } }
+  { $slots
+    { "entry" { "Root " { $link basic-block } " of the graph." } }
+    { "word" { "The " { $link word } " the cfg is produced from." } }
+    { "post-order" { "The blocks of the cfg in a post order traversal " { $link sequence } "." } }
+    { "stack-frame" { { $link stack-frame } " of the cfg." } }
+    { "frame-pointer?" { "Whether the cfg needs a frame pointer. Only cfgs generated for " { $link #alien-callback } " nodes does need it. If the slot is " { $link t } ", then the frame pointer register (" { $link RBP } " on x86.64 archs) will not be clobbered by register allocation. See " { $vocab-link "compiler.cfg.linear-scan" } " for details." } }
   }
 }
 { $see-also <cfg> post-order } ;