IRstate

Undocumented in source.

Members

Aliases

Op
alias Op = uintptr_t
Undocumented in source.

Functions

addFixup
void addFixup(uint index)

Add this IP to list of jump instructions to patch.

alloc
uint alloc(size_t nlocals)

Allocate a block of local variables, and return an index to them.

ctor
void ctor()
Undocumented in source. Be warned that the author may not have intended to support it.
doFixups
void doFixups()

Go through the list of fixups and patch them.

gen0
void gen0(Loc loc, uint opcode)
Undocumented in source. Be warned that the author may not have intended to support it.
gen1
void gen1(Loc loc, uint opcode, Op arg)
Undocumented in source. Be warned that the author may not have intended to support it.
gen2
void gen2(Loc loc, uint opcode, Op arg1, Op arg2)
Undocumented in source. Be warned that the author may not have intended to support it.
gen3
void gen3(Loc loc, uint opcode, Op arg1, Op arg2, Op arg3)
Undocumented in source. Be warned that the author may not have intended to support it.
gen4
void gen4(Loc loc, uint opcode, Op arg1, Op arg2, Op arg3, Op arg4)
Undocumented in source. Be warned that the author may not have intended to support it.
genX
void genX(Loc loc, uint opcode, Args args)

Generate code.

getIP
uint getIP()

Get the current "instruction pointer"

mark
uint mark()
Undocumented in source. Be warned that the author may not have intended to support it.
optimize
void optimize()
Undocumented in source. Be warned that the author may not have intended to support it.
patchJmp
void patchJmp(uint index, uint value)

Patch a value into the existing codebuf.

pops
void pops(uint npops)
Undocumented in source. Be warned that the author may not have intended to support it.
release
void release(uint local, uint n)

Release this block of n locals starting at local.

release
void release(uint i)
Undocumented in source. Be warned that the author may not have intended to support it.
validate
void validate()
Undocumented in source. Be warned that the author may not have intended to support it.

Static functions

combine
Op combine(uint loc, uint opcode)
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

breakTarget
Statement breakTarget;
Undocumented in source.
codebuf
OutBuffer codebuf;
Undocumented in source.
continueTarget
Statement continueTarget;
Undocumented in source.
fixups
uint[] fixups;
Undocumented in source.
locali
uint locali;
Undocumented in source.
nlocals
uint nlocals;
Undocumented in source.
scopeContext
ScopeStatement scopeContext;
Undocumented in source.

Meta