private static void registerEOFOperations(
      final OperationRegistry registry, final GasCalculator gasCalculator) {
    // EIP-663 Unlimited Swap and Dup
    registry.put(new DupNOperation(gasCalculator));
    registry.put(new SwapNOperation(gasCalculator));
    registry.put(new ExchangeOperation(gasCalculator));

    // EIP-3540 EOF Aware EXTCODE* operations
    registry.put(new ExtCodeCopyOperation(gasCalculator, true));
    registry.put(new ExtCodeHashOperation(gasCalculator, true));
    registry.put(new ExtCodeSizeOperation(gasCalculator, true));

    // EIP-4200 relative jump
    registry.put(new RelativeJumpOperation(gasCalculator));
    registry.put(new RelativeJumpIfOperation(gasCalculator));
    registry.put(new RelativeJumpVectorOperation(gasCalculator));

    // EIP-4750 EOF Code Sections
    registry.put(new CallFOperation(gasCalculator));
    registry.put(new RetFOperation(gasCalculator));

    // EIP-6209 JUMPF Instruction
    registry.put(new JumpFOperation(gasCalculator));

    // EIP-7069 Revamped EOF Call
    registry.put(new ExtCallOperation(gasCalculator));
    registry.put(new ExtDelegateCallOperation(gasCalculator));
    registry.put(new ExtStaticCallOperation(gasCalculator));
    registry.put(new ReturnDataLoadOperation(gasCalculator));

    // EIP-7480 EOF Data Section Access
    registry.put(new DataLoadOperation(gasCalculator));
    registry.put(new DataLoadNOperation(gasCalculator));
    registry.put(new DataSizeOperation(gasCalculator));
    registry.put(new DataCopyOperation(gasCalculator));

    // EIP-7620 EOF Create and Return Contract operation
    registry.put(new EOFCreateOperation(gasCalculator));
    registry.put(new ReturnContractOperation(gasCalculator));
  }
Register Osaka's operations.

@param registry the registry
@param gasCalculator the gas calculator
@param chainID the chain id
evm/src/main/java/org/hyperledger/besu/evm/MainnetEVMs.java