Full test (which fails)
This commit is contained in:
14
vm/memory.go
14
vm/memory.go
@@ -2,17 +2,17 @@ package vm
|
||||
|
||||
import "fmt"
|
||||
|
||||
type memory struct {
|
||||
type Memory struct {
|
||||
entries []uint64
|
||||
}
|
||||
|
||||
func newMemory(size uint64) *memory {
|
||||
return &memory{
|
||||
func NewMemory(size uint64) *Memory {
|
||||
return &Memory{
|
||||
entries: make([]uint64, size),
|
||||
}
|
||||
}
|
||||
|
||||
func (mem *memory) readUnsigned(index uint64) (uint64, error) {
|
||||
func (mem *Memory) ReadUnsigned(index uint64) (uint64, error) {
|
||||
if index >= uint64(len(mem.entries)) {
|
||||
return 0, fmt.Errorf("Invalid memory index: %016x", index)
|
||||
}
|
||||
@@ -20,15 +20,15 @@ func (mem *memory) readUnsigned(index uint64) (uint64, error) {
|
||||
return mem.entries[index], nil
|
||||
}
|
||||
|
||||
func (mem *memory) mustReadUnsigned(index uint64) uint64 {
|
||||
value, err := mem.readUnsigned(index)
|
||||
func (mem *Memory) MustReadUnsigned(index uint64) uint64 {
|
||||
value, err := mem.ReadUnsigned(index)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return value
|
||||
}
|
||||
|
||||
func (mem *memory) writeUnsigned(index uint64, value uint64) error {
|
||||
func (mem *Memory) WriteUnsigned(index uint64, value uint64) error {
|
||||
if index >= uint64(len(mem.entries)) {
|
||||
return fmt.Errorf("Invalid memory index: %016x", index)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user