diff --git a/cmd/evm/main.go b/cmd/evm/main.go index 984fd6c572..aaff5c7964 100644 --- a/cmd/evm/main.go +++ b/cmd/evm/main.go @@ -32,6 +32,7 @@ import ( "runtime" "time" + "github.com/ethereum/go-ethereum/ethdb" "github.com/ethereum/go-ethereum/ethutil" "github.com/ethereum/go-ethereum/logger" "github.com/ethereum/go-ethereum/state" @@ -64,13 +65,18 @@ func main() { tstart := time.Now() - ret, _, e := closure.Call(vm.New(NewVmEnv(), vm.DebugVmTy), nil) + env := NewVmEnv() + ret, _, e := closure.Call(vm.New(env, vm.DebugVmTy), nil) logger.Flush() if e != nil { perr(e) } + if *dump { + fmt.Println(string(env.state.Dump())) + } + var mem runtime.MemStats runtime.ReadMemStats(&mem) fmt.Printf("vm took %v\n", time.Since(tstart)) @@ -90,7 +96,8 @@ type VmEnv struct { } func NewVmEnv() *VmEnv { - return &VmEnv{state.New(trie.New(nil, ""))} + db, _ := ethdb.NewMemDatabase() + return &VmEnv{state.New(trie.New(db, ""))} } func (VmEnv) Origin() []byte { return nil }