Skip to content

perf(evm): relax jit fallback thresholds for benchmark corpus#430

Merged
zoowii merged 7 commits intoDTVMStack:mainfrom
abmcar:perf/relax-jit-fallback-thresholds
Apr 13, 2026
Merged

perf(evm): relax jit fallback thresholds for benchmark corpus#430
zoowii merged 7 commits intoDTVMStack:mainfrom
abmcar:perf/relax-jit-fallback-thresholds

Conversation

@abmcar
Copy link
Copy Markdown
Contributor

@abmcar abmcar commented Mar 24, 2026

Summary

  • relax EVM JIT precompile fallback MIR / RA thresholds
  • keep the bytecode-size cap unchanged
  • keep the current evmone benchmark corpus on the JIT path, including micro/signextend

Validation

  • static analyzer sweep over the current benchmark corpus reports fallback_contracts=0
  • cmake --build build -j4
  • full external/total benchmark comparison against the old thresholds
    • geomean: +0.28%
    • sum ratio: +0.69%
    • former fallback-heavy cases are mixed: memory_grow_mstore/* improves, while signextend/* and snailtracer regress slightly

Copilot AI review requested due to automatic review settings March 24, 2026 05:43
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adjusts the EVM JIT precompile fallback thresholds in EVMAnalyzer to keep the existing evmone benchmark corpus on the JIT path (while preserving the bytecode-size cap).

Changes:

  • Raised MIR-estimate and RA-pattern fallback thresholds used to decide when to force interpreter execution.
  • Updated the in-header documentation describing the intent behind these thresholds.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/compiler/evm_frontend/evm_analyzer.h Outdated
Comment thread src/compiler/evm_frontend/evm_analyzer.h Outdated
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 24, 2026

⚡ 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 1.50 1.51 +0.4% PASS
total/main/blake2b_huff/empty 0.02 0.02 -0.5% PASS
total/main/blake2b_shifts/8415nulls 11.79 11.68 -0.9% PASS
total/main/sha1_divs/5311 5.15 5.15 +0.0% PASS
total/main/sha1_divs/empty 0.06 0.06 -0.9% PASS
total/main/sha1_shifts/5311 2.84 2.81 -1.1% PASS
total/main/sha1_shifts/empty 0.03 0.04 +1.3% PASS
total/main/snailtracer/benchmark 52.30 52.46 +0.3% PASS
total/main/structarray_alloc/nfts_rank 0.95 0.96 +0.8% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 -0.1% PASS
total/main/swap_math/received 0.00 0.00 -0.1% PASS
total/main/swap_math/spent 0.00 0.00 +0.5% PASS
total/main/weierstrudel/1 0.29 0.29 +0.3% PASS
total/main/weierstrudel/15 3.16 3.16 +0.2% PASS
total/micro/JUMPDEST_n0/empty 1.47 1.47 +0.2% PASS
total/micro/jump_around/empty 0.09 0.09 +0.9% PASS
total/micro/loop_with_many_jumpdests/empty 22.43 22.46 +0.2% PASS
total/micro/memory_grow_mload/by1 0.09 0.09 +0.2% PASS
total/micro/memory_grow_mload/by16 0.09 0.09 -0.1% PASS
total/micro/memory_grow_mload/by32 0.11 0.11 +4.3% PASS
total/micro/memory_grow_mload/nogrow 0.09 0.09 +2.0% PASS
total/micro/memory_grow_mstore/by1 0.09 0.09 -0.1% PASS
total/micro/memory_grow_mstore/by16 0.10 0.10 -0.0% PASS
total/micro/memory_grow_mstore/by32 0.12 0.12 +4.8% PASS
total/micro/memory_grow_mstore/nogrow 0.09 0.09 +0.1% PASS
total/micro/signextend/one 0.23 0.25 +8.8% PASS
total/micro/signextend/zero 0.23 0.25 +8.7% PASS
total/synth/ADD/b0 1.98 1.98 -0.0% PASS
total/synth/ADD/b1 1.97 1.96 -0.1% PASS
total/synth/ADDRESS/a0 4.99 4.98 -0.3% PASS
total/synth/ADDRESS/a1 5.31 5.34 +0.7% PASS
total/synth/AND/b0 1.71 1.71 +0.1% PASS
total/synth/AND/b1 1.71 1.71 +0.0% PASS
total/synth/BYTE/b0 6.08 6.08 -0.0% PASS
total/synth/BYTE/b1 4.74 4.74 +0.0% PASS
total/synth/CALLDATASIZE/a0 3.11 3.34 +7.6% PASS
total/synth/CALLDATASIZE/a1 4.06 4.09 +0.8% PASS
total/synth/CALLER/a0 4.93 4.96 +0.6% PASS
total/synth/CALLER/a1 5.30 5.35 +0.8% PASS
total/synth/CALLVALUE/a0 3.50 3.50 +0.1% PASS
total/synth/CALLVALUE/a1 3.51 3.29 -6.4% PASS
total/synth/CODESIZE/a0 3.87 3.67 -5.2% PASS
total/synth/CODESIZE/a1 3.92 3.93 +0.1% PASS
total/synth/DUP1/d0 1.14 1.05 -8.2% PASS
total/synth/DUP1/d1 1.31 1.31 +0.1% PASS
total/synth/DUP10/d0 1.15 1.15 +0.1% PASS
total/synth/DUP10/d1 0.99 1.00 +0.1% PASS
total/synth/DUP11/d0 1.15 0.91 -20.8% PASS
total/synth/DUP11/d1 1.00 1.23 +23.2% PASS
total/synth/DUP12/d0 1.15 0.90 -21.0% PASS
total/synth/DUP12/d1 1.23 1.23 +0.0% PASS
total/synth/DUP13/d0 1.23 0.99 -19.5% PASS
total/synth/DUP13/d1 1.23 1.23 -0.0% PASS
total/synth/DUP14/d0 1.15 1.15 +0.0% PASS
total/synth/DUP14/d1 1.00 1.00 -0.0% PASS
total/synth/DUP15/d0 1.15 1.23 +6.9% PASS
total/synth/DUP15/d1 1.00 0.99 -1.0% PASS
total/synth/DUP16/d0 1.15 1.22 +6.3% PASS
total/synth/DUP16/d1 1.00 1.23 +23.4% PASS
total/synth/DUP2/d0 1.14 1.14 -0.2% PASS
total/synth/DUP2/d1 1.23 1.23 -0.0% PASS
total/synth/DUP3/d0 0.90 1.14 +26.4% PASS
total/synth/DUP3/d1 1.23 1.23 +0.0% PASS
total/synth/DUP4/d0 1.14 0.98 -14.0% PASS
total/synth/DUP4/d1 1.23 1.23 +0.0% PASS
total/synth/DUP5/d0 1.14 1.10 -3.4% PASS
total/synth/DUP5/d1 0.99 0.99 -0.1% PASS
total/synth/DUP6/d0 1.14 1.14 -0.0% PASS
total/synth/DUP6/d1 1.23 1.23 +0.0% PASS
total/synth/DUP7/d0 1.23 1.14 -6.6% PASS
total/synth/DUP7/d1 0.99 0.99 -0.0% PASS
total/synth/DUP8/d0 1.15 1.14 -0.3% PASS
total/synth/DUP8/d1 1.23 1.23 -0.1% PASS
total/synth/DUP9/d0 1.15 0.98 -14.0% PASS
total/synth/DUP9/d1 1.00 1.23 +23.5% PASS
total/synth/EQ/b0 2.76 2.76 +0.0% PASS
total/synth/EQ/b1 1.39 1.39 -0.1% PASS
total/synth/GAS/a0 3.91 3.87 -0.9% PASS
total/synth/GAS/a1 3.92 3.93 +0.1% PASS
total/synth/GT/b0 2.62 2.62 -0.0% PASS
total/synth/GT/b1 1.47 1.47 -0.0% PASS
total/synth/ISZERO/u0 1.15 1.15 +0.0% PASS
total/synth/JUMPDEST/n0 1.48 1.47 -0.6% PASS
total/synth/LT/b0 2.61 2.61 -0.0% PASS
total/synth/LT/b1 1.47 1.47 +0.1% PASS
total/synth/MSIZE/a0 4.25 4.25 +0.2% PASS
total/synth/MSIZE/a1 4.74 4.75 +0.0% PASS
total/synth/MUL/b0 5.34 5.33 -0.1% PASS
total/synth/MUL/b1 5.39 5.39 +0.0% PASS
total/synth/NOT/u0 1.69 1.69 +0.3% PASS
total/synth/OR/b0 1.64 1.64 +0.0% PASS
total/synth/OR/b1 1.71 1.71 -0.1% PASS
total/synth/PC/a0 3.18 3.18 -0.1% PASS
total/synth/PC/a1 3.77 3.63 -3.8% PASS
total/synth/PUSH1/p0 1.18 1.15 -2.9% PASS
total/synth/PUSH1/p1 1.28 1.07 -16.2% PASS
total/synth/PUSH10/p0 1.23 1.15 -6.6% PASS
total/synth/PUSH10/p1 1.34 1.35 +0.7% PASS
total/synth/PUSH11/p0 0.97 1.15 +17.9% PASS
total/synth/PUSH11/p1 1.31 1.33 +1.6% PASS
total/synth/PUSH12/p0 1.22 1.15 -5.8% PASS
total/synth/PUSH12/p1 1.31 1.35 +3.1% PASS
total/synth/PUSH13/p0 1.20 1.15 -4.3% PASS
total/synth/PUSH13/p1 1.32 1.33 +0.5% PASS
total/synth/PUSH14/p0 1.16 1.00 -14.1% PASS
total/synth/PUSH14/p1 1.35 1.33 -1.4% PASS
total/synth/PUSH15/p0 1.15 1.15 +0.4% PASS
total/synth/PUSH15/p1 1.42 1.40 -1.6% PASS
total/synth/PUSH16/p0 0.99 1.15 +16.2% PASS
total/synth/PUSH16/p1 1.33 1.36 +2.3% PASS
total/synth/PUSH17/p0 1.15 0.95 -17.4% PASS
total/synth/PUSH17/p1 1.32 1.35 +2.5% PASS
total/synth/PUSH18/p0 1.15 1.15 +0.0% PASS
total/synth/PUSH18/p1 1.33 1.30 -1.7% PASS
total/synth/PUSH19/p0 1.15 1.15 +0.1% PASS
total/synth/PUSH19/p1 1.33 1.34 +0.2% PASS
total/synth/PUSH2/p0 1.12 1.15 +2.5% PASS
total/synth/PUSH2/p1 1.32 1.29 -1.6% PASS
total/synth/PUSH20/p0 0.95 1.15 +20.2% PASS
total/synth/PUSH20/p1 1.32 1.31 -0.7% PASS
total/synth/PUSH21/p0 1.15 1.15 +0.1% PASS
total/synth/PUSH21/p1 1.34 1.34 -0.5% PASS
total/synth/PUSH22/p0 1.23 1.15 -6.6% PASS
total/synth/PUSH22/p1 1.34 1.34 -0.2% PASS
total/synth/PUSH23/p0 1.22 1.15 -6.0% PASS
total/synth/PUSH23/p1 1.34 1.34 +0.2% PASS
total/synth/PUSH24/p0 1.15 1.15 +0.1% PASS
total/synth/PUSH24/p1 1.35 1.32 -2.7% PASS
total/synth/PUSH25/p0 1.15 1.18 +2.6% PASS
total/synth/PUSH25/p1 1.32 1.37 +3.5% PASS
total/synth/PUSH26/p0 1.15 1.08 -5.3% PASS
total/synth/PUSH26/p1 1.31 1.32 +0.8% PASS
total/synth/PUSH27/p0 0.93 1.15 +22.9% PASS
total/synth/PUSH27/p1 1.30 1.36 +4.7% PASS
total/synth/PUSH28/p0 1.22 1.16 -4.4% PASS
total/synth/PUSH28/p1 1.34 1.35 +0.8% PASS
total/synth/PUSH29/p0 1.01 1.15 +13.5% PASS
total/synth/PUSH29/p1 1.34 1.37 +1.8% PASS
total/synth/PUSH3/p0 1.23 1.07 -12.6% PASS
total/synth/PUSH3/p1 1.32 1.32 +0.0% PASS
total/synth/PUSH30/p0 1.00 1.15 +14.8% PASS
total/synth/PUSH30/p1 1.33 1.35 +1.4% PASS
total/synth/PUSH31/p0 1.15 1.04 -9.3% PASS
total/synth/PUSH31/p1 1.44 1.51 +4.8% PASS
total/synth/PUSH32/p0 1.15 1.13 -1.2% PASS
total/synth/PUSH32/p1 1.35 1.12 -16.8% PASS
total/synth/PUSH4/p0 1.15 1.07 -7.1% PASS
total/synth/PUSH4/p1 1.32 1.33 +0.6% PASS
total/synth/PUSH5/p0 0.99 1.15 +16.3% PASS
total/synth/PUSH5/p1 1.32 1.36 +2.9% PASS
total/synth/PUSH6/p0 1.15 1.15 +0.0% PASS
total/synth/PUSH6/p1 1.32 1.32 -0.1% PASS
total/synth/PUSH7/p0 1.23 1.15 -6.6% PASS
total/synth/PUSH7/p1 1.33 1.33 +0.3% PASS
total/synth/PUSH8/p0 1.15 1.15 +0.1% PASS
total/synth/PUSH8/p1 1.34 1.34 +0.6% PASS
total/synth/PUSH9/p0 1.23 1.15 -6.5% PASS
total/synth/PUSH9/p1 1.32 1.37 +3.4% PASS
total/synth/RETURNDATASIZE/a0 3.74 3.75 +0.1% PASS
total/synth/RETURNDATASIZE/a1 3.76 3.76 +0.2% PASS
total/synth/SAR/b0 3.77 3.77 +0.1% PASS
total/synth/SAR/b1 4.30 4.30 -0.1% PASS
total/synth/SGT/b0 2.60 2.60 -0.1% PASS
total/synth/SGT/b1 1.63 1.63 +0.0% PASS
total/synth/SHL/b0 3.03 3.03 +0.0% PASS
total/synth/SHL/b1 1.59 1.59 +0.1% PASS
total/synth/SHR/b0 2.93 2.93 +0.2% PASS
total/synth/SHR/b1 1.55 1.55 -0.0% PASS
total/synth/SIGNEXTEND/b0 3.29 3.24 -1.5% PASS
total/synth/SIGNEXTEND/b1 3.44 3.21 -6.6% PASS
total/synth/SLT/b0 2.60 2.59 -0.1% PASS
total/synth/SLT/b1 1.63 1.63 +0.0% PASS
total/synth/SUB/b0 1.98 1.98 +0.1% PASS
total/synth/SUB/b1 1.96 1.96 -0.0% PASS
total/synth/SWAP1/s0 1.49 1.49 -0.0% PASS
total/synth/SWAP10/s0 1.51 1.50 -0.4% PASS
total/synth/SWAP11/s0 1.50 1.50 +0.1% PASS
total/synth/SWAP12/s0 1.50 1.50 -0.0% PASS
total/synth/SWAP13/s0 1.50 1.50 -0.1% PASS
total/synth/SWAP14/s0 1.51 1.51 -0.1% PASS
total/synth/SWAP15/s0 1.51 1.50 -0.1% PASS
total/synth/SWAP16/s0 1.51 1.51 +0.1% PASS
total/synth/SWAP2/s0 1.49 1.49 -0.0% PASS
total/synth/SWAP3/s0 1.49 1.49 +0.2% PASS
total/synth/SWAP4/s0 1.49 1.49 -0.1% PASS
total/synth/SWAP5/s0 1.50 1.49 -0.2% PASS
total/synth/SWAP6/s0 1.50 1.49 -0.2% PASS
total/synth/SWAP7/s0 1.50 1.50 -0.1% PASS
total/synth/SWAP8/s0 1.50 1.50 +0.1% PASS
total/synth/SWAP9/s0 1.50 1.50 -0.0% PASS
total/synth/XOR/b0 1.55 1.55 +0.0% PASS
total/synth/XOR/b1 1.55 1.55 +0.2% PASS
total/synth/loop_v1 4.58 4.58 +0.1% PASS
total/synth/loop_v2 4.56 4.55 -0.2% 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.49 0.88 -40.6% PASS
total/main/blake2b_huff/empty 0.02 0.02 -36.9% PASS
total/main/blake2b_shifts/8415nulls 4.57 4.59 +0.4% PASS
total/main/sha1_divs/5311 0.62 0.62 +0.0% PASS
total/main/sha1_divs/empty 0.01 0.01 +0.2% PASS
total/main/sha1_shifts/5311 0.55 0.55 +0.2% PASS
total/main/sha1_shifts/empty 0.01 0.01 +0.2% PASS
total/main/snailtracer/benchmark 52.96 31.96 -39.6% PASS
total/main/structarray_alloc/nfts_rank 0.29 0.29 -0.6% PASS
total/main/swap_math/insufficient_liquidity 0.00 0.00 +0.3% PASS
total/main/swap_math/received 0.00 0.00 +0.8% PASS
total/main/swap_math/spent 0.00 0.00 +0.4% PASS
total/main/weierstrudel/1 0.29 0.24 -15.7% PASS
total/main/weierstrudel/15 3.16 2.61 -17.5% PASS
total/micro/JUMPDEST_n0/empty 0.00 0.00 +0.3% PASS
total/micro/jump_around/empty 0.09 0.09 +0.6% PASS
total/micro/loop_with_many_jumpdests/empty 0.00 0.00 +0.1% PASS
total/micro/memory_grow_mload/by1 0.08 0.01 -86.3% PASS
total/micro/memory_grow_mload/by16 0.09 0.01 -86.9% PASS
total/micro/memory_grow_mload/by32 0.11 0.01 -87.7% PASS
total/micro/memory_grow_mload/nogrow 0.08 0.01 -86.1% PASS
total/micro/memory_grow_mstore/by1 0.09 0.01 -84.1% PASS
total/micro/memory_grow_mstore/by16 0.10 0.02 -85.5% PASS
total/micro/memory_grow_mstore/by32 0.12 0.02 -86.8% PASS
total/micro/memory_grow_mstore/nogrow 0.09 0.01 -84.0% PASS
total/micro/signextend/one 0.25 0.07 -71.2% PASS
total/micro/signextend/zero 0.25 0.07 -71.3% PASS
total/synth/ADD/b0 0.00 0.00 +0.1% PASS
total/synth/ADD/b1 0.00 0.00 +0.0% PASS
total/synth/ADDRESS/a0 0.15 0.15 -0.0% PASS
total/synth/ADDRESS/a1 0.15 0.15 +0.1% PASS
total/synth/AND/b0 0.00 0.00 +1.5% PASS
total/synth/AND/b1 0.00 0.00 +0.4% PASS
total/synth/BYTE/b0 0.00 0.00 +0.2% PASS
total/synth/BYTE/b1 0.00 0.00 +0.3% PASS
total/synth/CALLDATASIZE/a0 0.07 0.07 +0.0% PASS
total/synth/CALLDATASIZE/a1 0.07 0.07 -0.1% PASS
total/synth/CALLER/a0 0.18 0.18 +0.0% PASS
total/synth/CALLER/a1 0.18 0.18 +0.0% PASS
total/synth/CALLVALUE/a0 0.26 0.26 -0.1% PASS
total/synth/CALLVALUE/a1 0.27 0.27 -0.0% PASS
total/synth/CODESIZE/a0 0.07 0.07 -0.0% PASS
total/synth/CODESIZE/a1 0.07 0.07 +0.0% PASS
total/synth/DUP1/d0 0.00 0.00 +0.2% PASS
total/synth/DUP1/d1 0.00 0.00 +0.3% PASS
total/synth/DUP10/d0 0.00 0.00 -0.0% PASS
total/synth/DUP10/d1 0.00 0.00 +0.1% PASS
total/synth/DUP11/d0 0.00 0.00 +0.2% PASS
total/synth/DUP11/d1 0.00 0.00 +0.0% PASS
total/synth/DUP12/d0 0.00 0.00 +0.3% PASS
total/synth/DUP12/d1 0.00 0.00 -0.1% PASS
total/synth/DUP13/d0 0.00 0.00 +0.4% PASS
total/synth/DUP13/d1 0.00 0.00 -0.1% PASS
total/synth/DUP14/d0 0.00 0.00 +0.2% PASS
total/synth/DUP14/d1 0.00 0.00 +0.2% PASS
total/synth/DUP15/d0 0.00 0.00 -0.1% PASS
total/synth/DUP15/d1 0.00 0.00 -0.0% PASS
total/synth/DUP16/d0 0.00 0.00 -0.1% PASS
total/synth/DUP16/d1 0.00 0.00 -0.0% PASS
total/synth/DUP2/d0 0.00 0.00 +0.4% PASS
total/synth/DUP2/d1 0.00 0.00 +0.3% PASS
total/synth/DUP3/d0 0.00 0.00 +0.2% PASS
total/synth/DUP3/d1 0.00 0.00 +0.4% PASS
total/synth/DUP4/d0 0.00 0.00 +0.3% PASS
total/synth/DUP4/d1 0.00 0.00 +0.3% PASS
total/synth/DUP5/d0 0.00 0.00 +0.0% PASS
total/synth/DUP5/d1 0.00 0.00 +0.1% PASS
total/synth/DUP6/d0 0.00 0.00 +0.2% PASS
total/synth/DUP6/d1 0.00 0.00 +0.1% PASS
total/synth/DUP7/d0 0.00 0.00 -0.3% PASS
total/synth/DUP7/d1 0.00 0.00 +0.3% PASS
total/synth/DUP8/d0 0.00 0.00 +0.2% PASS
total/synth/DUP8/d1 0.00 0.00 +0.3% PASS
total/synth/DUP9/d0 0.00 0.00 +0.4% PASS
total/synth/DUP9/d1 0.00 0.00 -0.0% PASS
total/synth/EQ/b0 0.00 0.00 +0.3% PASS
total/synth/EQ/b1 0.00 0.00 -0.0% PASS
total/synth/GAS/a0 0.79 0.79 -0.0% PASS
total/synth/GAS/a1 0.76 0.76 +0.0% PASS
total/synth/GT/b0 0.00 0.00 +0.3% PASS
total/synth/GT/b1 0.00 0.00 +0.2% PASS
total/synth/ISZERO/u0 0.00 0.00 +0.1% PASS
total/synth/JUMPDEST/n0 0.00 0.00 +0.3% PASS
total/synth/LT/b0 0.00 0.00 -0.0% PASS
total/synth/LT/b1 0.00 0.00 +0.2% PASS
total/synth/MSIZE/a0 0.00 0.00 +0.3% PASS
total/synth/MSIZE/a1 0.00 0.00 +0.4% PASS
total/synth/MUL/b0 0.00 0.00 -0.3% PASS
total/synth/MUL/b1 0.00 0.00 +0.3% PASS
total/synth/NOT/u0 0.00 0.00 +0.4% PASS
total/synth/OR/b0 0.00 0.00 -0.2% PASS
total/synth/OR/b1 0.00 0.00 +0.0% PASS
total/synth/PC/a0 0.00 0.00 -0.2% PASS
total/synth/PC/a1 0.00 0.00 +0.5% PASS
total/synth/PUSH1/p0 0.00 0.00 +0.2% PASS
total/synth/PUSH1/p1 0.00 0.00 +0.2% PASS
total/synth/PUSH10/p0 0.00 0.00 +0.3% PASS
total/synth/PUSH10/p1 0.00 0.00 +0.1% PASS
total/synth/PUSH11/p0 0.00 0.00 +0.4% PASS
total/synth/PUSH11/p1 0.00 0.00 +0.4% PASS
total/synth/PUSH12/p0 0.00 0.00 +0.4% PASS
total/synth/PUSH12/p1 0.00 0.00 +0.1% PASS
total/synth/PUSH13/p0 0.00 0.00 +0.1% PASS
total/synth/PUSH13/p1 0.00 0.00 -0.1% PASS
total/synth/PUSH14/p0 0.00 0.00 +0.2% PASS
total/synth/PUSH14/p1 0.00 0.00 +0.2% PASS
total/synth/PUSH15/p0 0.00 0.00 +0.4% PASS
total/synth/PUSH15/p1 0.00 0.00 +0.3% PASS
total/synth/PUSH16/p0 0.00 0.00 +0.4% PASS
total/synth/PUSH16/p1 0.00 0.00 +0.0% PASS
total/synth/PUSH17/p0 0.00 0.00 +0.3% PASS
total/synth/PUSH17/p1 0.00 0.00 +0.2% PASS
total/synth/PUSH18/p0 0.00 0.00 +0.4% PASS
total/synth/PUSH18/p1 0.00 0.00 +0.3% PASS
total/synth/PUSH19/p0 0.00 0.00 -0.3% PASS
total/synth/PUSH19/p1 0.00 0.00 +0.2% PASS
total/synth/PUSH2/p0 0.00 0.00 +0.4% PASS
total/synth/PUSH2/p1 0.00 0.00 +0.4% PASS
total/synth/PUSH20/p0 0.00 0.00 -0.1% PASS
total/synth/PUSH20/p1 0.00 0.00 +0.3% PASS
total/synth/PUSH21/p0 0.00 0.00 +0.1% PASS
total/synth/PUSH21/p1 0.00 0.00 +0.1% PASS
total/synth/PUSH22/p0 1.15 1.15 -0.3% PASS
total/synth/PUSH22/p1 1.34 1.34 +0.2% PASS
total/synth/PUSH23/p0 1.15 1.15 -0.0% PASS
total/synth/PUSH23/p1 1.37 1.35 -2.0% PASS
total/synth/PUSH24/p0 1.15 1.15 +0.1% PASS
total/synth/PUSH24/p1 1.34 1.34 -0.2% PASS
total/synth/PUSH25/p0 1.23 1.15 -6.6% PASS
total/synth/PUSH25/p1 1.34 1.34 -0.2% PASS
total/synth/PUSH26/p0 0.88 1.15 +30.4% PASS
total/synth/PUSH26/p1 1.34 1.36 +1.4% PASS
total/synth/PUSH27/p0 1.15 1.15 -0.2% PASS
total/synth/PUSH27/p1 1.34 1.37 +1.8% PASS
total/synth/PUSH28/p0 1.15 1.15 -0.1% PASS
total/synth/PUSH28/p1 1.35 1.36 +1.0% PASS
total/synth/PUSH29/p0 1.15 1.15 +0.1% PASS
total/synth/PUSH29/p1 1.35 1.34 -0.6% PASS
total/synth/PUSH3/p0 0.00 0.00 +0.4% PASS
total/synth/PUSH3/p1 0.00 0.00 +0.3% PASS
total/synth/PUSH30/p0 1.17 1.21 +4.1% PASS
total/synth/PUSH30/p1 1.35 1.36 +1.2% PASS
total/synth/PUSH31/p0 1.15 1.15 -0.1% PASS
total/synth/PUSH31/p1 1.45 1.46 +0.8% PASS
total/synth/PUSH32/p0 1.15 1.15 -0.1% PASS
total/synth/PUSH32/p1 1.37 1.37 -0.3% PASS
total/synth/PUSH4/p0 0.00 0.00 -0.1% PASS
total/synth/PUSH4/p1 0.00 0.00 +0.3% PASS
total/synth/PUSH5/p0 0.00 0.00 -0.0% PASS
total/synth/PUSH5/p1 0.00 0.00 +0.3% PASS
total/synth/PUSH6/p0 0.00 0.00 +0.3% PASS
total/synth/PUSH6/p1 0.00 0.00 -0.0% PASS
total/synth/PUSH7/p0 0.00 0.00 +0.3% PASS
total/synth/PUSH7/p1 0.00 0.00 +0.2% PASS
total/synth/PUSH8/p0 0.00 0.00 +0.1% PASS
total/synth/PUSH8/p1 0.00 0.00 +0.1% PASS
total/synth/PUSH9/p0 0.00 0.00 +0.3% PASS
total/synth/PUSH9/p1 0.00 0.00 -0.3% PASS
total/synth/RETURNDATASIZE/a0 0.03 0.03 -0.1% PASS
total/synth/RETURNDATASIZE/a1 0.03 0.03 +0.1% PASS
total/synth/SAR/b0 3.77 5.94 +57.5% PASS
total/synth/SAR/b1 4.31 6.78 +57.4% PASS
total/synth/SGT/b0 0.00 0.00 -0.0% PASS
total/synth/SGT/b1 0.00 0.00 +0.2% PASS
total/synth/SHL/b0 3.03 12.71 +319.4% PASS
total/synth/SHL/b1 1.60 12.76 +699.2% PASS
total/synth/SHR/b0 2.93 10.93 +272.4% PASS
total/synth/SHR/b1 1.55 11.12 +617.4% PASS
total/synth/SIGNEXTEND/b0 3.02 0.00 -100.0% PASS
total/synth/SIGNEXTEND/b1 3.21 0.00 -100.0% PASS
total/synth/SLT/b0 0.00 0.00 +0.3% PASS
total/synth/SLT/b1 0.00 0.00 +0.2% PASS
total/synth/SUB/b0 0.00 0.00 +0.4% PASS
total/synth/SUB/b1 0.00 0.00 +0.3% PASS
total/synth/SWAP1/s0 0.00 0.00 +1.0% PASS
total/synth/SWAP10/s0 0.00 0.00 +0.0% PASS
total/synth/SWAP11/s0 0.00 0.00 +0.5% PASS
total/synth/SWAP12/s0 0.00 0.00 +0.1% PASS
total/synth/SWAP13/s0 0.00 0.00 +0.4% PASS
total/synth/SWAP14/s0 0.00 0.00 -0.0% PASS
total/synth/SWAP15/s0 0.00 0.00 +0.5% PASS
total/synth/SWAP16/s0 0.00 0.00 -0.3% PASS
total/synth/SWAP2/s0 0.00 0.00 +0.4% PASS
total/synth/SWAP3/s0 0.00 0.00 -0.0% PASS
total/synth/SWAP4/s0 0.00 0.00 +0.0% PASS
total/synth/SWAP5/s0 0.00 0.00 +0.2% PASS
total/synth/SWAP6/s0 0.00 0.00 +0.3% PASS
total/synth/SWAP7/s0 0.00 0.00 +0.2% PASS
total/synth/SWAP8/s0 0.00 0.00 +0.5% PASS
total/synth/SWAP9/s0 0.00 0.00 +0.3% PASS
total/synth/XOR/b0 0.00 0.00 +0.2% PASS
total/synth/XOR/b1 0.00 0.00 +0.3% PASS
total/synth/loop_v1 1.17 1.18 +0.4% PASS
total/synth/loop_v2 1.10 1.10 +0.2% PASS

Summary: 194 benchmarks, 0 regressions


abmcar pushed a commit to abmcar/DTVM that referenced this pull request Mar 27, 2026
abmcar pushed a commit to abmcar/DTVM that referenced this pull request Apr 8, 2026
@abmcar abmcar force-pushed the perf/relax-jit-fallback-thresholds branch from 9633dc3 to fef02d4 Compare April 8, 2026 11:36
@abmcar abmcar requested a review from Copilot April 9, 2026 04:36
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/compiler/evm_frontend/evm_analyzer.h Outdated
Comment thread docs/changes/README.md Outdated
Comment thread docs/changes/2026-03-24-relax-jit-fallback-thresholds/README.md
Comment thread docs/changes/2026-03-24-relax-jit-fallback-thresholds/README.md
Comment thread docs/changes/2026-03-24-relax-jit-fallback-thresholds/README.md
abmcar added a commit to abmcar/DTVM that referenced this pull request Apr 9, 2026
Sync threshold values in docs/modules/compiler/ with the implementation
changes from PR DTVMStack#430.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ZR74 and others added 6 commits April 10, 2026 21:52
Keep the bytecode size cap unchanged while raising the MIR and RA pattern limits.

This keeps the current evmone benchmark corpus on the JIT path, including the pathological signextend micro benchmark.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add decimal annotations to hex threshold constants
- Rewrite threshold comment to describe invariant, not benchmark corpus
- Fix change doc: clarify execution strategy impact, correct module reference

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sync threshold values in docs/modules/compiler/ with the implementation
changes from PR DTVMStack#430.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Align with PR DTVMStack#428 to eliminate cross-PR merge conflicts on the
shared table row.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@abmcar abmcar force-pushed the perf/relax-jit-fallback-thresholds branch from 6245904 to dd61694 Compare April 10, 2026 13:58
@zoowii zoowii merged commit 119435c into DTVMStack:main Apr 13, 2026
16 checks passed
@abmcar abmcar deleted the perf/relax-jit-fallback-thresholds branch April 14, 2026 06:56
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.

4 participants