public void emit(final OpCode opCode, final byte arg) { emit(opCode); emitByteOperand(arg); }
public void emit(final OpCode opCode, final byte arg) { emit(opCode); emitByteOperand(arg); }
public void emit(final OpCode opCode, final byte arg) { emit(opCode); emitByteOperand(arg); }
protected void emitLoadConstant(final int token) { if (token < MIN_BYTE || token > MAX_BYTE) { emit(OpCode.LDC_W); emitShortOperand(token); } else { emit(OpCode.LDC); emitByteOperand(token); } }
protected void emitLoadConstant(final int token) { if (token < MIN_BYTE || token > MAX_BYTE) { emit(OpCode.LDC_W); emitShortOperand(token); } else { emit(OpCode.LDC); emitByteOperand(token); } }
protected void emitLoadConstant(final int token) { if (token < MIN_BYTE || token > MAX_BYTE) { emit(OpCode.LDC_W); emitShortOperand(token); } else { emit(OpCode.LDC); emitByteOperand(token); } }
protected void emitLoad(final Type<?> type, final int absoluteIndex) { assert absoluteIndex >= 0 : "absoluteIndex >= 0"; final OpCode optimalOpCode; optimalOpCode = getLocalLoadOpCode(type, absoluteIndex); emit(optimalOpCode); final OperandType operandType = optimalOpCode.getOperandType(); if (operandType == OperandType.NoOperands) { return; } if (absoluteIndex > MAX_BYTE) { emitShortOperand(absoluteIndex); } else { emitByteOperand(absoluteIndex); } }
protected void emitStore(final Type<?> type, final int absoluteIndex) { assert absoluteIndex >= 0 : "absoluteIndex >= 0"; final OpCode optimalOpCode; optimalOpCode = getLocalStoreOpCode(type, absoluteIndex); emit(optimalOpCode); final OperandType operandType = optimalOpCode.getOperandType(); if (operandType == OperandType.NoOperands) { return; } if (absoluteIndex > MAX_BYTE) { emitShortOperand(absoluteIndex); } else { emitByteOperand(absoluteIndex); } }
protected void emitLoad(final Type<?> type, final int absoluteIndex) { assert absoluteIndex >= 0 : "absoluteIndex >= 0"; final OpCode optimalOpCode; optimalOpCode = getLocalLoadOpCode(type, absoluteIndex); emit(optimalOpCode); final OperandType operandType = optimalOpCode.getOperandType(); if (operandType == OperandType.NoOperands) { return; } if (absoluteIndex > MAX_BYTE) { emitShortOperand(absoluteIndex); } else { emitByteOperand(absoluteIndex); } }
protected void emitLoad(final Type<?> type, final int absoluteIndex) { assert absoluteIndex >= 0 : "absoluteIndex >= 0"; final OpCode optimalOpCode; optimalOpCode = getLocalLoadOpCode(type, absoluteIndex); emit(optimalOpCode); final OperandType operandType = optimalOpCode.getOperandType(); if (operandType == OperandType.NoOperands) { return; } if (absoluteIndex > MAX_BYTE) { emitShortOperand(absoluteIndex); } else { emitByteOperand(absoluteIndex); } }
protected void emitStore(final Type<?> type, final int absoluteIndex) { assert absoluteIndex >= 0 : "absoluteIndex >= 0"; final OpCode optimalOpCode; optimalOpCode = getLocalStoreOpCode(type, absoluteIndex); emit(optimalOpCode); final OperandType operandType = optimalOpCode.getOperandType(); if (operandType == OperandType.NoOperands) { return; } if (absoluteIndex > MAX_BYTE) { emitShortOperand(absoluteIndex); } else { emitByteOperand(absoluteIndex); } }
protected void emitStore(final Type<?> type, final int absoluteIndex) { assert absoluteIndex >= 0 : "absoluteIndex >= 0"; final OpCode optimalOpCode; optimalOpCode = getLocalStoreOpCode(type, absoluteIndex); emit(optimalOpCode); final OperandType operandType = optimalOpCode.getOperandType(); if (operandType == OperandType.NoOperands) { return; } if (absoluteIndex > MAX_BYTE) { emitShortOperand(absoluteIndex); } else { emitByteOperand(absoluteIndex); } }
public void increment(final LocalBuilder local, final int delta) { VerifyArgument.notNull(local, "local"); final int localIndex = translateLocal(local.getLocalIndex()); if (local.startOffset < 0) { local.startOffset = offset(); } if (localIndex < MAX_BYTE && delta <= Byte.MAX_VALUE && delta >= Byte.MIN_VALUE) { emit(OpCode.IINC); emitByteOperand(localIndex); emitByteOperand(delta); } else { emit(OpCode.IINC_W); emitShortOperand(localIndex); emitShortOperand(delta); } local.endOffset = offset(); }
public void increment(final LocalBuilder local, final int delta) { VerifyArgument.notNull(local, "local"); final int localIndex = translateLocal(local.getLocalIndex()); if (local.startOffset < 0) { local.startOffset = offset(); } if (localIndex < MAX_BYTE && delta <= Byte.MAX_VALUE && delta >= Byte.MIN_VALUE) { emit(OpCode.IINC); emitByteOperand(localIndex); emitByteOperand(delta); } else { emit(OpCode.IINC_W); emitShortOperand(localIndex); emitShortOperand(delta); } local.endOffset = offset(); }
public void increment(final LocalBuilder local, final int delta) { VerifyArgument.notNull(local, "local"); final int localIndex = translateLocal(local.getLocalIndex()); if (local.startOffset < 0) { local.startOffset = offset(); } if (localIndex < MAX_BYTE && delta <= Byte.MAX_VALUE && delta >= Byte.MIN_VALUE) { emit(OpCode.IINC); emitByteOperand(localIndex); emitByteOperand(delta); } else { emit(OpCode.IINC_W); emitShortOperand(localIndex); emitShortOperand(delta); } local.endOffset = offset(); }
public void emitLoadArgument(final int index) { assert index >= 0 : "index >= 0"; if (methodBuilder == null) { throw Error.bytecodeGeneratorNotOwnedByMethodBuilder(); } final TypeList parameterTypes = methodBuilder.getParameterTypes(); if (index < 0 || index >= parameterTypes.size()) { throw Error.argumentIndexOutOfRange(methodBuilder, index); } final int absoluteIndex = translateParameter(index); final OpCode opCode = getLocalLoadOpCode( parameterTypes.get(index), absoluteIndex ); internalEmit(opCode); if (opCode.getOperandType() == OperandType.NoOperands) { return; } if (absoluteIndex > MAX_BYTE) { emitShortOperand(absoluteIndex); } else { emitByteOperand(absoluteIndex); } }
public void emitStoreArgument(final int index) { assert index >= 0 : "index >= 0"; if (methodBuilder == null) { throw Error.bytecodeGeneratorNotOwnedByMethodBuilder(); } final TypeList parameterTypes = methodBuilder.getParameterTypes(); if (index < 0 || index >= parameterTypes.size()) { throw Error.argumentIndexOutOfRange(methodBuilder, index); } final int absoluteIndex = translateParameter(index); final OpCode opCode = getLocalStoreOpCode( parameterTypes.get(index), absoluteIndex ); internalEmit(opCode); if (opCode.getOperandType() == OperandType.NoOperands) { return; } if (absoluteIndex > MAX_BYTE) { emitShortOperand(absoluteIndex); } else { emitByteOperand(absoluteIndex); } }
public void emitLoadArgument(final int index) { assert index >= 0 : "index >= 0"; if (methodBuilder == null) { throw Error.bytecodeGeneratorNotOwnedByMethodBuilder(); } final TypeList parameterTypes = methodBuilder.getParameterTypes(); if (index < 0 || index >= parameterTypes.size()) { throw Error.argumentIndexOutOfRange(methodBuilder, index); } final int absoluteIndex = translateParameter(index); final OpCode opCode = getLocalLoadOpCode( parameterTypes.get(index), absoluteIndex ); internalEmit(opCode); if (opCode.getOperandType() == OperandType.NoOperands) { return; } if (absoluteIndex > MAX_BYTE) { emitShortOperand(absoluteIndex); } else { emitByteOperand(absoluteIndex); } }
public void emitStoreArgument(final int index) { assert index >= 0 : "index >= 0"; if (methodBuilder == null) { throw Error.bytecodeGeneratorNotOwnedByMethodBuilder(); } final TypeList parameterTypes = methodBuilder.getParameterTypes(); if (index < 0 || index >= parameterTypes.size()) { throw Error.argumentIndexOutOfRange(methodBuilder, index); } final int absoluteIndex = translateParameter(index); final OpCode opCode = getLocalStoreOpCode( parameterTypes.get(index), absoluteIndex ); internalEmit(opCode); if (opCode.getOperandType() == OperandType.NoOperands) { return; } if (absoluteIndex > MAX_BYTE) { emitShortOperand(absoluteIndex); } else { emitByteOperand(absoluteIndex); } }
public void emitStoreArgument(final int index) { assert index >= 0 : "index >= 0"; if (methodBuilder == null) { throw Error.bytecodeGeneratorNotOwnedByMethodBuilder(); } final TypeList parameterTypes = methodBuilder.getParameterTypes(); if (index < 0 || index >= parameterTypes.size()) { throw Error.argumentIndexOutOfRange(methodBuilder, index); } final int absoluteIndex = translateParameter(index); final OpCode opCode = getLocalStoreOpCode( parameterTypes.get(index), absoluteIndex ); internalEmit(opCode); if (opCode.getOperandType() == OperandType.NoOperands) { return; } if (absoluteIndex > MAX_BYTE) { emitShortOperand(absoluteIndex); } else { emitByteOperand(absoluteIndex); } }