提交 9805e720 编写于 作者: Y YiYing He 提交者: Yi-Ying He

[Common] Use copy of Configure for independent paritions.

上级 1631aad9
......@@ -540,7 +540,7 @@ private:
/// Instantiation mode enumeration class
enum class InstantiateMode : uint8_t { Instantiate = 0, ImportWasm };
/// SSVM configuration
const Configure &Conf;
const Configure Conf;
/// Instantiation mode
InstantiateMode InsMode;
/// Stack
......
......@@ -40,7 +40,7 @@ public:
Expect<std::unique_ptr<AST::Module>> parseModule(Span<const uint8_t> Code);
private:
const Configure &Conf;
const Configure Conf;
FileMgrFStream FSMgr;
FileMgrVector FVMgr;
LDMgr LMgr;
......
......@@ -67,7 +67,7 @@ private:
static inline const uint32_t LIMIT_MEMORYTYPE = 1U << 16;
/// Proposal configure
const Configure &Conf;
const Configure Conf;
/// Formal checker
FormChecker Checker;
};
......
......@@ -105,7 +105,7 @@ private:
void initVM();
/// VM environment.
const Configure &Config;
const Configure Conf;
Statistics::Statistics Stat;
VMStage Stage;
......
......@@ -8,27 +8,27 @@ namespace SSVM {
namespace VM {
VM::VM(const Configure &Conf)
: Config(Conf), Stage(VMStage::Inited), LoaderEngine(Conf),
: Conf(Conf), Stage(VMStage::Inited), LoaderEngine(Conf),
ValidatorEngine(Conf), InterpreterEngine(Conf, &Stat),
Store(std::make_unique<Runtime::StoreManager>()), StoreRef(*Store.get()) {
initVM();
}
VM::VM(const Configure &Conf, Runtime::StoreManager &S)
: Config(Conf), Stage(VMStage::Inited), LoaderEngine(Conf),
: Conf(Conf), Stage(VMStage::Inited), LoaderEngine(Conf),
ValidatorEngine(Conf), InterpreterEngine(Conf, &Stat), StoreRef(S) {
initVM();
}
void VM::initVM() {
/// Create import modules from configuration.
if (Config.hasHostRegistration(HostRegistration::Wasi)) {
if (Conf.hasHostRegistration(HostRegistration::Wasi)) {
std::unique_ptr<Runtime::ImportObject> WasiMod =
std::make_unique<Host::WasiModule>();
InterpreterEngine.registerModule(StoreRef, *WasiMod.get());
ImpObjs.insert({HostRegistration::Wasi, std::move(WasiMod)});
}
if (Config.hasHostRegistration(HostRegistration::SSVM_Process)) {
if (Conf.hasHostRegistration(HostRegistration::SSVM_Process)) {
std::unique_ptr<Runtime::ImportObject> ProcMod =
std::make_unique<Host::SSVMProcessModule>();
InterpreterEngine.registerModule(StoreRef, *ProcMod.get());
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册