vox ~master (2022-05-02T18:23:10Z)
Dub
Repo
JitVM
tinyc
Undocumented in source.
struct
JitVM {
import
amd64asm
;
;
import
utils
;
;
ubyte
[]
mem
;
ubyte
[]
code
;
int
[
26
]
globals
;
void
reset
();
void
free
();
void
run
();
enum
VARS_REG
;
enum
TEMP_REG_1
;
enum
TEMP_REG_2
;
CodeGen_x86_64
gen
;
void
compile
(Node* n);
void
compileNode
(Node* n);
}
Members
Functions
compile
void
compile
(Node* n)
Undocumented in source. Be warned that the author may not have intended to support it.
compileNode
void
compileNode
(Node* n)
Undocumented in source. Be warned that the author may not have intended to support it.
free
void
free
()
Undocumented in source. Be warned that the author may not have intended to support it.
reset
void
reset
()
Undocumented in source. Be warned that the author may not have intended to support it.
run
void
run
()
Undocumented in source. Be warned that the author may not have intended to support it.
Manifest constants
TEMP_REG_1
enum
TEMP_REG_1
;
RCX temp
TEMP_REG_2
enum
TEMP_REG_2
;
Undocumented in source.
VARS_REG
enum
VARS_REG
;
RAX stores ptr to variables int[26]
Variables
code
ubyte
[]
code
;
Undocumented in source.
gen
CodeGen_x86_64
gen
;
Undocumented in source.
globals
int
[
26
]
globals
;
Undocumented in source.
mem
ubyte
[]
mem
;
Undocumented in source.
Meta
Source
See Implementation
tinyc
aliases
code
enums
DO_SYM
IFETCH
VAR
functions
opCodeToStr
printAST
print_stack
syntax_error
structs
CodeGenerator
JitVM
Lexer
Node
Parser
Putter
VM
variables
buf
buf_index
opCodes
words