Skip to content
Commit af914e9f authored by Sergey Pepyakin's avatar Sergey Pepyakin Committed by GitHub
Browse files

Fair reusing of wasm runtime instances (#3011)

* Add test from original bug report

Original is from @pepyakin

 in 3d7b27f3421818e8d6de568e02fbc2947a06246b.
I adapted it to work with the latest master.

* No longer cleanup module instance

* Replace runtime cache with synchronous clone

* Fix test

* Preserve initial runtime memory and restore it on fetch

* Remove leftover comment

* Fix style

* Improve variable naming

* Replace get_into() with get()

* Handle missing memory export better

* Return earlier when creating runtime first time

* Improve comments

* fmt

* Fix #2967.

* Eradicate `code` from `Error::InvalidCode`

* tidy

* A state snapshot doc.

* Store multiple runtimes by hash.

* Get rid of deref.

* Docs

* Use Self for instantiate_module

* REVERT ME

* Should be ok

* Commit

* Remove dbg

* Use fast-memory's erase

* Clean and undo hacks.

* Introduce a dedicated error for heap_base

* Ban the start function.

* Clean, docs and refactor

* Add rustflags.

* Update Cargo.lock

* Apply Basti's suggestions

Co-Authored-By: default avatarBastian Köcher <[email protected]>

* Rename allocates_huge_stack_array

* Extend TestClientBuilder with set_heap_pages

* Update the test.

* Update core/executor/src/wasm_executor.rs

Co-Authored-By: default avatarBastian Köcher <[email protected]>

* Update core/executor/src/wasm_runtimes_cache.rs

Co-Authored-By: default avatarBastian Köcher <[email protected]>

* Update core/executor/src/error.rs

Co-Authored-By: default avatarBastian Köcher <[email protected]>

* Update core/executor/src/error.rs

Co-Authored-By: default avatarBastian Köcher <[email protected]>

* Fix tests.

* Update cargo-lock

* Use wasmi master

* Use master wasmi

* Move tests.

* Use wasmi crates.io

* Update Cargo.lock

* Fix build.rs

* Bump runtime version

* Revert initial_heap_pages renaming

* Bump wasmi up to 0.5.0

* Bump runtime version

* Don't restore an instance every now and then

* Update core/executor/src/wasm_runtimes_cache.rs

Co-Authored-By: default avatarDemiMarie-parity <[email protected]>

* Propagate error in CacheError

* Clarify the get_heap_base call in instantiation

* Supply --export=__heap_base

See https://reviews.llvm.org/D62744

Co-authored-by: default avatarJim Posen <[email protected]>

* Bump version.

* Use combinators for segments.

* Fix build.rs

* Fix build.rs for runtime-test
parent b633f93b
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment