Skip to content

feat(evm): validate all revisions through Osaka - #600

Open
ECNUyhy wants to merge 16 commits into
DTVMStack:mainfrom
ECNUyhy:fix/evm-revision-aware-state-tests
Open

feat(evm): validate all revisions through Osaka#600
ECNUyhy wants to merge 16 commits into
DTVMStack:mainfrom
ECNUyhy:fix/evm-revision-aware-state-tests

Conversation

@ECNUyhy

@ECNUyhy ECNUyhy commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Summary

Extend DTVM's revision-aware EVM boundary from Frontier-Cancun through the current Osaka revision and replace the previous name-filtered state-test check with reproducible, full-corpus conformance evidence.

The scoped claim is that DTVM supports the VM-visible execution semantics of every mainnet EVMC revision from Frontier through Osaka in interpreter and multipass modes. This is not a claim that DTVM is a full consensus, networking, or block-processing client.

Changes

  • recognize all EVMC mainnet revisions through EVMC_OSAKA explicitly and fail closed on unknown fork names;
  • expose Prague and Osaka revision selection, advance the unspecified default from Cancun to Osaka, and preserve explicit historical execution;
  • retain revision-aware opcode, transaction-admission, refund, precompile-boundary, and gas semantics in both interpreter and multipass paths;
  • pin the final Osaka EEST v5.4.0 fixtures_develop.tar.gz archive by immutable URL and SHA-256;
  • validate a second semantic case-set SHA-256, require all 12 revision labels present in the release to be non-empty, and reject unexpected labels;
  • run the complete corpus with evmone's default exclusions overridden and without -k filtering in both DTVM modes;
  • generate machine-readable inventory and execution manifests with per-revision counts/digests and zero-failure accounting;
  • refresh the cached multipass memory base after runtime expansion, fixing the cold-start CREATE/EXTCODEHASH failure exposed by the complete corpus;
  • mark x86-64 assembly stacks non-executable and fail CI if libdtvmapi.so requests an executable stack.

Official fixture coverage

  • Repository: ethereum/execution-spec-tests
  • Release: v5.4.0
  • Asset: fixtures_develop.tar.gz
  • State-test driver: DTVMStack/evmone@a4a0e47aff903a47a6be133c67ad106c706fe566
  • Archive SHA-256: 3e2b02d49fe903eda4fd8caca5cbf0d139c470e97e1de9a85299b1b034f97099
  • Semantic case-set SHA-256: 461395b7f284c4c262d4c09fa17aab73c3816af7caaeecac4d1a3bcf3009961c
  • Corpus: 2,723 JSON files, 63,556 state-test cases
  • Prague: 18,869 cases
  • Osaka: 19,517 cases

EEST v5.4.0 contains 12 canonical post labels from Frontier through Osaka. It has no dedicated sections for Tangerine Whistle, Spurious Dragon, or pre-Petersburg Constantinople; those EVMC revisions remain covered by explicit revision-selection and historical regression tests. ConstantinopleFix is the EEST label for Petersburg.

Validation

The same pinned 63,556-case corpus was executed in both modes:

Mode Passed Failed Errored Excluded
interpreter 63,556 0 0 0
multipass 63,556 0 0 0

Additional local gates:

  • manifest unit tests: 4/4 passed;
  • multipass frontend tests: 180/180 passed, including a Red-Green regression for cold memory-base refresh;
  • the formerly failing EXTCODEHASH/CREATE fixture passed in 10 independent cold-start processes;
  • fixture inventory and both execution manifests reproduced successfully;
  • libdtvmapi.so GNU stack flags: RW (not executable);
  • shell syntax, workflow YAML parsing, and git diff --check: passed.

Compatibility

No EVMC ABI or public C API shape changes. Callers that omit a revision now receive Osaka semantics; callers requiring Cancun or another historical fork must pass it explicitly. Unknown textual fork names now fail instead of inheriting a default revision.

Release note

Extend revision-aware DTVM EVM execution and pinned official state-test validation from Frontier through Osaka.

Propagate the requested EVM revision through state-test execution and restore fork-aware refund, precompile, coinbase-touch, and typed-transaction rules.

Fail closed on unsupported revisions, preserve canonical fork aliases, register every post case uniquely, and add focused regressions for the repaired boundaries.
@github-actions

github-actions Bot commented Aug 20, 2026

Copy link
Copy Markdown

⚡ Performance Regression Check Results

✅ Performance Check Passed (interpreter)

Performance Benchmark Results (threshold: 25%)

Benchmark Baseline (us) Current (us) Change Status
total/main/blake2b_huff/8415nulls 2.79 2.70 -3.2% PASS
total/main/blake2b_huff/empty 0.04 0.04 -0.4% PASS
total/main/blake2b_shifts/8415nulls 16.39 15.16 -7.5% PASS
total/main/sha1_divs/5311 8.64 8.64 +0.1% PASS
total/main/sha1_divs/empty 0.10 0.10 +0.1% PASS
total/main/sha1_shifts/5311 5.67 5.81 +2.4% PASS
total/main/sha1_shifts/empty 0.05 0.05 -0.1% PASS
total/main/snailtracer/benchmark 88.89 93.00 +4.6% PASS
total/main/structarray_alloc/nfts_rank 1.22 1.19 -2.5% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 +0.2% PASS
total/main/swap_math/received 0.01 0.01 +2.0% PASS
total/main/swap_math/spent 0.01 0.01 +1.9% PASS
total/main/weierstrudel/1 0.33 0.34 +1.1% PASS
total/main/weierstrudel/15 3.79 3.62 -4.5% PASS
total/micro/JUMPDEST_n0/empty 3.04 3.04 +0.0% PASS
total/micro/jump_around/empty 0.09 0.10 +9.8% PASS
total/micro/loop_with_many_jumpdests/empty 67.44 67.47 +0.0% PASS
total/micro/memory_grow_mload/by1 0.17 0.18 +5.1% PASS
total/micro/memory_grow_mload/by16 0.19 0.20 +5.0% PASS
total/micro/memory_grow_mload/by32 0.12 0.12 +0.1% PASS
total/micro/memory_grow_mload/nogrow 0.09 0.09 -0.5% PASS
total/micro/memory_grow_mstore/by1 0.20 0.19 -4.4% PASS
total/micro/memory_grow_mstore/by16 0.12 0.12 +1.7% PASS
total/micro/memory_grow_mstore/by32 0.25 0.24 -1.9% PASS
total/micro/memory_grow_mstore/nogrow 0.20 0.19 -5.3% PASS
total/micro/signextend/one 0.26 0.26 +0.1% PASS
total/micro/signextend/zero 0.47 0.47 +0.8% PASS
total/synth/ADD/b0 2.25 2.25 +0.0% PASS
total/synth/ADD/b1 2.74 2.79 +1.6% PASS
total/synth/ADDRESS/a0 6.55 6.52 -0.5% PASS
total/synth/ADDRESS/a1 5.74 5.76 +0.3% PASS
total/synth/AND/b0 1.84 1.84 -0.1% PASS
total/synth/AND/b1 2.31 2.32 +0.4% PASS
total/synth/BYTE/b0 6.92 6.89 -0.4% PASS
total/synth/BYTE/b1 9.21 9.57 +3.8% PASS
total/synth/CALLDATASIZE/a0 4.94 4.99 +1.0% PASS
total/synth/CALLDATASIZE/a1 3.67 3.96 +7.7% PASS
total/synth/CALLER/a0 6.67 6.62 -0.7% PASS
total/synth/CALLER/a1 6.94 6.91 -0.4% PASS
total/synth/CALLVALUE/a0 3.61 3.59 -0.5% PASS
total/synth/CALLVALUE/a1 6.12 6.29 +2.8% PASS
total/synth/CODESIZE/a0 5.30 5.88 +10.9% PASS
total/synth/CODESIZE/a1 5.87 6.03 +2.8% PASS
total/synth/DUP1/d0 1.59 1.65 +3.8% PASS
total/synth/DUP1/d1 1.83 1.90 +3.8% PASS
total/synth/DUP10/d0 1.66 1.69 +1.6% PASS
total/synth/DUP10/d1 1.67 1.74 +4.6% PASS
total/synth/DUP11/d0 1.04 1.29 +24.1% PASS
total/synth/DUP11/d1 1.74 1.57 -9.8% PASS
total/synth/DUP12/d0 1.68 1.61 -4.1% PASS
total/synth/DUP12/d1 0.85 1.13 +33.8% PASS
total/synth/DUP13/d0 1.71 1.76 +2.7% PASS
total/synth/DUP13/d1 1.63 1.71 +5.4% PASS
total/synth/DUP14/d0 1.29 1.06 -17.6% PASS
total/synth/DUP14/d1 1.61 1.87 +16.1% PASS
total/synth/DUP15/d0 1.53 1.61 +5.1% PASS
total/synth/DUP15/d1 0.85 1.04 +22.5% PASS
total/synth/DUP16/d0 1.55 1.84 +18.6% PASS
total/synth/DUP16/d1 1.74 1.65 -5.5% PASS
total/synth/DUP2/d0 1.29 1.02 -21.0% PASS
total/synth/DUP2/d1 1.72 1.62 -5.5% PASS
total/synth/DUP3/d0 1.70 1.60 -5.8% PASS
total/synth/DUP3/d1 0.85 1.03 +20.4% PASS
total/synth/DUP4/d0 1.55 1.69 +8.7% PASS
total/synth/DUP4/d1 1.73 1.75 +1.2% PASS
total/synth/DUP5/d0 1.03 1.02 -1.2% PASS
total/synth/DUP5/d1 1.77 1.66 -6.2% PASS
total/synth/DUP6/d0 1.71 1.54 -9.6% PASS
total/synth/DUP6/d1 0.85 1.03 +21.2% PASS
total/synth/DUP7/d0 1.64 1.75 +6.6% PASS
total/synth/DUP7/d1 1.61 1.71 +6.1% PASS
total/synth/DUP8/d0 1.04 1.04 -0.0% PASS
total/synth/DUP8/d1 1.54 1.93 +25.6% PASS
total/synth/DUP9/d0 1.69 1.75 +3.6% PASS
total/synth/DUP9/d1 1.30 1.03 -20.9% PASS
total/synth/EQ/b0 5.37 5.38 +0.2% PASS
total/synth/EQ/b1 5.62 5.70 +1.4% PASS
total/synth/GAS/a0 3.94 3.84 -2.5% PASS
total/synth/GAS/a1 6.42 6.93 +8.0% PASS
total/synth/GT/b0 5.73 5.73 +0.0% PASS
total/synth/GT/b1 5.69 5.71 +0.4% PASS
total/synth/ISZERO/u0 8.36 8.33 -0.3% PASS
total/synth/JUMPDEST/n0 3.06 3.04 -0.6% PASS
total/synth/LT/b0 5.72 5.71 -0.1% PASS
total/synth/LT/b1 4.78 4.79 +0.3% PASS
total/synth/MSIZE/a0 6.17 5.93 -3.9% PASS
total/synth/MSIZE/a1 6.53 6.48 -0.7% PASS
total/synth/MUL/b0 6.31 6.36 +0.8% PASS
total/synth/MUL/b1 5.96 5.97 +0.1% PASS
total/synth/NOT/u0 2.15 2.14 -0.3% PASS
total/synth/OR/b0 2.23 2.25 +0.8% PASS
total/synth/OR/b1 1.76 1.77 +0.9% PASS
total/synth/PC/a0 4.97 5.26 +5.9% PASS
total/synth/PC/a1 3.82 3.72 -2.4% PASS
total/synth/PUSH1/p0 2.07 2.08 +0.8% PASS
total/synth/PUSH1/p1 1.62 1.59 -1.7% PASS
total/synth/PUSH10/p0 2.10 2.04 -2.7% PASS
total/synth/PUSH10/p1 1.62 1.60 -0.9% PASS
total/synth/PUSH11/p0 2.09 2.05 -2.1% PASS
total/synth/PUSH11/p1 2.09 2.43 +16.4% PASS
total/synth/PUSH12/p0 1.47 1.46 -0.1% PASS
total/synth/PUSH12/p1 2.14 2.01 -5.8% PASS
total/synth/PUSH13/p0 2.14 2.00 -6.7% PASS
total/synth/PUSH13/p1 1.60 1.86 +16.6% PASS
total/synth/PUSH14/p0 2.09 2.09 -0.2% PASS
total/synth/PUSH14/p1 2.06 2.10 +1.8% PASS
total/synth/PUSH15/p0 1.46 1.46 -0.0% PASS
total/synth/PUSH15/p1 2.06 2.14 +4.0% PASS
total/synth/PUSH16/p0 2.00 1.98 -1.2% PASS
total/synth/PUSH16/p1 1.60 1.60 +0.5% PASS
total/synth/PUSH17/p0 2.10 2.01 -4.4% PASS
total/synth/PUSH17/p1 2.13 2.15 +0.7% PASS
total/synth/PUSH18/p0 1.47 1.45 -1.5% PASS
total/synth/PUSH18/p1 2.17 2.17 +0.2% PASS
total/synth/PUSH19/p0 2.06 2.06 -0.3% PASS
total/synth/PUSH19/p1 1.61 1.59 -0.9% PASS
total/synth/PUSH2/p0 2.08 1.99 -4.2% PASS
total/synth/PUSH2/p1 2.12 2.30 +8.5% PASS
total/synth/PUSH20/p0 2.06 2.16 +5.2% PASS
total/synth/PUSH20/p1 2.22 2.33 +4.8% PASS
total/synth/PUSH21/p0 1.47 1.45 -1.0% PASS
total/synth/PUSH21/p1 2.18 2.05 -6.0% PASS
total/synth/PUSH22/p0 2.00 2.16 +8.2% PASS
total/synth/PUSH22/p1 1.60 1.60 -0.4% PASS
total/synth/PUSH23/p0 1.96 2.03 +3.6% PASS
total/synth/PUSH23/p1 2.29 2.36 +2.9% PASS
total/synth/PUSH24/p0 1.46 1.46 +0.3% PASS
total/synth/PUSH24/p1 2.10 2.17 +3.4% PASS
total/synth/PUSH25/p0 2.03 2.08 +2.4% PASS
total/synth/PUSH25/p1 1.60 1.61 +0.5% PASS
total/synth/PUSH26/p0 2.01 1.97 -2.1% PASS
total/synth/PUSH26/p1 2.12 2.18 +3.1% PASS
total/synth/PUSH27/p0 1.48 1.47 -0.6% PASS
total/synth/PUSH27/p1 2.14 2.32 +8.5% PASS
total/synth/PUSH28/p0 2.02 2.02 +0.3% PASS
total/synth/PUSH28/p1 1.87 1.62 -13.2% PASS
total/synth/PUSH29/p0 2.18 1.93 -11.3% PASS
total/synth/PUSH29/p1 2.21 2.27 +2.8% PASS
total/synth/PUSH3/p0 1.45 1.45 -0.0% PASS
total/synth/PUSH3/p1 2.11 2.14 +1.2% PASS
total/synth/PUSH30/p0 1.48 1.46 -1.0% PASS
total/synth/PUSH30/p1 2.20 2.19 +0.3% PASS
total/synth/PUSH31/p0 2.09 2.04 -2.7% PASS
total/synth/PUSH31/p1 1.62 1.64 +0.7% PASS
total/synth/PUSH32/p0 2.03 2.12 +4.2% PASS
total/synth/PUSH32/p1 2.34 2.10 -10.4% PASS
total/synth/PUSH4/p0 2.05 2.08 +1.8% PASS
total/synth/PUSH4/p1 1.59 1.69 +6.3% PASS
total/synth/PUSH5/p0 1.97 1.95 -1.0% PASS
total/synth/PUSH5/p1 2.60 2.15 -17.1% PASS
total/synth/PUSH6/p0 1.45 1.45 -0.1% PASS
total/synth/PUSH6/p1 2.17 2.53 +16.5% PASS
total/synth/PUSH7/p0 2.01 2.09 +4.1% PASS
total/synth/PUSH7/p1 1.60 1.60 -0.2% PASS
total/synth/PUSH8/p0 2.13 1.98 -6.9% PASS
total/synth/PUSH8/p1 2.05 2.21 +7.8% PASS
total/synth/PUSH9/p0 1.45 1.45 -0.2% PASS
total/synth/PUSH9/p1 2.18 2.11 -2.9% PASS
total/synth/RETURNDATASIZE/a0 3.45 3.44 -0.0% PASS
total/synth/RETURNDATASIZE/a1 5.89 6.00 +1.9% PASS
total/synth/SAR/b0 4.35 4.34 -0.1% PASS
total/synth/SAR/b1 7.64 7.85 +2.7% PASS
total/synth/SGT/b0 4.25 4.25 +0.1% PASS
total/synth/SGT/b1 3.63 3.67 +1.1% PASS
total/synth/SHL/b0 4.19 4.18 -0.3% PASS
total/synth/SHL/b1 1.81 1.82 +0.7% PASS
total/synth/SHR/b0 3.93 3.95 +0.6% PASS
total/synth/SHR/b1 3.21 3.27 +1.9% PASS
total/synth/SIGNEXTEND/b0 3.62 3.61 -0.2% PASS
total/synth/SIGNEXTEND/b1 6.35 5.94 -6.5% PASS
total/synth/SLT/b0 3.94 3.94 -0.1% PASS
total/synth/SLT/b1 4.26 4.22 -1.0% PASS
total/synth/SUB/b0 2.73 2.75 +0.8% PASS
total/synth/SUB/b1 2.81 2.88 +2.5% PASS
total/synth/SWAP1/s0 1.85 1.85 -0.2% PASS
total/synth/SWAP10/s0 1.86 1.87 +0.2% PASS
total/synth/SWAP11/s0 2.73 2.66 -2.2% PASS
total/synth/SWAP12/s0 2.64 2.75 +4.3% PASS
total/synth/SWAP13/s0 1.86 1.86 -0.1% PASS
total/synth/SWAP14/s0 2.75 2.77 +0.7% PASS
total/synth/SWAP15/s0 2.61 2.78 +6.4% PASS
total/synth/SWAP16/s0 1.87 1.86 -0.4% PASS
total/synth/SWAP2/s0 3.43 2.78 -18.0% PASS
total/synth/SWAP3/s0 2.82 2.62 -7.3% PASS
total/synth/SWAP4/s0 1.85 1.85 +0.1% PASS
total/synth/SWAP5/s0 2.66 2.63 -1.0% PASS
total/synth/SWAP6/s0 2.72 2.89 +6.2% PASS
total/synth/SWAP7/s0 1.86 1.86 -0.1% PASS
total/synth/SWAP8/s0 2.92 2.74 -5.8% PASS
total/synth/SWAP9/s0 3.16 2.74 -13.5% PASS
total/synth/XOR/b0 2.13 2.19 +3.1% PASS
total/synth/XOR/b1 2.26 2.16 -4.5% PASS
total/synth/loop_v1 9.00 9.03 +0.4% PASS
total/synth/loop_v2 9.04 9.20 +1.7% PASS

Summary: 194 benchmarks, 0 regressions


✅ Performance Check Passed (multipass)

Performance Benchmark Results (threshold: 25%)

Benchmark Baseline (us) Current (us) Change Status
total/main/blake2b_huff/8415nulls 1.46 1.52 +4.2% PASS
total/main/blake2b_huff/empty 0.02 0.02 +2.6% PASS
total/main/blake2b_shifts/8415nulls 4.02 4.04 +0.4% PASS
total/main/sha1_divs/5311 0.88 0.88 +0.1% PASS
total/main/sha1_divs/empty 0.01 0.01 -3.7% PASS
total/main/sha1_shifts/5311 0.76 0.76 -0.0% PASS
total/main/sha1_shifts/empty 0.01 0.01 -0.5% PASS
total/main/snailtracer/benchmark 43.11 43.48 +0.8% PASS
total/main/structarray_alloc/nfts_rank 0.27 0.27 -0.3% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 -2.3% PASS
total/main/swap_math/received 0.00 0.00 -1.1% PASS
total/main/swap_math/spent 0.00 0.00 +0.4% PASS
total/main/weierstrudel/1 0.29 0.29 -0.3% PASS
total/main/weierstrudel/15 3.33 3.23 -3.0% PASS
total/micro/JUMPDEST_n0/empty 0.00 0.00 +0.4% PASS
total/micro/jump_around/empty 0.02 0.02 +0.5% PASS
total/micro/loop_with_many_jumpdests/empty 0.01 0.01 +2.0% PASS
total/micro/memory_grow_mload/by1 0.02 0.02 -0.5% PASS
total/micro/memory_grow_mload/by16 0.02 0.02 +6.1% PASS
total/micro/memory_grow_mload/by32 0.01 0.01 -1.4% PASS
total/micro/memory_grow_mload/nogrow 0.01 0.01 -0.1% PASS
total/micro/memory_grow_mstore/by1 0.02 0.02 +2.3% PASS
total/micro/memory_grow_mstore/by16 0.01 0.01 -0.3% PASS
total/micro/memory_grow_mstore/by32 0.03 0.03 +1.5% PASS
total/micro/memory_grow_mstore/nogrow 0.02 0.02 +0.8% PASS
total/micro/signextend/one 0.23 0.23 +0.5% PASS
total/micro/signextend/zero 0.30 0.31 +2.1% PASS
total/synth/ADD/b0 0.00 0.00 -0.0% PASS
total/synth/ADD/b1 0.00 0.00 +0.9% PASS
total/synth/ADDRESS/a0 0.20 0.19 -1.1% PASS
total/synth/ADDRESS/a1 0.15 0.15 +0.0% PASS
total/synth/AND/b0 0.00 0.00 +0.4% PASS
total/synth/AND/b1 0.00 0.00 +1.8% PASS
total/synth/BYTE/b0 0.00 0.00 -0.2% PASS
total/synth/BYTE/b1 0.00 0.00 +2.5% PASS
total/synth/CALLDATASIZE/a0 0.11 0.10 -8.7% PASS
total/synth/CALLDATASIZE/a1 0.07 0.07 +0.4% PASS
total/synth/CALLER/a0 0.19 0.20 +3.5% PASS
total/synth/CALLER/a1 0.22 0.20 -6.5% PASS
total/synth/CALLVALUE/a0 0.18 0.18 -1.8% PASS
total/synth/CALLVALUE/a1 0.27 0.23 -17.1% PASS
total/synth/CODESIZE/a0 0.11 0.11 +0.8% PASS
total/synth/CODESIZE/a1 0.11 0.10 -8.7% PASS
total/synth/DUP1/d0 0.00 0.00 +0.1% PASS
total/synth/DUP1/d1 0.00 0.00 +0.1% PASS
total/synth/DUP10/d0 0.00 0.00 +0.3% PASS
total/synth/DUP10/d1 0.00 0.00 -0.2% PASS
total/synth/DUP11/d0 0.00 0.00 +0.1% PASS
total/synth/DUP11/d1 0.00 0.00 +2.2% PASS
total/synth/DUP12/d0 0.00 0.00 +2.2% PASS
total/synth/DUP12/d1 0.00 0.00 +0.5% PASS
total/synth/DUP13/d0 0.00 0.00 -2.2% PASS
total/synth/DUP13/d1 0.00 0.00 -2.3% PASS
total/synth/DUP14/d0 0.00 0.00 +0.7% PASS
total/synth/DUP14/d1 0.00 0.00 -0.6% PASS
total/synth/DUP15/d0 0.00 0.00 +0.8% PASS
total/synth/DUP15/d1 0.00 0.00 +0.2% PASS
total/synth/DUP16/d0 0.00 0.00 +1.4% PASS
total/synth/DUP16/d1 0.00 0.00 -0.9% PASS
total/synth/DUP2/d0 0.00 0.00 +1.0% PASS
total/synth/DUP2/d1 0.00 0.00 -0.2% PASS
total/synth/DUP3/d0 0.00 0.00 +3.8% PASS
total/synth/DUP3/d1 0.00 0.00 +0.4% PASS
total/synth/DUP4/d0 0.00 0.00 +0.1% PASS
total/synth/DUP4/d1 0.00 0.00 -3.0% PASS
total/synth/DUP5/d0 0.00 0.00 +0.8% PASS
total/synth/DUP5/d1 0.00 0.00 -1.3% PASS
total/synth/DUP6/d0 0.00 0.00 -1.3% PASS
total/synth/DUP6/d1 0.00 0.00 +0.7% PASS
total/synth/DUP7/d0 0.00 0.00 -0.3% PASS
total/synth/DUP7/d1 0.00 0.00 +2.9% PASS
total/synth/DUP8/d0 0.00 0.00 +0.4% PASS
total/synth/DUP8/d1 0.00 0.00 +0.5% PASS
total/synth/DUP9/d0 0.00 0.00 -0.1% PASS
total/synth/DUP9/d1 0.00 0.00 +0.5% PASS
total/synth/EQ/b0 0.00 0.00 -3.2% PASS
total/synth/EQ/b1 0.00 0.00 +2.7% PASS
total/synth/GAS/a0 0.51 0.51 -0.0% PASS
total/synth/GAS/a1 0.82 0.80 -2.2% PASS
total/synth/GT/b0 0.00 0.00 -1.2% PASS
total/synth/GT/b1 0.00 0.00 -0.2% PASS
total/synth/ISZERO/u0 0.00 0.00 +0.3% PASS
total/synth/JUMPDEST/n0 0.00 0.00 +0.1% PASS
total/synth/LT/b0 0.00 0.00 -0.2% PASS
total/synth/LT/b1 0.00 0.00 +0.6% PASS
total/synth/MSIZE/a0 0.00 0.00 -0.2% PASS
total/synth/MSIZE/a1 0.00 0.00 -1.4% PASS
total/synth/MUL/b0 0.00 0.00 +0.9% PASS
total/synth/MUL/b1 0.00 0.00 +0.3% PASS
total/synth/NOT/u0 0.00 0.00 -3.3% PASS
total/synth/OR/b0 0.00 0.00 +3.0% PASS
total/synth/OR/b1 0.00 0.00 +0.2% PASS
total/synth/PC/a0 0.00 0.00 +1.5% PASS
total/synth/PC/a1 0.00 0.00 -0.2% PASS
total/synth/PUSH1/p0 0.00 0.00 +1.4% PASS
total/synth/PUSH1/p1 0.00 0.00 +0.1% PASS
total/synth/PUSH10/p0 0.00 0.00 +6.5% PASS
total/synth/PUSH10/p1 0.00 0.00 -0.2% PASS
total/synth/PUSH11/p0 0.00 0.00 -2.0% PASS
total/synth/PUSH11/p1 0.00 0.00 +1.9% PASS
total/synth/PUSH12/p0 0.00 0.00 +1.8% PASS
total/synth/PUSH12/p1 0.00 0.00 +0.1% PASS
total/synth/PUSH13/p0 0.00 0.00 +5.6% PASS
total/synth/PUSH13/p1 0.00 0.00 -2.0% PASS
total/synth/PUSH14/p0 0.00 0.00 -2.7% PASS
total/synth/PUSH14/p1 0.00 0.00 +0.8% PASS
total/synth/PUSH15/p0 0.00 0.00 -5.3% PASS
total/synth/PUSH15/p1 0.00 0.00 -4.1% PASS
total/synth/PUSH16/p0 0.00 0.00 +2.0% PASS
total/synth/PUSH16/p1 0.00 0.00 -0.2% PASS
total/synth/PUSH17/p0 0.00 0.00 +1.7% PASS
total/synth/PUSH17/p1 0.00 0.00 -1.2% PASS
total/synth/PUSH18/p0 0.00 0.00 -7.3% PASS
total/synth/PUSH18/p1 0.00 0.00 +2.3% PASS
total/synth/PUSH19/p0 0.00 0.00 +1.0% PASS
total/synth/PUSH19/p1 0.00 0.00 +6.1% PASS
total/synth/PUSH2/p0 0.00 0.00 -1.1% PASS
total/synth/PUSH2/p1 0.00 0.00 -4.8% PASS
total/synth/PUSH20/p0 0.00 0.00 -4.1% PASS
total/synth/PUSH20/p1 0.00 0.00 -4.2% PASS
total/synth/PUSH21/p0 0.00 0.00 +8.6% PASS
total/synth/PUSH21/p1 0.00 0.00 -2.9% PASS
total/synth/PUSH22/p0 1.52 1.52 -0.2% PASS
total/synth/PUSH22/p1 1.43 1.42 -0.2% PASS
total/synth/PUSH23/p0 1.54 1.48 -3.5% PASS
total/synth/PUSH23/p1 1.84 1.66 -10.0% PASS
total/synth/PUSH24/p0 1.01 1.02 +0.8% PASS
total/synth/PUSH24/p1 1.83 1.80 -1.9% PASS
total/synth/PUSH25/p0 1.50 1.50 -0.2% PASS
total/synth/PUSH25/p1 1.39 1.34 -3.9% PASS
total/synth/PUSH26/p0 1.51 1.49 -0.8% PASS
total/synth/PUSH26/p1 1.86 1.88 +1.1% PASS
total/synth/PUSH27/p0 1.03 1.01 -2.0% PASS
total/synth/PUSH27/p1 1.70 1.98 +16.3% PASS
total/synth/PUSH28/p0 1.51 1.49 -1.5% PASS
total/synth/PUSH28/p1 1.35 1.33 -1.4% PASS
total/synth/PUSH29/p0 1.68 1.51 -10.2% PASS
total/synth/PUSH29/p1 1.80 1.80 -0.1% PASS
total/synth/PUSH3/p0 0.00 0.00 +0.7% PASS
total/synth/PUSH3/p1 0.00 0.00 +0.0% PASS
total/synth/PUSH30/p0 1.02 1.01 -0.8% PASS
total/synth/PUSH30/p1 1.78 1.65 -7.1% PASS
total/synth/PUSH31/p0 1.67 1.50 -10.2% PASS
total/synth/PUSH31/p1 1.46 1.37 -6.0% PASS
total/synth/PUSH32/p0 1.51 1.51 -0.5% PASS
total/synth/PUSH32/p1 1.77 1.70 -4.1% PASS
total/synth/PUSH4/p0 0.00 0.00 -1.7% PASS
total/synth/PUSH4/p1 0.00 0.00 +0.3% PASS
total/synth/PUSH5/p0 0.00 0.00 -1.8% PASS
total/synth/PUSH5/p1 0.00 0.00 +2.5% PASS
total/synth/PUSH6/p0 0.00 0.00 +0.3% PASS
total/synth/PUSH6/p1 0.00 0.00 +0.1% PASS
total/synth/PUSH7/p0 0.00 0.00 +0.7% PASS
total/synth/PUSH7/p1 0.00 0.00 -0.5% PASS
total/synth/PUSH8/p0 0.00 0.00 -0.6% PASS
total/synth/PUSH8/p1 0.00 0.00 -9.4% PASS
total/synth/PUSH9/p0 0.00 0.00 +0.7% PASS
total/synth/PUSH9/p1 0.00 0.00 +3.1% PASS
total/synth/RETURNDATASIZE/a0 0.04 0.05 +0.0% PASS
total/synth/RETURNDATASIZE/a1 0.06 0.06 -2.1% PASS
total/synth/SAR/b0 0.00 0.00 +0.1% PASS
total/synth/SAR/b1 0.00 0.00 -0.0% PASS
total/synth/SGT/b0 0.00 0.00 +0.6% PASS
total/synth/SGT/b1 0.00 0.00 -0.3% PASS
total/synth/SHL/b0 0.00 0.00 +0.2% PASS
total/synth/SHL/b1 0.00 0.00 +1.0% PASS
total/synth/SHR/b0 0.00 0.00 +1.0% PASS
total/synth/SHR/b1 0.00 0.00 -0.8% PASS
total/synth/SIGNEXTEND/b0 0.00 0.00 +0.1% PASS
total/synth/SIGNEXTEND/b1 0.00 0.00 -0.3% PASS
total/synth/SLT/b0 0.00 0.00 +0.1% PASS
total/synth/SLT/b1 0.00 0.00 -2.6% PASS
total/synth/SUB/b0 0.00 0.00 +0.0% PASS
total/synth/SUB/b1 0.00 0.00 -1.5% PASS
total/synth/SWAP1/s0 0.00 0.00 +0.2% PASS
total/synth/SWAP10/s0 0.00 0.00 +1.1% PASS
total/synth/SWAP11/s0 0.00 0.00 +0.7% PASS
total/synth/SWAP12/s0 0.00 0.00 +7.3% PASS
total/synth/SWAP13/s0 0.00 0.00 +0.2% PASS
total/synth/SWAP14/s0 0.00 0.00 -0.6% PASS
total/synth/SWAP15/s0 0.00 0.00 -2.8% PASS
total/synth/SWAP16/s0 0.00 0.00 +0.8% PASS
total/synth/SWAP2/s0 0.00 0.00 -2.5% PASS
total/synth/SWAP3/s0 0.00 0.00 -0.6% PASS
total/synth/SWAP4/s0 0.00 0.00 +0.1% PASS
total/synth/SWAP5/s0 0.00 0.00 -0.1% PASS
total/synth/SWAP6/s0 0.00 0.00 -1.4% PASS
total/synth/SWAP7/s0 0.00 0.00 +0.5% PASS
total/synth/SWAP8/s0 0.00 0.00 +1.0% PASS
total/synth/SWAP9/s0 0.00 0.00 -0.2% PASS
total/synth/XOR/b0 0.00 0.00 +0.0% PASS
total/synth/XOR/b1 0.00 0.00 -4.5% PASS
total/synth/loop_v1 6.94 6.92 -0.1% PASS
total/synth/loop_v2 7.57 6.91 -8.8% PASS

Summary: 194 benchmarks, 0 regressions


Codex Merge Simulation added 5 commits August 20, 2026 06:01
Freeze the final Osaka stable fixture and define fail-closed, dual-engine acceptance criteria for every mainnet EVM revision from Frontier through Osaka.

Refs DTVMStack#600
Organize the large Frontier-to-Osaka effort into independently testable and reversible Conventional Commits without an artificial count limit.

Refs DTVMStack#600
Recognize Osaka in state fixtures, reject unknown fork names, expose Prague in the CLI, and advance default execution to the current Osaka revision.

Add regressions for fail-closed fork mapping and default Osaka opcode availability.

Refs DTVMStack#600
@ECNUyhy ECNUyhy changed the title fix(test): restore revision-aware state-test semantics feat(evm): validate all revisions through Osaka Aug 22, 2026
@ECNUyhy
ECNUyhy force-pushed the fix/evm-revision-aware-state-tests branch from 4e3a0bc to 688cc4c Compare August 22, 2026 15:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant