diff options
author | obscuren <geffobscura@gmail.com> | 2014-12-03 20:52:13 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-12-03 20:52:13 +0800 |
commit | 6212175be3a5a06099413f4a393df316c5be5752 (patch) | |
tree | b6630fc96a4e53f30dfcba2d2dfcd0c481582540 /vm/execution.go | |
parent | 6095edac5843aa18e389ef2deaa49fe05b7fcfb9 (diff) | |
download | go-tangerine-6212175be3a5a06099413f4a393df316c5be5752.tar go-tangerine-6212175be3a5a06099413f4a393df316c5be5752.tar.gz go-tangerine-6212175be3a5a06099413f4a393df316c5be5752.tar.bz2 go-tangerine-6212175be3a5a06099413f4a393df316c5be5752.tar.lz go-tangerine-6212175be3a5a06099413f4a393df316c5be5752.tar.xz go-tangerine-6212175be3a5a06099413f4a393df316c5be5752.tar.zst go-tangerine-6212175be3a5a06099413f4a393df316c5be5752.zip |
reverted vm back
Diffstat (limited to 'vm/execution.go')
-rw-r--r-- | vm/execution.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/vm/execution.go b/vm/execution.go index 4df77729e..8c04cf536 100644 --- a/vm/execution.go +++ b/vm/execution.go @@ -26,7 +26,7 @@ func (self *Execution) Addr() []byte { func (self *Execution) Exec(codeAddr []byte, caller ClosureRef) ([]byte, error) { // Retrieve the executing code - code := self.vm.Env().GetCode(codeAddr) + code := self.vm.Env().State().GetCode(codeAddr) return self.exec(code, codeAddr, caller) } @@ -34,11 +34,13 @@ func (self *Execution) Exec(codeAddr []byte, caller ClosureRef) ([]byte, error) func (self *Execution) exec(code, caddr []byte, caller ClosureRef) (ret []byte, err error) { env := self.vm.Env() + vmlogger.Debugf("pre state %x\n", env.State().Root()) snapshot := env.State().Copy() defer func() { if IsDepthErr(err) || IsOOGErr(err) { env.State().Set(snapshot) } + vmlogger.Debugf("post state %x\n", env.State().Root()) }() msg := env.State().Manifest().AddMessage(&state.Message{ @@ -89,6 +91,6 @@ func (self *Execution) exec(code, caddr []byte, caller ClosureRef) (ret []byte, return } -func (self *Execution) Create(caller []byte) (ret []byte, err error) { +func (self *Execution) Create(caller ClosureRef) (ret []byte, err error) { return self.exec(self.input, nil, caller) } |