Replace VsPointer with cached decoding

This commit is contained in:
Andrew Morris
2023-05-26 17:50:35 +10:00
parent 4fb30d68be
commit ac868be23c
12 changed files with 113 additions and 224 deletions

View File

@@ -1,6 +1,5 @@
use std::{
collections::{HashMap, HashSet},
rc::Rc,
str::FromStr,
};
@@ -13,7 +12,7 @@ use crate::asm::{
Label, LabelRef, Lazy, Module, Object, Pointer, Register, Value,
};
pub fn assemble(module: &Module) -> Rc<Vec<u8>> {
pub fn assemble(module: &Module) -> Vec<u8> {
let mut assembler = Assembler {
output: Vec::new(),
fn_data: Default::default(),
@@ -25,8 +24,7 @@ pub fn assemble(module: &Module) -> Rc<Vec<u8>> {
assembler.module(module);
// TODO: Don't use Rc
return Rc::new(assembler.output);
assembler.output
}
struct Assembler {