public class WideForm extends VariableInstructionForm
byteCodeArray, byteCodesByName, WIDENED
Constructor and Description |
---|
WideForm(int opcode,
java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
void |
setByteCodeOperands(ByteCode byteCode,
OperandManager operandManager,
int codeLength)
When passed a byteCode, an OperandTable and a SegmentConstantPool, this method will set the rewrite of the
byteCode appropriately.
|
protected void |
setByteCodeOperandsFormat1(int instruction,
ByteCode byteCode,
OperandManager operandManager,
int codeLength)
This method sets the rewrite array for the bytecode using Format 1 of the JVM spec: an opcode and two index
bytes.
|
protected void |
setByteCodeOperandsFormat2(int instruction,
ByteCode byteCode,
OperandManager operandManager,
int codeLength)
This method sets the rewrite array for the bytecode using Format 2 of the JVM spec: an opcode, two index bytes,
and two constant bytes.
|
setRewrite2Bytes, setRewrite4Bytes, setRewrite4Bytes
calculateOperandPosition, firstOperandIndex, fixUpByteCodeTargets, get, getName, getOpcode, getRewrite, getRewriteCopy, hasMultipleByteCodes, hasNoOperand, nestedMustStartClassPool, operandLength, toString
public WideForm(int opcode, java.lang.String name)
public void setByteCodeOperands(ByteCode byteCode, OperandManager operandManager, int codeLength)
ByteCodeForm
setByteCodeOperands
in class ByteCodeForm
byteCode
- ByteCode to be updated (!)operandManager
- OperandTable from which to draw infocodeLength
- Length of bytes (excluding this bytecode) from the beginning of the method. Used in calculating
padding for some variable-length bytecodes (such as lookupswitch, tableswitch).protected void setByteCodeOperandsFormat1(int instruction, ByteCode byteCode, OperandManager operandManager, int codeLength)
instruction
- should be 132byteCode
- the byte code whose rewrite array should be updatedoperandManager
- the source of the operandscodeLength
- ignoredprotected void setByteCodeOperandsFormat2(int instruction, ByteCode byteCode, OperandManager operandManager, int codeLength)
instruction
- int should be 132byteCode
- ByteCode whose rewrite array should be updatedoperandManager
- OperandManager source of the operandscodeLength
- ignored