--- eip: 7957 title: EVM64 - EOF support description: EVM Object Format support for EVM64 author: Wei Tang (@sorpaas) discussions-to: https://ethereum-magicians.org/t/eip-7937-64-bit-mode-evm-opcodes-evm64/23794 status: Stagnant type: Standards Track category: Core created: 2025-05-26 requires: 3540, 3670, 4200, 7937 --- ## Abstract This EIP defines EOF support for EVM64 with its additional code validation rules and `RJUMPI`, `RJUMPV` opcodes. ## Motivation EOF defines a stricter code validation rule to improve efficiency. Due to EVM64 using multibyte opcode (the mode opcode `C0`), a small adaptation is needed. This EIP also additionally defines a 64-bit mode `RJUMPI` and `RJUMPV` to be 64-bit. ## Specification The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 and RFC 8174. We define the following gas cost constant: | Name | Gas | |------|-----| | `G_RJUMPIV64` | `3` | At EOF contract creation time as defined in [EIP-3670](./eip-3670.md), if the opcode `C0` is encountered and it is not part of PUSH opcode's data, then the interpreter MUST validate that: * The next opcode exists. * The next opcode is `RJUMPI64`, `RJUMPV64`, or one of the core 64-bit opcode defined in [EIP-7937](./eip-7937.md) minus `JUMP64` and `JUMPI64`. For flow operations RJUMPI and RJUMPV, the 64-bit mode has following changes: * For `RJUMPI64` (0xc0e1), the condition popped from stack is only read for the last 64 bits. Gas cost is `G_RJUMPIV64`. * For `RJUMPV64` (0xc0e2), the case popped from stack is only read for the last 64 bits. Gas cost is `G_RJUMPIV64`. Note that: * `RJUMP` is automatically in 64-bit mode because it does not read or write the stack. ## Rationale For detailed rationale discussion, please see the core EVM64 definition [EIP-7937](./eip-7937.md). ## Backwards Compatibility No backward compatibility issues found. ## Test Cases To be added. ## Reference Implementation To be added. ## Security Considerations Needs discussion. ## Copyright Copyright and related rights waived via [CC0](../LICENSE.md).