mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 12:51:02 +00:00
Companion for Substrate#12520 (#6730)
* Companion for Substrate#12520 https://github.com/paritytech/substrate/pull/12520 * Fix * update lockfile for {"substrate"} --------- Co-authored-by: parity-processbot <>
This commit is contained in:
Generated
+259
-227
File diff suppressed because it is too large
Load Diff
@@ -19,7 +19,7 @@
|
|||||||
use polkadot_primitives::vstaging::executor_params::{ExecutorParam, ExecutorParams};
|
use polkadot_primitives::vstaging::executor_params::{ExecutorParam, ExecutorParams};
|
||||||
use sc_executor_common::{
|
use sc_executor_common::{
|
||||||
runtime_blob::RuntimeBlob,
|
runtime_blob::RuntimeBlob,
|
||||||
wasm_runtime::{InvokeMethod, WasmModule as _},
|
wasm_runtime::{HeapAllocStrategy, InvokeMethod, WasmModule as _},
|
||||||
};
|
};
|
||||||
use sc_executor_wasmtime::{Config, DeterministicStackLimit, Semantics};
|
use sc_executor_wasmtime::{Config, DeterministicStackLimit, Semantics};
|
||||||
use sp_core::storage::{ChildInfo, TrackedStorageKey};
|
use sp_core::storage::{ChildInfo, TrackedStorageKey};
|
||||||
@@ -41,8 +41,8 @@ use std::{
|
|||||||
// The data section for runtimes are typically rather small and can fit in a single digit number of
|
// The data section for runtimes are typically rather small and can fit in a single digit number of
|
||||||
// WASM pages, so let's say an extra 16 pages. Thus let's assume that 32 pages or 2 MiB are used for
|
// WASM pages, so let's say an extra 16 pages. Thus let's assume that 32 pages or 2 MiB are used for
|
||||||
// these needs by default.
|
// these needs by default.
|
||||||
const DEFAULT_HEAP_PAGES_ESTIMATE: u64 = 32;
|
const DEFAULT_HEAP_PAGES_ESTIMATE: u32 = 32;
|
||||||
const EXTRA_HEAP_PAGES: u64 = 2048;
|
const EXTRA_HEAP_PAGES: u32 = 2048;
|
||||||
|
|
||||||
/// The number of bytes devoted for the stack during wasm execution of a PVF.
|
/// The number of bytes devoted for the stack during wasm execution of a PVF.
|
||||||
const NATIVE_STACK_MAX: u32 = 256 * 1024 * 1024;
|
const NATIVE_STACK_MAX: u32 = 256 * 1024 * 1024;
|
||||||
@@ -55,10 +55,9 @@ const DEFAULT_CONFIG: Config = Config {
|
|||||||
allow_missing_func_imports: true,
|
allow_missing_func_imports: true,
|
||||||
cache_path: None,
|
cache_path: None,
|
||||||
semantics: Semantics {
|
semantics: Semantics {
|
||||||
extra_heap_pages: EXTRA_HEAP_PAGES,
|
heap_alloc_strategy: sc_executor_common::wasm_runtime::HeapAllocStrategy::Dynamic {
|
||||||
|
maximum_pages: Some(DEFAULT_HEAP_PAGES_ESTIMATE + EXTRA_HEAP_PAGES),
|
||||||
// NOTE: This is specified in bytes, so we multiply by WASM page size.
|
},
|
||||||
max_memory_size: Some(((DEFAULT_HEAP_PAGES_ESTIMATE + EXTRA_HEAP_PAGES) * 65536) as usize),
|
|
||||||
|
|
||||||
instantiation_strategy:
|
instantiation_strategy:
|
||||||
sc_executor_wasmtime::InstantiationStrategy::RecreateInstanceCopyOnWrite,
|
sc_executor_wasmtime::InstantiationStrategy::RecreateInstanceCopyOnWrite,
|
||||||
@@ -121,7 +120,9 @@ fn params_to_wasmtime_semantics(par: &ExecutorParams) -> Result<Semantics, Strin
|
|||||||
|
|
||||||
for p in par.iter() {
|
for p in par.iter() {
|
||||||
match p {
|
match p {
|
||||||
ExecutorParam::MaxMemoryPages(mms) => sem.max_memory_size = Some(*mms as usize * 65536),
|
ExecutorParam::MaxMemoryPages(max_pages) =>
|
||||||
|
sem.heap_alloc_strategy =
|
||||||
|
HeapAllocStrategy::Dynamic { maximum_pages: Some(*max_pages) },
|
||||||
ExecutorParam::StackLogicalMax(slm) => stack_limit.logical_max = *slm,
|
ExecutorParam::StackLogicalMax(slm) => stack_limit.logical_max = *slm,
|
||||||
ExecutorParam::StackNativeMax(snm) => stack_limit.native_stack_max = *snm,
|
ExecutorParam::StackNativeMax(snm) => stack_limit.native_stack_max = *snm,
|
||||||
ExecutorParam::PrecheckingMaxMemory(_) => (), // TODO: Not implemented yet
|
ExecutorParam::PrecheckingMaxMemory(_) => (), // TODO: Not implemented yet
|
||||||
|
|||||||
Reference in New Issue
Block a user