class compiler::CodeAsm

sys::Obj
  compiler::CompilerSupport
    compiler::CodeAsm

Source

CodeAsm is used to assemble the fcode instructions of an Expr or Block.

block

Void block(Block block)

Source

code

Buf code

Source

curMethod

MethodDef? curMethod

Source

errCount

Int errCount

Source

errTable

Buf errTable

Source

expr

Void expr(Expr expr)

Source

finishCode

Buf finishCode()

Source

Finish writing out the exception handling table

finishErrTable

Buf finishErrTable()

Source

Finish writing out the exception handling table

finishLines

Buf finishLines()

Source

Finish writing out the line number table

fpod

FPod fpod

Source

lastLine

Int lastLine := -1

Source

lastOffset

Int lastOffset := -1

Source

leavesToReturn

Int[]? leavesToReturn

Source

lineCount

Int lineCount

Source

lines

Buf lines

Source

loc

Loc loc

Source

loopStack

Loop[] loopStack

Source

make

new make(Compiler compiler, Loc loc, FPod fpod, MethodDef? curMethod)

Source

op

Void op(FOp op, Int? arg := null)

Source

Append a opcode with option two byte argument.

opType

Void opType(FOp opcode, CType arg)

Source

Append a opcode with a type argument.

protectedRegions

ProtectedRegion[]? protectedRegions

Source

returnLocal

MethodVar? returnLocal

Source

stmt

Void stmt(Stmt stmt)

Source