Interface BytecodeDebugListener

All Known Subinterfaces:
BytecodeDebugTraceListener

public interface BytecodeDebugListener
Base interface for a bytecode root node to get additional debug event that are normally not available. Useful for testing and debugging.

Warning: Do not deploy with implementing this listener in production. It causes severe performance degradation.

Since:
24.2
  • Method Details

    • onSpecialize

      default void onSpecialize(Instruction instruction, String specialization)
      Invoked when an operation or instrumentation specializes itself.
      Since:
      24.2
    • onBytecodeStackTransition

      default void onBytecodeStackTransition(Instruction source, Instruction target)
      Invoked when a bytecode node performs an on-stack transition. On stack transitions may happen if additional bytecode or tag instrumentations are applied during execution while the current method is on-stack.
      Since:
      24.2
    • onInvalidateInstruction

      default void onInvalidateInstruction(Instruction before, Instruction after)
      Invoked when an instruction is invalidated. Instructions are invalidated to make bytecode nodes leave the current bytecode loop and update its own bytecodes.
      Since:
      24.2
    • onQuicken

      default void onQuicken(Instruction before, Instruction after)
      Invoked when an instruction was quickened.
      Since:
      24.2
    • onQuickenOperand

      default void onQuickenOperand(Instruction baseInstruction, int operandIndex, Instruction operandBefore, Instruction operandAfter)
      Invoked when an operand was quickened due to boxing elimination.
      Since:
      24.2