optimize: dedup consts
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
use crate::bytecode::*;
|
||||
use crate::ir;
|
||||
use crate::ty::internal::Const;
|
||||
|
||||
pub struct Compiler {
|
||||
opcodes: Vec<OpCode>,
|
||||
@@ -23,7 +22,8 @@ pub fn compile(downgraded: ir::Downgraded) -> Program {
|
||||
})
|
||||
.collect(),
|
||||
symbols: downgraded.symbols,
|
||||
symmap: downgraded.symmap
|
||||
symmap: downgraded.symmap,
|
||||
consts: downgraded.consts
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ impl<T: Compile> CompileWithLength for T {
|
||||
|
||||
impl Compile for ir::Const {
|
||||
fn compile(self, comp: &mut Compiler) {
|
||||
comp.push(OpCode::Const { value: self.value });
|
||||
comp.push(OpCode::Const { idx: self.idx });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user