IRstate

Undocumented in source.

Members

Functions

addFixup
void addFixup(uint index)

Add this IP to list of jump instructions to patch.

alloc
uint alloc(uint 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.

gen
void gen(Loc loc, uint opcode, uint argc, ...)
Undocumented in source. Be warned that the author may not have intended to support it.
gen0
void gen0(Loc loc, uint opcode)

Generate code.

gen1
void gen1(Loc loc, uint opcode, uint arg)
Undocumented in source. Be warned that the author may not have intended to support it.
gen2
void gen2(Loc loc, uint opcode, uint arg1, uint arg2)
Undocumented in source. Be warned that the author may not have intended to support it.
gen3
void gen3(Loc loc, uint opcode, uint arg1, uint arg2, uint arg3)
Undocumented in source. Be warned that the author may not have intended to support it.
gen4
void gen4(Loc loc, uint opcode, uint arg1, uint arg2, uint arg3, uint arg4)
Undocumented in source. Be warned that the author may not have intended to support it.
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
uint 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