Move "wasm" allocator into its own crate (#4716)

This moves the wasm-allocator (`FreeingBumpHeapAllocator`) into its own
crate `sp-allocator`. This new crate can theoretically provide multiple
different allocators. Besides moving the allocator, this pr also makes
`FreeingBumpHeapAllocator` compile on `no_std`.
This commit is contained in:
Bastian Köcher
2020-01-22 18:13:17 +01:00
committed by Sergei Pepyakin
parent 670ce71009
commit 5bd6e94e64
21 changed files with 230 additions and 70 deletions
@@ -11,10 +11,16 @@ sp-io = { version = "2.0.0", default-features = false, path = "../../../primitiv
sp-sandbox = { version = "0.8.0", default-features = false, path = "../../../primitives/sandbox" }
sp-core = { version = "2.0.0", default-features = false, path = "../../../primitives/core" }
sp-runtime = { version = "2.0.0", default-features = false, path = "../../../primitives/runtime" }
sp-allocator = { version = "2.0.0", default-features = false, path = "../../../primitives/allocator" }
[build-dependencies]
wasm-builder-runner = { version = "1.0.4", package = "substrate-wasm-builder-runner", path = "../../../utils/wasm-builder-runner" }
[features]
default = [ "std" ]
std = ["sp-io/std", "sp-sandbox/std", "sp-std/std"]
std = [
"sp-io/std",
"sp-sandbox/std",
"sp-std/std",
"sp-allocator/std",
]
@@ -212,6 +212,11 @@ sp_core::wasm_export_functions! {
run().is_some()
}
// Just some test to make sure that `sp-allocator` compiles on `no_std`.
fn test_sp_allocator_compiles() {
sp_allocator::FreeingBumpHeapAllocator::new(0);
}
}
#[cfg(not(feature = "std"))]