diff options
author | Paweł Bylica <pawel.bylica@imapp.pl> | 2015-01-13 02:40:14 +0800 |
---|---|---|
committer | Paweł Bylica <pawel.bylica@imapp.pl> | 2015-01-13 02:40:14 +0800 |
commit | ba225017c4c1b60dff57ad56da4e8972812a17e2 (patch) | |
tree | b4664ba5139d4c0317352e470218ef5273f4a622 /vm | |
parent | 8a1b51c716abdc21a8af43282e106d77eda3706b (diff) | |
download | go-tangerine-ba225017c4c1b60dff57ad56da4e8972812a17e2.tar go-tangerine-ba225017c4c1b60dff57ad56da4e8972812a17e2.tar.gz go-tangerine-ba225017c4c1b60dff57ad56da4e8972812a17e2.tar.bz2 go-tangerine-ba225017c4c1b60dff57ad56da4e8972812a17e2.tar.lz go-tangerine-ba225017c4c1b60dff57ad56da4e8972812a17e2.tar.xz go-tangerine-ba225017c4c1b60dff57ad56da4e8972812a17e2.tar.zst go-tangerine-ba225017c4c1b60dff57ad56da4e8972812a17e2.zip |
JitVm struct stub. Forwards calls to DebugVm.
Diffstat (limited to 'vm')
-rw-r--r-- | vm/common.go | 1 | ||||
-rw-r--r-- | vm/vm.go | 2 | ||||
-rw-r--r-- | vm/vm_jit.go | 31 |
3 files changed, 34 insertions, 0 deletions
diff --git a/vm/common.go b/vm/common.go index f19b0fe4b..ed250dab1 100644 --- a/vm/common.go +++ b/vm/common.go @@ -14,6 +14,7 @@ type Type int const ( StandardVmTy Type = iota DebugVmTy + JitVmTy MaxVmTy ) @@ -15,6 +15,8 @@ func New(env Environment, typ Type) VirtualMachine { switch typ { case DebugVmTy: return NewDebugVm(env) + case JitVmTy: + return NewJitVm(env) default: return &Vm{env: env} } diff --git a/vm/vm_jit.go b/vm/vm_jit.go new file mode 100644 index 000000000..c715abab0 --- /dev/null +++ b/vm/vm_jit.go @@ -0,0 +1,31 @@ +package vm + +import "math/big" + +type JitVm struct { + env Environment + backup *DebugVm +} + +func NewJitVm(env Environment) *JitVm { + backupVm := NewDebugVm(env) + return &JitVm{env: env, backup: backupVm} +} + +func (self *JitVm) Run(me, caller ContextRef, code []byte, value, gas, price *big.Int, callData []byte) (ret []byte, err error) { + return self.backup.Run(me, caller, code, value, gas, price, callData) +} + +func (self *JitVm) Printf(format string, v ...interface{}) VirtualMachine { + return self.backup.Printf(format, v) +} + +func (self *JitVm) Endl() VirtualMachine { + return self.backup.Endl() +} + +func (self *JitVm) Env() Environment { + return self.env +} + +//go is nice
\ No newline at end of file |