|
|
@@ -98,7 +98,7 @@ func (self *DebugVm) Run(me, caller ClosureRef, code []byte, value, gas, price *
|
|
|
} else {
|
|
|
nop := OpCode(closure.GetOp(p))
|
|
|
if !(nop == JUMPDEST || destinations[from] != nil) {
|
|
|
- panic(fmt.Sprintf("JUMP missed JUMPDEST (%v) %v", nop, p))
|
|
|
+ panic(fmt.Sprintf("invalid jump destination (%v) %v", nop, p))
|
|
|
} else if nop == JUMP || nop == JUMPI {
|
|
|
panic(fmt.Sprintf("not allowed to JUMP(I) in to JUMP"))
|
|
|
}
|
|
|
@@ -611,10 +611,10 @@ func (self *DebugVm) Run(me, caller ClosureRef, code []byte, value, gas, price *
|
|
|
self.Printf(" => %d", l)
|
|
|
case CALLDATACOPY:
|
|
|
var (
|
|
|
- size = int64(len(callData))
|
|
|
- mOff = stack.Pop().Int64()
|
|
|
- cOff = stack.Pop().Int64()
|
|
|
- l = stack.Pop().Int64()
|
|
|
+ size = uint64(len(callData))
|
|
|
+ mOff = stack.Pop().Uint64()
|
|
|
+ cOff = stack.Pop().Uint64()
|
|
|
+ l = stack.Pop().Uint64()
|
|
|
)
|
|
|
|
|
|
if cOff > size {
|
|
|
@@ -654,10 +654,10 @@ func (self *DebugVm) Run(me, caller ClosureRef, code []byte, value, gas, price *
|
|
|
}
|
|
|
|
|
|
var (
|
|
|
- size = int64(len(code))
|
|
|
- mOff = stack.Pop().Int64()
|
|
|
- cOff = stack.Pop().Int64()
|
|
|
- l = stack.Pop().Int64()
|
|
|
+ size = uint64(len(code))
|
|
|
+ mOff = stack.Pop().Uint64()
|
|
|
+ cOff = stack.Pop().Uint64()
|
|
|
+ l = stack.Pop().Uint64()
|
|
|
)
|
|
|
|
|
|
if cOff > size {
|
|
|
@@ -760,7 +760,7 @@ func (self *DebugVm) Run(me, caller ClosureRef, code []byte, value, gas, price *
|
|
|
case MSTORE: // Store the value at stack top-1 in to memory at location stack top
|
|
|
// Pop value of the stack
|
|
|
val, mStart := stack.Popn()
|
|
|
- mem.Set(mStart.Int64(), 32, ethutil.BigToBytes(val, 256))
|
|
|
+ mem.Set(mStart.Uint64(), 32, ethutil.BigToBytes(val, 256))
|
|
|
|
|
|
self.Printf(" => 0x%x", val)
|
|
|
case MSTORE8:
|
|
|
@@ -883,7 +883,7 @@ func (self *DebugVm) Run(me, caller ClosureRef, code []byte, value, gas, price *
|
|
|
stack.Push(ethutil.BigTrue)
|
|
|
msg.Output = ret
|
|
|
|
|
|
- mem.Set(retOffset.Int64(), retSize.Int64(), ret)
|
|
|
+ mem.Set(retOffset.Uint64(), retSize.Uint64(), ret)
|
|
|
}
|
|
|
self.Printf("resume %x", closure.Address())
|
|
|
|