bluealloy / revm

Rust implementation of the Ethereum Virtual Machine.
https://bluealloy.github.io/revm/
MIT License
1.64k stars 551 forks source link

feat(EOF): EOF Validation add code type and sub container tracker #1648

Closed rakita closed 3 months ago

rakita commented 3 months ago

Fixes RETURNCONTRACT imm checks. Adds validation that code either ReturnContrat or Stop and Return.

Update all EOF validation and statetest and run them in CL.

github-actions[bot] commented 3 months ago

Valgrind Results:

==4010== Cachegrind, a cache and branch-prediction profiler
==4010== Copyright (C) 2002-2017, and GNU GPL'd, by Nicholas Nethercote et al.
==4010== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==4010== Command: target/release/snailtracer
==4010== 
--4010-- warning: L3 cache found, using its data for the LL simulation.
Running snailtracer example!
elapsed: 1.821091586s
==4010== 
==4010== I   refs:      427,041,990
==4010== I1  misses:          4,177
==4010== LLi misses:          2,843
==4010== I1  miss rate:        0.00%
==4010== LLi miss rate:        0.00%
==4010== 
==4010== D   refs:      204,077,637  (132,269,166 rd   + 71,808,471 wr)
==4010== D1  misses:        340,013  (    200,035 rd   +    139,978 wr)
==4010== LLd misses:        137,817  (      4,495 rd   +    133,322 wr)
==4010== D1  miss rate:         0.2% (        0.2%     +        0.2%  )
==4010== LLd miss rate:         0.1% (        0.0%     +        0.2%  )
==4010== 
==4010== LL refs:           344,190  (    204,212 rd   +    139,978 wr)
==4010== LL misses:         140,660  (      7,338 rd   +    133,322 wr)
==4010== LL miss rate:          0.0% (        0.0%     +        0.2%  )