Paweł Bylica
Paweł Bylica
The lifetime of the `evmone::VM` is unnecessarily too short because it matches the lifetime of `EVM`. E.g. for historical block execution a new `EVM` is created for each block. `evmone::VM`...
The CodeAnalysis cache (`EVM::analysis_cache`) can be also used for accounts' code cache because the `CodeAnalysis` object contains the code itself. The API is improved in #2370.
## 🗒️ Description This adds the benchmarks for EVM execution focused on binary instructions (takes two values, produces one). The benchmark has simple structure: the contract code is the infinite...
## 🗒️ Description This updates EIP-4750 (functions) tests to use `max_stack_increase` instead of `max_stack_height`. ## 🔗 Related Issues ## ✅ Checklist - [x] All: Set appropriate labels for the changes....
## 🗒️ Description This updates EIP-6206 (JUMPF) tests to use `max_stack_increase` instead of `max_stack_height`. In many places the value is correctly auto-computed so for these cases the explicit value is...
## 🗒️ Description ## 🔗 Related Issues ## ✅ Checklist - [ ] All: Set appropriate labels for the changes. - [ ] All: Considered squashing commits to improve commit...
I noticed that the `blst_p1_mult` API can take scalar of any size. But if the scalar value is not less than `BLS12_381_r` the implementation selects the slower "w5" algorithm. https://github.com/supranational/blst/blob/master/src/e1.c#L526-L527...
Construct analyzed code with single allocation. This replaces two allocations: one for the code copy and one for the jumpdest bitset with a single one of the following layout: -...
I noticed that the SHA256 implementation `sha_256_x86_sha()` for x86-64 with the `sha` extension is over 10x slower that the other implementation (`sha_256_x86_bmi()`). ``` evmone-statetest fixtures_static/fixtures/state_tests --gtest_filter=static/state_tests/stQuadraticComplexityTest.Call50000_sha256 ``` Gives 29.4s for...