Merge pull request #254 from chfast/pr/jitvm_stub

JitVm struct stub. Forwards calls to DebugVm.
This commit is contained in:
Jeffrey Wilcke 2015-01-13 00:29:41 +01:00
commit 5b561f434d
3 changed files with 34 additions and 0 deletions

View File

@ -14,6 +14,7 @@ type Type int
const (
StandardVmTy Type = iota
DebugVmTy
JitVmTy
MaxVmTy
)

View File

@ -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}
}

31
vm/vm_jit.go Normal file
View File

@ -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