Currently an execution context is created in a backend object for each contract, and cached (inside the backend) in wasm_instantiation_cache in the wasm interface object per thread. This wastes physical memory and prevents a single compiled WASM contract code shared across threads.
This PR provides an option to decouple execution context from backend, while keeps the existing behavior for backward compatibility.
Change Description
A part of https://github.com/eosnetworkfoundation/product/issues/149.
Currently an execution context is created in a
backend
object for each contract, and cached (inside the backend) inwasm_instantiation_cache
in the wasm interface object per thread. This wastes physical memory and prevents a single compiled WASM contract code shared across threads.This PR provides an option to decouple execution context from backend, while keeps the existing behavior for backward compatibility.
Resolves https://github.com/AntelopeIO/leap/issues/1456.
API Changes
Documentation Additions