diff options
author | Guillaume Ballet <gballet@gmail.com> | 2018-09-20 15:44:35 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2018-09-20 15:44:35 +0800 |
commit | da29332c5f4c368ff03ec4e7132eefac48fed1ae (patch) | |
tree | fc9a9d2bd594ef22f7b9d9fca8bd410c28304f99 /eth | |
parent | 3fec73500b60c82a827b36bb03f8ae011b861e72 (diff) | |
download | dexon-da29332c5f4c368ff03ec4e7132eefac48fed1ae.tar dexon-da29332c5f4c368ff03ec4e7132eefac48fed1ae.tar.gz dexon-da29332c5f4c368ff03ec4e7132eefac48fed1ae.tar.bz2 dexon-da29332c5f4c368ff03ec4e7132eefac48fed1ae.tar.lz dexon-da29332c5f4c368ff03ec4e7132eefac48fed1ae.tar.xz dexon-da29332c5f4c368ff03ec4e7132eefac48fed1ae.tar.zst dexon-da29332c5f4c368ff03ec4e7132eefac48fed1ae.zip |
core/vm: add switches to select evm+ewasm interpreters (#17687)
Interpreter initialization is left to the PRs implementing them.
Options for external interpreters are passed after a colon in the
`--vm.ewasm` and `--vm.evm` switches.
Diffstat (limited to 'eth')
-rw-r--r-- | eth/backend.go | 6 | ||||
-rw-r--r-- | eth/config.go | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/eth/backend.go b/eth/backend.go index 9926225f2..7d8060d77 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -149,7 +149,11 @@ func New(ctx *node.ServiceContext, config *Config) (*Ethereum, error) { rawdb.WriteDatabaseVersion(chainDb, core.BlockChainVersion) } var ( - vmConfig = vm.Config{EnablePreimageRecording: config.EnablePreimageRecording} + vmConfig = vm.Config{ + EnablePreimageRecording: config.EnablePreimageRecording, + EWASMInterpreter: config.EWASMInterpreter, + EVMInterpreter: config.EVMInterpreter, + } cacheConfig = &core.CacheConfig{Disabled: config.NoPruning, TrieNodeLimit: config.TrieCache, TrieTimeLimit: config.TrieTimeout} ) eth.blockchain, err = core.NewBlockChain(chainDb, cacheConfig, eth.chainConfig, eth.engine, vmConfig) diff --git a/eth/config.go b/eth/config.go index f1a402e37..efbaafb6a 100644 --- a/eth/config.go +++ b/eth/config.go @@ -121,6 +121,11 @@ type Config struct { // Miscellaneous options DocRoot string `toml:"-"` + + // Type of the EWASM interpreter ("" for detault) + EWASMInterpreter string + // Type of the EVM interpreter ("" for default) + EVMInterpreter string } type configMarshaling struct { |