contracts: Refactor the exec module (#8604)
* contracts: Add default implementation for Executable::occupied_storage() * contracts: Refactor the exec module * Let runtime specify the backing type of the call stack This removes the need for a runtime check of the specified `MaxDepth`. We can now garantuee that we don't need to allocate when a new call frame is pushed. * Fix doc typo Co-authored-by:Guillaume Thiolliere <gui.thiolliere@gmail.com> * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs * Review nits * Fix defect in contract info caching behaviour * Add more docs * Fix wording and typos Co-authored-by:
Guillaume Thiolliere <gui.thiolliere@gmail.com> Co-authored-by:
Parity Benchmarking Bot <admin@parity.io>
Showing
- substrate/Cargo.lock 1 addition, 0 deletionssubstrate/Cargo.lock
- substrate/bin/node/runtime/src/lib.rs 1 addition, 2 deletionssubstrate/bin/node/runtime/src/lib.rs
- substrate/frame/contracts/Cargo.toml 1 addition, 0 deletionssubstrate/frame/contracts/Cargo.toml
- substrate/frame/contracts/src/benchmarking/mod.rs 16 additions, 12 deletionssubstrate/frame/contracts/src/benchmarking/mod.rs
- substrate/frame/contracts/src/chain_extension.rs 3 additions, 3 deletionssubstrate/frame/contracts/src/chain_extension.rs
- substrate/frame/contracts/src/exec.rs 875 additions, 517 deletionssubstrate/frame/contracts/src/exec.rs
- substrate/frame/contracts/src/gas.rs 53 additions, 87 deletionssubstrate/frame/contracts/src/gas.rs
- substrate/frame/contracts/src/lib.rs 39 additions, 30 deletionssubstrate/frame/contracts/src/lib.rs
- substrate/frame/contracts/src/rent.rs 2 additions, 5 deletionssubstrate/frame/contracts/src/rent.rs
- substrate/frame/contracts/src/storage.rs 31 additions, 85 deletionssubstrate/frame/contracts/src/storage.rs
- substrate/frame/contracts/src/tests.rs 45 additions, 30 deletionssubstrate/frame/contracts/src/tests.rs
- substrate/frame/contracts/src/wasm/code_cache.rs 2 additions, 4 deletionssubstrate/frame/contracts/src/wasm/code_cache.rs
- substrate/frame/contracts/src/wasm/mod.rs 61 additions, 201 deletionssubstrate/frame/contracts/src/wasm/mod.rs
- substrate/frame/contracts/src/wasm/runtime.rs 95 additions, 117 deletionssubstrate/frame/contracts/src/wasm/runtime.rs
- substrate/frame/contracts/src/weights.rs 717 additions, 647 deletionssubstrate/frame/contracts/src/weights.rs
Please register or sign in to comment