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
This commit is contained in:
Michael Müller
2019-01-30 14:37:32 +01:00
committed by Gav Wood
parent 15ae7cfef6
commit aa5e0658f8
3 changed files with 24 additions and 444 deletions
+3
View File
@@ -28,6 +28,9 @@
#![warn(missing_docs)]
#![recursion_limit="128"]
#[macro_use]
extern crate log;
#[macro_use]
mod wasm_utils;
mod wasm_executor;