-
Notifications
You must be signed in to change notification settings - Fork 589
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add stack memory profiling * Move the CallInputs preparation into a separate function This makes the stack footprint of the solidity function calls much smaller * Simplified the call_inner functions in Host and EVMImpl Simplification of the functions ensures that the stack is being kept more lean. Also boxed some variables. These changes allow running the currently blowing transactions with the default stack size. * Remove debug logging * Removed an unused import * Optimized the stack allocations of create and call opcodes * Remove the stacker crate * Remove temp debug tracing * Trace the EVM stack depth * Fix the memory limit feature and the snailtracer bin * Fix the formatting * Remove the handle_ functions These functions does not impact the stack memory footprint * Remove the bytecode from the CALL preparation The bytecode is included in the returned contract, so there is no need to return it. * Use let-else and match to handle error cases * Cloning the bytecode structs across fn calls is ok * Refactor the inner create return types * Refactor the prepare call data into a struct * In debug mode the revm needs 4MB of stack After the latest simplifications of the stack optimizations, the stack memory footprint increased. * Fix clippy warnings * Fix `cargo check` warnings * Remove debug logging * Make the internal structs private * add newer cargo.lock * cargo fmt with updated cargo --------- Co-authored-by: rakita <dragan0rakita@gmail.com>
- Loading branch information
Showing
6 changed files
with
309 additions
and
113 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,4 +13,4 @@ codegen-units = 1 | |
|
||
[profile.ethtests] | ||
inherits = "test" | ||
opt-level = 3 | ||
opt-level = 3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.