optimize: dedup consts
This commit is contained in:
@@ -8,10 +8,10 @@ type Slice<T> = Box<[T]>;
|
||||
|
||||
pub type OpCodes = Slice<OpCode>;
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
pub enum OpCode {
|
||||
/// load a constant onto stack
|
||||
Const { value: Const },
|
||||
Const { idx: usize },
|
||||
/// load a dynamic var onto stack
|
||||
LookUp { sym: usize },
|
||||
/// load a thunk lazily onto stack
|
||||
@@ -114,4 +114,5 @@ pub struct Program {
|
||||
pub funcs: Slice<Func>,
|
||||
pub symbols: Vec<EcoString>,
|
||||
pub symmap: HashMap<EcoString, usize>,
|
||||
pub consts: Box<[Const]>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user