forked from TrueCloudLab/neoneo-go
vm: drop ParamCount from Context
It's unused and it's useless.
This commit is contained in:
parent
765235eca3
commit
c53d978edd
3 changed files with 9 additions and 13 deletions
|
@ -113,7 +113,7 @@ func callExFromNative(ic *interop.Context, caller util.Uint160, cs *state.Contra
|
|||
}
|
||||
|
||||
ic.VM.Invocations[cs.Hash]++
|
||||
ic.VM.LoadScriptWithCallingHash(caller, cs.NEF.Script, cs.Hash, ic.VM.Context().GetCallFlags()&f, hasReturn, uint16(len(args)))
|
||||
ic.VM.LoadScriptWithCallingHash(caller, cs.NEF.Script, cs.Hash, ic.VM.Context().GetCallFlags()&f, hasReturn)
|
||||
ic.VM.Context().NEF = &cs.NEF
|
||||
for e, i := ic.VM.Estack(), len(args)-1; i >= 0; i-- {
|
||||
e.PushItem(args[i])
|
||||
|
|
|
@ -48,8 +48,6 @@ type Context struct {
|
|||
// Call flags this context was created with.
|
||||
callFlag callflag.CallFlag
|
||||
|
||||
// ParamCount specifies number of parameters.
|
||||
ParamCount int
|
||||
// RetCount specifies number of return values.
|
||||
RetCount int
|
||||
// NEF represents NEF file for the current contract.
|
||||
|
@ -73,17 +71,16 @@ var errNoInstParam = errors.New("failed to read instruction parameter")
|
|||
|
||||
// NewContext returns a new Context object.
|
||||
func NewContext(b []byte) *Context {
|
||||
return NewContextWithParams(b, 0, -1, 0)
|
||||
return NewContextWithParams(b, -1, 0)
|
||||
}
|
||||
|
||||
// NewContextWithParams creates new Context objects using script, parameter count,
|
||||
// return value count and initial position in script.
|
||||
func NewContextWithParams(b []byte, pcount int, rvcount int, pos int) *Context {
|
||||
func NewContextWithParams(b []byte, rvcount int, pos int) *Context {
|
||||
return &Context{
|
||||
prog: b,
|
||||
ParamCount: pcount,
|
||||
RetCount: rvcount,
|
||||
nextip: pos,
|
||||
prog: b,
|
||||
RetCount: rvcount,
|
||||
nextip: pos,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -279,7 +279,7 @@ func (v *VM) LoadScript(b []byte) {
|
|||
// LoadScriptWithFlags loads script and sets call flag to f.
|
||||
func (v *VM) LoadScriptWithFlags(b []byte, f callflag.CallFlag) {
|
||||
v.checkInvocationStackSize()
|
||||
ctx := NewContextWithParams(b, 0, -1, 0)
|
||||
ctx := NewContextWithParams(b, -1, 0)
|
||||
v.estack = newStack("evaluation", &v.refs)
|
||||
ctx.estack = v.estack
|
||||
initStack(&ctx.tryStack, "exception", nil)
|
||||
|
@ -297,13 +297,13 @@ func (v *VM) LoadScriptWithFlags(b []byte, f callflag.CallFlag) {
|
|||
// each other.
|
||||
func (v *VM) LoadScriptWithHash(b []byte, hash util.Uint160, f callflag.CallFlag) {
|
||||
shash := v.GetCurrentScriptHash()
|
||||
v.LoadScriptWithCallingHash(shash, b, hash, f, true, 0)
|
||||
v.LoadScriptWithCallingHash(shash, b, hash, f, true)
|
||||
}
|
||||
|
||||
// LoadScriptWithCallingHash is similar to LoadScriptWithHash but sets calling hash explicitly.
|
||||
// It should be used for calling from native contracts.
|
||||
func (v *VM) LoadScriptWithCallingHash(caller util.Uint160, b []byte, hash util.Uint160,
|
||||
f callflag.CallFlag, hasReturn bool, paramCount uint16) {
|
||||
f callflag.CallFlag, hasReturn bool) {
|
||||
v.LoadScriptWithFlags(b, f)
|
||||
ctx := v.Context()
|
||||
ctx.scriptHash = hash
|
||||
|
@ -313,7 +313,6 @@ func (v *VM) LoadScriptWithCallingHash(caller util.Uint160, b []byte, hash util.
|
|||
} else {
|
||||
ctx.RetCount = 0
|
||||
}
|
||||
ctx.ParamCount = int(paramCount)
|
||||
}
|
||||
|
||||
// Context returns the current executed context. Nil if there is no context,
|
||||
|
|
Loading…
Reference in a new issue