xo-jit: doc: + glossary entries
This commit is contained in:
parent
56b924a286
commit
19d8a5e846
1 changed files with 43 additions and 0 deletions
|
|
@ -4,6 +4,49 @@ Glossary
|
|||
--------
|
||||
|
||||
.. glossary::
|
||||
c.foo
|
||||
| llvm typename for automatically-generated closure type for a lambda
|
||||
| with name `foo`.
|
||||
|
||||
e.foo
|
||||
| llvm typename for automatically-generated local environment for a
|
||||
| lambda with name `foo`.
|
||||
|
||||
w.foo
|
||||
| llvm typename for automatically-generated wrapper function for a
|
||||
| primitive function `foo`. The wrapper function accepts and ignores
|
||||
| an extra initial argument supplying an environment pointer.
|
||||
|
|
||||
| We apply this practice so that lambdas and primitives support the
|
||||
| same ABI, so that we can support pointers to abstract functions
|
||||
| that might at runtime turn out to be either primitives or lambdas
|
||||
|
||||
lambda
|
||||
| Common use is for lambda to refer to an anonymous function.
|
||||
| In llvm we need all functions to be named, and those names
|
||||
| have to be unique.
|
||||
|
|
||||
| Since all functions have to be named, we cheerfully adopt
|
||||
| the oxymoron 'named lambda'
|
||||
|
|
||||
| Practices:
|
||||
| 1. Automatically generate unique names for anonymous lambdas.
|
||||
| 2. Incorporate user-provided names for convenience, when provided.
|
||||
| 3. Still have to uniqueify names for user-provided nested lambdas.
|
||||
|
||||
localenv
|
||||
| Shorthand for local environment.
|
||||
| Represents an explicit runtime repsentation for a struct that
|
||||
| holds captured function arguments with the ability to be persisted
|
||||
| (for example, moved to the the heap).
|
||||
|
|
||||
| Note that library `xo-expression` also uses the term environment, but differently.
|
||||
| In that context describes all function arguments.
|
||||
|
||||
lvtype
|
||||
| Shorthand for `llvm::Type`:
|
||||
| llvm-owned representation for a datatype
|
||||
|
||||
xsession
|
||||
| Shorthand for `llvm::orc::ExecutionSession`.
|
||||
| Manages running JIT-generated machine code in the host process
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue