public class NEW extends JVMInstruction implements AllocInstruction
Modifier and Type | Field and Description |
---|---|
protected String |
cname |
protected int |
newObjRef |
attr, insnIndex, mi, position
Modifier and Type | Method and Description |
---|---|
void |
accept(InstructionVisitor insVisitor) |
Instruction |
execute(ThreadInfo ti)
this is the real workhorse
returns next instruction to enter in this thread
<2do> it's unfortunate we roll every side effect into this method, because
it diminishes the value of the 'executeInstruction' notification: all
insns that require some sort of late binding (InvokeVirtual, GetField, ..)
are not yet fully analyzable (e.g.
|
int |
getByteCode() |
String |
getClassName() |
int |
getLength()
return the length in bytes of this instruction.
|
int |
getNewObjectRef() |
String |
toString() |
addAttr, attrIterator, attrIterator, cleanupTransients, getAttr, getAttr, getFileLocation, getFilePos, getInstructionIndex, getLineNumber, getMethodInfo, getMnemonic, getNext, getNext, getNextAttr, getPosition, getPrev, getSourceLine, getSourceLocation, getSourceOrLocation, hasAttr, hasAttr, init, isBackJump, isCompleted, isExtendedInstruction, isFirstInstruction, isSchedulingRelevant, removeAttr, replaceAttr, requiresClinitExecution, setAttr, setContext, setLocation, setMethodInfo, typeSafeClone
protected String cname
protected int newObjRef
public NEW(String clsDescriptor)
public String getClassName()
public Instruction execute(ThreadInfo ti)
Instruction
execute
in class Instruction
public int getLength()
Instruction
getLength
in class Instruction
public int getByteCode()
getByteCode
in class Instruction
public void accept(InstructionVisitor insVisitor)
accept
in interface InstructionVisitorAcceptor
public int getNewObjectRef()
public String toString()
toString
in class Instruction