vm: make PUSH0 emit Integer
This commit is contained in:
parent
820b050b18
commit
f4fa712440
7 changed files with 14 additions and 17 deletions
|
@ -26,7 +26,7 @@ var binaryExprTestCases = []testCase{
|
|||
return x
|
||||
}
|
||||
`,
|
||||
[]byte{},
|
||||
big.NewInt(0),
|
||||
},
|
||||
{
|
||||
"simple div",
|
||||
|
@ -97,7 +97,7 @@ var binaryExprTestCases = []testCase{
|
|||
return 0
|
||||
}
|
||||
`,
|
||||
[]byte{},
|
||||
big.NewInt(0),
|
||||
},
|
||||
{
|
||||
"compare equal strings with eql",
|
||||
|
@ -139,7 +139,7 @@ var binaryExprTestCases = []testCase{
|
|||
return 0
|
||||
}
|
||||
`,
|
||||
[]byte{},
|
||||
big.NewInt(0),
|
||||
},
|
||||
{
|
||||
"compare equal ints with eql",
|
||||
|
@ -167,7 +167,7 @@ var binaryExprTestCases = []testCase{
|
|||
return 0
|
||||
}
|
||||
`,
|
||||
[]byte{},
|
||||
big.NewInt(0),
|
||||
},
|
||||
{
|
||||
"compare not equal ints with eql",
|
||||
|
@ -181,7 +181,7 @@ var binaryExprTestCases = []testCase{
|
|||
return 0
|
||||
}
|
||||
`,
|
||||
[]byte{},
|
||||
big.NewInt(0),
|
||||
},
|
||||
{
|
||||
"compare not equal ints with neq",
|
||||
|
|
|
@ -276,7 +276,7 @@ func TestIfUnaryInvert(t *testing.T) {
|
|||
return 0
|
||||
}
|
||||
`
|
||||
eval(t, src, []byte{})
|
||||
eval(t, src, big.NewInt(0))
|
||||
}
|
||||
|
||||
func TestAppendByte(t *testing.T) {
|
||||
|
|
|
@ -39,7 +39,7 @@ func TestNotAssignedFunctionCall(t *testing.T) {
|
|||
// disable stack checks because it is hard right now
|
||||
// to distinguish between simple function call traversal
|
||||
// and the same traversal inside an assignment.
|
||||
evalWithoutStackChecks(t, src, []byte{})
|
||||
evalWithoutStackChecks(t, src, big.NewInt(0))
|
||||
}
|
||||
|
||||
func TestMultipleFunctionCalls(t *testing.T) {
|
||||
|
|
|
@ -30,7 +30,7 @@ func TestGT(t *testing.T) {
|
|||
return 0
|
||||
}
|
||||
`
|
||||
eval(t, src, []byte{})
|
||||
eval(t, src, big.NewInt(0))
|
||||
}
|
||||
|
||||
func TestGTE(t *testing.T) {
|
||||
|
@ -44,7 +44,7 @@ func TestGTE(t *testing.T) {
|
|||
return 0
|
||||
}
|
||||
`
|
||||
eval(t, src, []byte{})
|
||||
eval(t, src, big.NewInt(0))
|
||||
}
|
||||
|
||||
func TestLAND(t *testing.T) {
|
||||
|
@ -89,5 +89,5 @@ func TestNestedIF(t *testing.T) {
|
|||
return 0
|
||||
}
|
||||
`
|
||||
eval(t, src, []byte{})
|
||||
eval(t, src, big.NewInt(0))
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ func TestImportStruct(t *testing.T) {
|
|||
return b.Y
|
||||
}
|
||||
`
|
||||
eval(t, src, []byte{})
|
||||
eval(t, src, big.NewInt(0))
|
||||
}
|
||||
|
||||
func TestMultipleDirFileImport(t *testing.T) {
|
||||
|
|
|
@ -255,7 +255,7 @@ var structTestCases = []testCase{
|
|||
return t.y
|
||||
}
|
||||
`,
|
||||
[]byte{},
|
||||
big.NewInt(0),
|
||||
},
|
||||
{
|
||||
"test return struct from func",
|
||||
|
|
|
@ -518,17 +518,14 @@ func (v *VM) execute(ctx *Context, op opcode.Opcode, parameter []byte) (err erro
|
|||
}
|
||||
|
||||
switch op {
|
||||
case opcode.PUSHM1, opcode.PUSH1, opcode.PUSH2, opcode.PUSH3,
|
||||
case opcode.PUSHM1, opcode.PUSH0, opcode.PUSH1, opcode.PUSH2, opcode.PUSH3,
|
||||
opcode.PUSH4, opcode.PUSH5, opcode.PUSH6, opcode.PUSH7,
|
||||
opcode.PUSH8, opcode.PUSH9, opcode.PUSH10, opcode.PUSH11,
|
||||
opcode.PUSH12, opcode.PUSH13, opcode.PUSH14, opcode.PUSH15,
|
||||
opcode.PUSH16:
|
||||
val := int(op) - int(opcode.PUSH1) + 1
|
||||
val := int(op) - int(opcode.PUSH0)
|
||||
v.estack.PushVal(val)
|
||||
|
||||
case opcode.PUSH0:
|
||||
v.estack.PushVal([]byte{})
|
||||
|
||||
case opcode.PUSHDATA1, opcode.PUSHDATA2, opcode.PUSHDATA4:
|
||||
v.estack.PushVal(parameter)
|
||||
|
||||
|
|
Loading…
Reference in a new issue