From f06f59b9569250dc5e18badd7e12ec39fcb6152b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Lindqvist?= <bjourne@gmail.com>
Date: Sat, 15 Nov 2014 07:56:36 +0100
Subject: [PATCH] Docs: smallish improvements to compiler vocabs

---
 .../compiler/cfg/def-use/def-use-docs.factor  |  4 ++++
 .../cfg/liveness/liveness-docs.factor         |  6 +++++
 .../cpu/architecture/architecture-docs.factor | 22 +++++++++++++++++--
 3 files changed, 30 insertions(+), 2 deletions(-)
 create mode 100644 basis/compiler/cfg/liveness/liveness-docs.factor

diff --git a/basis/compiler/cfg/def-use/def-use-docs.factor b/basis/compiler/cfg/def-use/def-use-docs.factor
index cfcfe601b7..39e9eb6a7f 100644
--- a/basis/compiler/cfg/def-use/def-use-docs.factor
+++ b/basis/compiler/cfg/def-use/def-use-docs.factor
@@ -22,3 +22,7 @@ HELP: uses-vregs
     "{ 37 }"
   }
 } ;
+
+HELP: temp-vregs
+{ $values { "insn" insn } { "seq" sequence } }
+{ $description "Returns the sequence of temporary vregs used by this instruction." } ;
diff --git a/basis/compiler/cfg/liveness/liveness-docs.factor b/basis/compiler/cfg/liveness/liveness-docs.factor
new file mode 100644
index 0000000000..83a9cf4d15
--- /dev/null
+++ b/basis/compiler/cfg/liveness/liveness-docs.factor
@@ -0,0 +1,6 @@
+USING: compiler.cfg.instructions help.markup help.syntax ;
+IN: compiler.cfg.liveness
+
+HELP: fill-gc-map
+{ $values { "live-set" "no idea" } { "insn" insn } }
+{ $description "Assigns values to the " { $slot "gc-roots" } " and " { $slot "derived-roots" } " slots of an instructions " { $link gc-map } "." } ;
diff --git a/basis/cpu/architecture/architecture-docs.factor b/basis/cpu/architecture/architecture-docs.factor
index 34df497020..b49d6c0321 100644
--- a/basis/cpu/architecture/architecture-docs.factor
+++ b/basis/cpu/architecture/architecture-docs.factor
@@ -1,4 +1,4 @@
-USING: assocs alien compiler.cfg.instructions cpu.x86.assembler
+USING: assocs alien classes compiler.cfg.instructions cpu.x86.assembler
 cpu.x86.assembler.operands help.markup help.syntax kernel
 layouts literals math multiline system words ;
 IN: cpu.architecture
@@ -58,6 +58,10 @@ HELP: signed-rep
 { $values { "rep" representation } { "rep'" representation } }
 { $description "Maps any representation to its signed counterpart, if it has one." } ;
 
+HELP: rep-size
+{ $values { "rep" representation } { "n" integer } }
+{ $description "Size in bytes of a representation." } ;
+
 HELP: immediate-arithmetic?
 { $values { "n" number } { "?" boolean } }
 { $description
@@ -135,6 +139,10 @@ HELP: return-regs
 { $values { "regs" assoc } }
 { $description "What registers that will be used for function return values of which class." } ;
 
+HELP: return-struct-in-registers?
+{ $values { "c-type" class } { "?" "a boolean" } }
+{ $description "Whether the size of the struct is so small that it will be returned in registers or not." } ;
+
 HELP: stack-cleanup
 { $values
   { "stack-size" integer }
@@ -165,4 +173,14 @@ $nl
   test-instruction?
 }
 "Control flow code emitters:"
-{ $subsections %call %jump %jump-label %return } ;
+{ $subsections %call %jump %jump-label %return }
+"Representation metadata:"
+{ $subsections
+  narrow-vector-rep
+  rep-component-type
+  rep-length
+  rep-size
+  scalar-rep-of
+  signed-rep
+  widen-vector-rep
+} ;