Renames for chain, updated VM, moved methods

* Renamed a couple more chain => core
* Updated VM `pc` to be uint64 rather than big int
* XEth interface cleanup
This commit is contained in:
obscuren
2014-12-04 10:53:49 +01:00
parent 9008b155d3
commit 83663ed4b0
9 changed files with 94 additions and 102 deletions

View File

@ -6,17 +6,17 @@ import (
"github.com/ethereum/go-ethereum/ethutil"
)
func analyseJumpDests(code []byte) (dests map[int64]*big.Int) {
dests = make(map[int64]*big.Int)
func analyseJumpDests(code []byte) (dests map[uint64]*big.Int) {
dests = make(map[uint64]*big.Int)
lp := false
var lpv *big.Int
for pc := int64(0); pc < int64(len(code)); pc++ {
for pc := uint64(0); pc < uint64(len(code)); pc++ {
var op OpCode = OpCode(code[pc])
switch op {
case PUSH1, PUSH2, PUSH3, PUSH4, PUSH5, PUSH6, PUSH7, PUSH8, PUSH9, PUSH10, PUSH11, PUSH12, PUSH13, PUSH14, PUSH15, PUSH16, PUSH17, PUSH18, PUSH19, PUSH20, PUSH21, PUSH22, PUSH23, PUSH24, PUSH25, PUSH26, PUSH27, PUSH28, PUSH29, PUSH30, PUSH31, PUSH32:
a := int64(op) - int64(PUSH1) + 1
if int64(len(code)) > pc+1+a {
a := uint64(op) - uint64(PUSH1) + 1
if uint64(len(code)) > pc+1+a {
lpv = ethutil.BigD(code[pc+1 : pc+1+a])
}