Fix consensus error between wasm and native (#1595)
* Decrease bucket size A bucket size of 8192 bytes is quite large and it turned out that this can exhaust the available heap space too too quickly. This is because even for allocating 1 byte a bucket of 8192 bytes is allocated/wasted. * Return 0 if requested size too large * Improve test The test didn't use an offset when setting up the heap. Hence the first successfully allocated pointer was always `0`. This is unfortunate since `0` is also the return value when there is an error. This lead to us not noticing that the test was failing, because it did not distinguish between success and error. * Revert to linear allocator
Showing
- substrate/core/executor/src/heap.rs 19 additions, 437 deletionssubstrate/core/executor/src/heap.rs
- substrate/core/executor/src/lib.rs 3 additions, 0 deletionssubstrate/core/executor/src/lib.rs
- substrate/core/executor/src/wasm_executor.rs 2 additions, 7 deletionssubstrate/core/executor/src/wasm_executor.rs
Please register or sign in to comment