diff --git a/polkadot/cli/Cargo.toml b/polkadot/cli/Cargo.toml index 8b43b52ce3..50d9a871da 100644 --- a/polkadot/cli/Cargo.toml +++ b/polkadot/cli/Cargo.toml @@ -40,7 +40,7 @@ substrate-build-script-utils = { git = "https://github.com/paritytech/substrate" [features] default = [ "wasmtime", "db", "cli", "full-node", "trie-memory-tracker", "polkadot-parachain" ] -wasmtime = [ "sc-cli/wasmtime" ] +wasmtime = [ "sc-cli/wasmtime", "polkadot-parachain/wasmtime" ] db = [ "service/db" ] cli = [ "structopt", diff --git a/polkadot/parachain/Cargo.toml b/polkadot/parachain/Cargo.toml index 683828ce03..58cf4b0d10 100644 --- a/polkadot/parachain/Cargo.toml +++ b/polkadot/parachain/Cargo.toml @@ -32,6 +32,7 @@ shared_memory = { version = "0.10.0", optional = true } [features] default = ["std"] +wasmtime = [ "sc-executor/wasmtime" ] wasm-api = [] std = [ "parity-scale-codec/std", diff --git a/polkadot/parachain/src/wasm_executor/mod.rs b/polkadot/parachain/src/wasm_executor/mod.rs index ba7e516f42..90c689f490 100644 --- a/polkadot/parachain/src/wasm_executor/mod.rs +++ b/polkadot/parachain/src/wasm_executor/mod.rs @@ -198,6 +198,9 @@ pub fn validate_candidate_internal( spawner: impl SpawnNamed + 'static, ) -> Result { let executor = sc_executor::WasmExecutor::new( + #[cfg(all(feature = "wasmtime", not(any(target_os = "android", target_os = "unknown"))))] + sc_executor::WasmExecutionMethod::Compiled, + #[cfg(any(not(feature = "wasmtime"), target_os = "android", target_os = "unknown"))] sc_executor::WasmExecutionMethod::Interpreted, // TODO: Make sure we don't use more than 1GB: https://github.com/paritytech/polkadot/issues/699 Some(1024), diff --git a/polkadot/parachain/test-parachains/halt/src/lib.rs b/polkadot/parachain/test-parachains/halt/src/lib.rs index b82a649e3f..00314033a4 100644 --- a/polkadot/parachain/test-parachains/halt/src/lib.rs +++ b/polkadot/parachain/test-parachains/halt/src/lib.rs @@ -50,6 +50,6 @@ pub fn oom(_: core::alloc::Layout) -> ! { #[cfg(not(feature = "std"))] #[no_mangle] -pub extern fn validate_block(params: *const u8, len: usize) -> usize { +pub extern fn validate_block(params: *const u8, len: usize) -> u64 { loop {} }