* Object layout and parsing are done in the vm::obj module * Add MemCursor, a wrapper around the std::io::Cursor type for walking through VM memory * Add vm::tick module for containing the Vm::tick() method implementation, since it's pretty big * Instructions are now variable-sized, and are read lazily, one-at-a-time directly from memory. * Add VM runtime error structure * Probably some other stuff I forgot Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
10 lines
190 B
Rust
10 lines
190 B
Rust
use snafu::Snafu;
|
|
use crate::vm::vm::*;
|
|
|
|
#[derive(Snafu, Debug, Clone)]
|
|
pub enum VmError {
|
|
MemOutOfBounds { addr: Addr, }
|
|
}
|
|
|
|
pub type Result<T, E = VmError> = std::result::Result<T, E>;
|