vault backup: 2024-07-03 11:08:24
This commit is contained in:
parent
6c8695d2c7
commit
2df6808564
@ -31,8 +31,12 @@ Clang + LLVM compiler infrastructure to hide all platform-specific low-level det
|
|||||||
|
|
||||||
MetaVar can generate binary stencils of different optimization levels for every bytecode or AST node, which the generator can select from at generation time. As am example, if the instruction is for adding a constant to a literal, the generator can select from addition implementations for the most optimized variant. It can also make register allocation decisions by keeping track of register availability and picking between stack instructions and register instructions.
|
MetaVar can generate binary stencils of different optimization levels for every bytecode or AST node, which the generator can select from at generation time. As am example, if the instruction is for adding a constant to a literal, the generator can select from addition implementations for the most optimized variant. It can also make register allocation decisions by keeping track of register availability and picking between stack instructions and register instructions.
|
||||||
|
|
||||||
### Interface
|
### Stencil Library Construction
|
||||||
MetaVar constructs the stencil library
|
MetaVar constructs the stencil library from programmer defined *stencil generators*. One stencil generator is defined for every AST node using C++ template meta-variables to express variants, and special macros to express missing values to be patched at runtime.
|
||||||
|
|
||||||
|
At compile time, the compiler iterates over the values of the meta-variables and creates a library entry for every valid combination.
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
|
||||||
# Terminology
|
# Terminology
|
||||||
|
Loading…
Reference in New Issue
Block a user