|
| -disasm.i output file | VM disassembler |
| -gen.i output file | VM code generation |
| -h, command-line option | Invoking Vmgen |
| –help, command-line option | Invoking Vmgen |
| -labels.i output file | VM instruction table |
| -peephole.i output file | Peephole optimization |
| -profile.i output file | VM profiler |
| -v, command-line option | Invoking Vmgen |
| –version, command-line option | Invoking Vmgen |
| -vm.i output file | VM engine |
|
\C | Input File Grammar |
\E | Eval escapes |
|
# can only be on the input side error | Error messages |
#line | Input File Grammar |
|
| accessing stack (pointer) | C Code restrictions |
| advantages of interpreters | Why interpreters? |
| advantages of vmgen | Why interpreters? |
| assumptions about C code | C Code restrictions |
|
| basic block, VM level | C Code Macros |
| basic type of a stack | Simple instructions |
BB_BOUNDARY in profiling | VM profiler |
| branch instruction, VM | Front end and VM interpreter |
|
| C code restrictions | C Code restrictions |
| C escape | Input File Grammar |
| casts example | Example overview |
| casts in type cast macros | VM engine |
| Changes from old versions | Changes |
| code generation, VM | VM code generation |
| conditional compilation of Vmgen output | Input File Grammar |
|
| default stack of a type prefix | Simple instructions |
| defining a stack | Simple instructions |
| defining superinstructions | Superinstructions |
| disasm.c | VM disassembler |
| disassembler, VM code | VM disassembler |
| Dispatch of VM instructions | Dispatch |
|
| effect, stack | Simple instructions |
| efficiency features overview | Introduction |
| eliminating stack stores | Store Optimization |
| engine | VM engine |
| engine.c | VM engine |
| error messages | Error messages |
| escape to Forth | Eval escapes |
| eval escape | Eval escapes |
| example files | Example overview |
| example of a Vmgen-based interpreter | Example |
| example overview | Example overview |
| executing VM code | VM engine |
| explicit stack access | Explicit stack access |
|
| FDL, GNU Free Documentation License | GNU Free Documentation License |
| format, input file | Input File Format |
| free-format, not | Input File Grammar |
| front-end | Front end and VM interpreter |
| functionality features overview | Introduction |
| future ideas | The future |
|
| garbage collection | Data handling |
| generated code, usage | Using the generated code |
| grammar, input file | Input File Grammar |
|
| hints | Hints |
|
| IMM_ARG | VM engine |
| immediate argument, VM instruction | Front end and VM interpreter |
| immediate arguments | Data handling |
| immediate arguments, VM code generation | VM code generation |
| include-skipped-insts | Superinstructions |
| input file format | Input File Format |
| input file grammar | Input File Grammar |
| instruction pointer definition | VM engine |
| instruction pointer, access | C Code restrictions |
| instruction stream | Data handling |
| instruction stream | Simple instructions |
| instruction stream, basic type | VM engine |
| instruction table | VM instruction table |
| instruction, simple VM | Simple instructions |
| instruction, VM | Front end and VM interpreter |
| interpreters, advantages | Why interpreters? |
| Invoking Vmgen | Invoking Vmgen |
IP, IPTOS in disassmbler | VM disassembler |
|
| labels for threaded code | VM instruction table |
|
| macros recognized by Vmgen | C Code Macros |
| main interpreter loop | Dispatch |
| modularization of interpreters | Front end and VM interpreter |
|
| newlines, significance in syntax | Input File Grammar |
|
| opcode definition | VM instruction table |
| opcode, VM instruction | Front end and VM interpreter |
| optimization, stack stores | Store Optimization |
|
| peephole optimization | Peephole optimization |
| peephole.c | Peephole optimization |
prefix for this combination must be defined earlier error | Error messages |
| prefix, stack | Simple instructions |
| prefix, type | Simple instructions |
| prefixes of superinstructions | Superinstructions |
| profile.c | VM profiler |
| profiling example | Using profiling to create superinstructions |
| profiling for selecting superinstructions | VM profiler |
|
| reference counting | Data handling |
| register machine | Data handling |
| Register VM | Register Machines |
| register, VM | Front end and VM interpreter |
| restrictions on C code | C Code restrictions |
|
| seq2rule.awk | VM profiler |
| simple VM instruction | Simple instructions |
| size, stack items | Data handling |
| speed for JVM | Introduction |
| speed of interpreters | Why interpreters? |
| stack access, explicit | Explicit stack access |
| stack basic type | Simple instructions |
| stack caching | VM engine |
| stack caching, restriction on C code | C Code restrictions |
| stack definition | Simple instructions |
| stack effect | Simple instructions |
| stack growth direction | Stack growth direction |
| stack item size | Data handling |
| stack machine | Data handling |
| Stack pointer access | Explicit stack access |
| stack pointer definition | VM engine |
| stack pointer, access | C Code restrictions |
| stack prefix | Simple instructions |
| stack stores, optimization | Store Optimization |
stack-access-transform | Stack growth direction |
| stat.awk | VM profiler |
| store optimization | Store Optimization |
SUPER_END in profiling | VM profiler |
| superinstructions and profiling | VM profiler |
| superinstructions and tracing | VM engine |
| superinstructions example | Using profiling to create superinstructions |
| Superinstructions for register VMs | Register Machines |
| superinstructions, defining | Superinstructions |
| superinstructions, generating | Peephole optimization |
| superinstructions, restrictions on components | C Code restrictions |
| switch dispatch | Dispatch |
sync line syntax error | Error messages |
| sync lines | Input File Grammar |
syntax error, wrong char error | Error messages |
|
TAIL;, changes | Changes |
| threaded code | Dispatch |
too many stacks error | Error messages |
| top of stack caching | VM engine |
| TOS | VM engine |
| tracing of register VMs | Register Machines |
| tracing VM code | VM engine |
| type cast macro | VM engine |
| type casting between floats and integers | VM engine |
| type of a stack, basic | Simple instructions |
| type prefix | Simple instructions |
|
| unions example | Example overview |
| unions in type cast macros | VM engine |
unknown prefix error | Error messages |
unknown primitive error | Error messages |
| Using vmgen-erated code | Using the generated code |
|
| virtual machine | Front end and VM interpreter |
| VM | Front end and VM interpreter |
| VM branch instruction | Front end and VM interpreter |
| VM code generation | VM code generation |
| VM disassembler | VM disassembler |
| VM instruction | Front end and VM interpreter |
| VM instruction execution | VM engine |
| VM profiler | VM profiler |
| VM register | Front end and VM interpreter |
vm_A2B, changes | Changes |
VM_IS_INST in profiling | VM profiler |
vm_prim, definition | VM instruction table |
vm_prim, use | VM code generation |
vm_twoA2B, changes | Changes |
| vmgen-ex | Example overview |
| vmgen-ex2 | Example overview |
|
| wrapper files | Example overview |
|