@Override
  protected OperationResult executeFixedCostOperation(final MessageFrame frame, final EVM evm) {
    Code code = frame.getCode();
    if (code.getEofVersion() == 0) {
      return InvalidOperation.INVALID_RESULT;
    }
    int offsetCase;
    try {
      offsetCase = frame.popStackItem().trimLeadingZeros().toInt();
      if (offsetCase < 0) {
        offsetCase = Integer.MAX_VALUE;
      }
    } catch (ArithmeticException | IllegalArgumentException ae) {
      offsetCase = Integer.MAX_VALUE;
    }
    final int vectorSize = getVectorSize(code.getBytes(), frame.getPC() + 1);
    int jumpDelta =
        (offsetCase < vectorSize)
            ? code.readBigEndianI16(
                frame.getPC() + 2 + offsetCase * 2) // lookup delta if offset is in vector
            : 0; // if offsetCase is outside the vector the jump delta is zero / next opcode.
    return new OperationResult(
        gasCost,
        null,
        2 // Opcode + length immediate
            + 2 * vectorSize // vector size
            + jumpDelta);
  }
Instantiates a new Relative jump vector operation.

@param gasCalculator the gas calculator
evm/src/main/java/org/hyperledger/besu/evm/operation/RelativeJumpVectorOperation.java