Add object layout, object parsing, instruction layout
* 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>
This commit is contained in:
9
src/vm/error.rs
Normal file
9
src/vm/error.rs
Normal file
@@ -0,0 +1,9 @@
|
||||
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>;
|
||||
Reference in New Issue
Block a user