APIdia Launch Partner
Top Description Constructors Methods
jdk.internal.classfile.impl

public Class BytecodeHelpers

extends Object
Class Inheritance
Imports
java.lang.classfile.BootstrapMethodEntry, .Opcode, .TypeKind, java.lang.classfile.constantpool.*, java.lang.constant.ConstantDesc, .ConstantDescs, .DirectMethodHandleDesc, .DynamicConstantDesc, java.lang.invoke.MethodHandleInfo, java.util.ArrayList, .List

Note

This class switches on opcode.bytecode for code size

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static Opcode
aload(int slot)

public static int
public static Opcode
public static TypeKind
arrayLoadType(Opcode arrayLoadOpcode)

public static int
public static Opcode
public static TypeKind
arrayStoreType(Opcode arrayStoreOpcode)

public static Opcode
astore(int slot)

public static IllegalArgumentException
public static TypeKind
public static Opcode
public static TypeKind
public static Opcode
dload(int slot)

public static Opcode
dstore(int slot)

public static Opcode
fload(int slot)

public static Opcode
fstore(int slot)

pack-priv static ConstantDynamicEntry
public static MethodHandleEntry
public static Opcode
iload(int slot)

public static TypeKind
public static ConstantDesc
public static int
public static int
public static Opcode
istore(int slot)

public static boolean
public static Opcode
public static Opcode
lload(int slot)

public static Opcode
loadOpcode(TypeKind tk, int slot)

public static TypeKind
loadType(Opcode loadOpcode)

public static Opcode
lstore(int slot)

public static TypeKind
operatorOperandType(Opcode operationOpcode)

public static int
public static Opcode
public static TypeKind
returnType(Opcode returnOpcode)

public static Opcode
public static int
reverseBranchOpcode(int bytecode)

public static IllegalArgumentException
slotOutOfBounds(int slot)

public static IllegalArgumentException
slotOutOfBounds(Opcode opcode, int slot)

public static Opcode
storeOpcode(TypeKind tk, int slot)

public static TypeKind
storeType(Opcode storeOpcode)

pack-priv static MemberRefEntry
toBootstrapMemberRef(ConstantPoolBuilder constantPool, int bsRefKind, ClassEntry owner, NameAndTypeEntry nat, boolean isOwnerInterface)

public static boolean
validateAndIsWideIinc(int slot, int val)

public static void
validateBipush(int value)

public static void
validateIncrement(Opcode opcode, int slot, int constant)

public static void
public static void
validateRet(Opcode opcode, int slot)

public static void
validateSipush(int value)

public static void
validateSlot(Opcode opcode, int slot, boolean load)

public static void
validateSlot(int slot)

public static void
validateTableSwitchValues(int low, int high)

public static void
validateTableSwitchValues(int low, int high, int codeLength)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

BytecodeHelpersback to summary
private BytecodeHelpers()

Method Detail

aloadback to summary
public static Opcode aload(int slot)
arrayLoadBytecodeback to summary
public static int arrayLoadBytecode(TypeKind tk)
arrayLoadOpcodeback to summary
public static Opcode arrayLoadOpcode(TypeKind tk)
arrayLoadTypeback to summary
public static TypeKind arrayLoadType(Opcode arrayLoadOpcode)
arrayStoreBytecodeback to summary
public static int arrayStoreBytecode(TypeKind tk)
arrayStoreOpcodeback to summary
public static Opcode arrayStoreOpcode(TypeKind tk)
arrayStoreTypeback to summary
public static TypeKind arrayStoreType(Opcode arrayStoreOpcode)
astoreback to summary
public static Opcode astore(int slot)
cannotConvertExceptionback to summary
public static IllegalArgumentException cannotConvertException(TypeKind from, TypeKind to)
convertFromTypeback to summary
public static TypeKind convertFromType(Opcode opcode)
convertOpcodeback to summary
public static Opcode convertOpcode(TypeKind from, TypeKind to)
convertToTypeback to summary
public static TypeKind convertToType(Opcode opcode)
dloadback to summary
public static Opcode dload(int slot)
dstoreback to summary
public static Opcode dstore(int slot)
floadback to summary
public static Opcode fload(int slot)
fstoreback to summary
public static Opcode fstore(int slot)
handleConstantDescToHandleInfoback to summary
pack-priv static ConstantDynamicEntry handleConstantDescToHandleInfo(ConstantPoolBuilder constantPool, DynamicConstantDesc<?> desc)
handleDescToHandleInfoback to summary
public static MethodHandleEntry handleDescToHandleInfo(ConstantPoolBuilder constantPool, DirectMethodHandleDesc bootstrapMethod)
iloadback to summary
public static Opcode iload(int slot)
intrinsicConstantTypeback to summary
public static TypeKind intrinsicConstantType(Opcode opcode)
intrinsicConstantValueback to summary
public static ConstantDesc intrinsicConstantValue(Opcode opcode)
intrinsicLoadSlotback to summary
public static int intrinsicLoadSlot(Opcode loadOpcode)
intrinsicStoreSlotback to summary
public static int intrinsicStoreSlot(Opcode storeOpcode)
istoreback to summary
public static Opcode istore(int slot)
isUnconditionalBranchback to summary
public static boolean isUnconditionalBranch(Opcode opcode)
ldcOpcodeback to summary
public static Opcode ldcOpcode(LoadableConstantEntry entry)
lloadback to summary
public static Opcode lload(int slot)
loadOpcodeback to summary
public static Opcode loadOpcode(TypeKind tk, int slot)
loadTypeback to summary
public static TypeKind loadType(Opcode loadOpcode)
lstoreback to summary
public static Opcode lstore(int slot)
operatorOperandTypeback to summary
public static TypeKind operatorOperandType(Opcode operationOpcode)
returnBytecodeback to summary
public static int returnBytecode(TypeKind tk)
returnOpcodeback to summary
public static Opcode returnOpcode(TypeKind tk)
returnTypeback to summary
public static TypeKind returnType(Opcode returnOpcode)
reverseBranchOpcodeback to summary
public static Opcode reverseBranchOpcode(Opcode op)
reverseBranchOpcodeback to summary
public static int reverseBranchOpcode(int bytecode)
slotOutOfBoundsback to summary
public static IllegalArgumentException slotOutOfBounds(int slot)
slotOutOfBoundsback to summary
public static IllegalArgumentException slotOutOfBounds(Opcode opcode, int slot)
storeOpcodeback to summary
public static Opcode storeOpcode(TypeKind tk, int slot)
storeTypeback to summary
public static TypeKind storeType(Opcode storeOpcode)
toBootstrapMemberRefback to summary
pack-priv static MemberRefEntry toBootstrapMemberRef(ConstantPoolBuilder constantPool, int bsRefKind, ClassEntry owner, NameAndTypeEntry nat, boolean isOwnerInterface)
validateAndIsWideIincback to summary
public static boolean validateAndIsWideIinc(int slot, int val)
validateBipushback to summary
public static void validateBipush(int value)
validateIncrementback to summary
public static void validateIncrement(Opcode opcode, int slot, int constant)
validateMultiArrayDimensionsback to summary
public static void validateMultiArrayDimensions(int value)
validateRetback to summary
public static void validateRet(Opcode opcode, int slot)
validateSipushback to summary
public static void validateSipush(int value)
validateSlotback to summary
public static void validateSlot(Opcode opcode, int slot, boolean load)
validateSlotback to summary
public static void validateSlot(int slot)
validateTableSwitchValuesback to summary
public static void validateTableSwitchValues(int low, int high)
validateTableSwitchValuesback to summary
public static void validateTableSwitchValues(int low, int high, int codeLength)