diff options
author | obscuren <geffobscura@gmail.com> | 2015-03-23 23:59:09 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-03-23 23:59:09 +0800 |
commit | 0330077d76b48934ab024a309000f83c78047d8a (patch) | |
tree | 2a3ffbcd5bd941b30ed28d0eb5c30553a25324e0 /vm/memory.go | |
parent | d7eaa97a297151637af090ecb05bbd6d260d90b8 (diff) | |
download | go-tangerine-0330077d76b48934ab024a309000f83c78047d8a.tar go-tangerine-0330077d76b48934ab024a309000f83c78047d8a.tar.gz go-tangerine-0330077d76b48934ab024a309000f83c78047d8a.tar.bz2 go-tangerine-0330077d76b48934ab024a309000f83c78047d8a.tar.lz go-tangerine-0330077d76b48934ab024a309000f83c78047d8a.tar.xz go-tangerine-0330077d76b48934ab024a309000f83c78047d8a.tar.zst go-tangerine-0330077d76b48934ab024a309000f83c78047d8a.zip |
moved state and vm to core
Diffstat (limited to 'vm/memory.go')
-rw-r--r-- | vm/memory.go | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/vm/memory.go b/vm/memory.go deleted file mode 100644 index dd47fa1b5..000000000 --- a/vm/memory.go +++ /dev/null @@ -1,76 +0,0 @@ -package vm - -import ( - "fmt" - - "github.com/ethereum/go-ethereum/common" -) - -type Memory struct { - store []byte -} - -func NewMemory() *Memory { - return &Memory{nil} -} - -func (m *Memory) Set(offset, size uint64, value []byte) { - value = common.RightPadBytes(value, int(size)) - - totSize := offset + size - lenSize := uint64(len(m.store) - 1) - if totSize > lenSize { - // Calculate the diff between the sizes - diff := totSize - lenSize - if diff > 0 { - // Create a new empty slice and append it - newSlice := make([]byte, diff-1) - // Resize slice - m.store = append(m.store, newSlice...) - } - } - copy(m.store[offset:offset+size], value) -} - -func (m *Memory) Resize(size uint64) { - if uint64(m.Len()) < size { - m.store = append(m.store, make([]byte, size-uint64(m.Len()))...) - } -} - -func (self *Memory) Get(offset, size int64) (cpy []byte) { - if size == 0 { - return nil - } - - if len(self.store) > int(offset) { - cpy = make([]byte, size) - copy(cpy, self.store[offset:offset+size]) - - return - } - - return -} - -func (m *Memory) Len() int { - return len(m.store) -} - -func (m *Memory) Data() []byte { - return m.store -} - -func (m *Memory) Print() { - fmt.Printf("### mem %d bytes ###\n", len(m.store)) - if len(m.store) > 0 { - addr := 0 - for i := 0; i+32 <= len(m.store); i += 32 { - fmt.Printf("%03d: % x\n", addr, m.store[i:i+32]) - addr++ - } - } else { - fmt.Println("-- empty --") - } - fmt.Println("####################") -} |