BytecodeGenerator
Inherits from: Object
Instance variables:
bytecode, literals, selectors, temps, ivars, captures, currentClass, blockMethods, jumpPatches, outerTemps, inBlock, cellVars, cellInitialized, capturedVars, blockNestingDepth, enclosingBlockVars, blockArity, blockNumTemps
Class Methods
uncategorized
class forClass:
class new
class opBLOCK_RETURN
class opCAPTURE_IVAR
class opCAPTURE_TEMP
class opCELL_GET
class opCELL_SET
class opCREATE_ARRAY
class opCREATE_BLOCK
class opCREATE_OBJECT
class opDUP
class opJUMP
class opJUMP_FALSE
class opJUMP_NIL
class opJUMP_NOT_NIL
class opJUMP_TRUE
class opMAKE_CELL
class opNOP
class opPOP
class opPUSH_CAPTURED
class opPUSH_FALSE
class opPUSH_FLOAT
class opPUSH_GLOBAL
class opPUSH_HOME_TEMP
class opPUSH_INT32
class opPUSH_INT8
class opPUSH_IVAR
class opPUSH_LITERAL
class opPUSH_NIL
class opPUSH_SELF
class opPUSH_TEMP
class opPUSH_TRUE
class opRETURN_NIL
class opRETURN_SELF
class opRETURN_TOP
class opSEND
class opSEND_AT
class opSEND_AT_PUT
class opSEND_CLASS
class opSEND_DIV
class opSEND_EQ
class opSEND_GE
class opSEND_GT
class opSEND_LE
class opSEND_LT
class opSEND_MINUS
class opSEND_MOD
class opSEND_NE
class opSEND_NEW
class opSEND_PLUS
class opSEND_SIZE
class opSEND_SUPER
class opSEND_TIMES
class opSEND_VALUE
class opSEND_VALUE1
class opSEND_VALUE2
class opSTORE_CAPTURED
class opSTORE_GLOBAL
class opSTORE_HOME_TEMP
class opSTORE_IVAR
class opSTORE_TEMP
Instance Methods
uncategorized
addBlockMethod:
addLiteral:
addSelector:
addTemp:
blockArity
blockMethods
blockNumTemps
bytecode
captureIndex:
capturedVars
captures
cellVars
compile:
compileMethod:
currentOffset
emit:
emit:byte:
emit:short:
emitBlockReturn
emitCaptureIvar:
emitCaptureTemp:
emitCellGet
emitCellSet
emitCreateBlock:captures:
emitDup
emitJump:
emitJumpFalse:
emitJumpFalseForward
emitJumpForward
emitJumpNil:
emitJumpTrue:
emitJumpTrueForward
emitMakeCell
emitPop
emitPushCaptured:
emitPushFalse
emitPushFloat:
emitPushGlobal:
emitPushHomeTemp:
emitPushInteger:
emitPushIvar:
emitPushLiteral:
emitPushNil
emitPushSelf
emitPushTemp:
emitPushTrue
emitReturnNil
emitReturnSelf
emitReturnTop
emitSend:argc:
emitSendSuper:argc:
emitShort:
emitStoreCaptured:
emitStoreGlobal:
emitStoreHomeTemp:
emitStoreIvar:
emitStoreTemp:
findCapturedVariablesIn:withEnclosing:
findCellVariables:
initialize
initializeForClass:
isCellInitialized:
isCellVar:
isInBlock
isLocalIn:params:temps:
ivarIndex:
literals
markCellInitialized:
optimizedSendFor:argc:
outerTempIndex:
patchJumpAt:
printString
selectors
setBlockArity:
setBlockNestingDepth:
setBlockNumTemps:
setCapturedVars:
setCellVars:
setEnclosingBlockVars:
setOuterTemps:
tempIndex:
temps
visitAssignmentNode:
visitBlockNode:
visitCascadeNode:
visitLiteralNode:
visitMessageSendNode:
visitReturnNode:
visitVariableNode:
walkBlockForCaptures:enclosing:seen:blockParams:blockTemps:
walkExprForBlockCaptures:enclosing:seen:blockParams:blockTemps:
walkExprForCaptures:depth:varDepths:capturedNames:assignedNestedNames:
walkStmtForBlockCaptures:enclosing:seen:blockParams:blockTemps:
walkStmtForCaptures:depth:varDepths:capturedNames:assignedNestedNames: