allocate cut variables as temporaries when in non-allocating clause (#2183)

This commit is contained in:
Mark
2023-11-28 12:58:54 -07:00
parent b8ef367824
commit de5de0cfaf
3 changed files with 27 additions and 10 deletions

View File

@@ -29,20 +29,25 @@ pub(crate) trait Allocator {
&mut self,
var_num: usize,
lvl: Level,
cell: &'a Cell<VarReg>,
cell: &Cell<VarReg>,
term_loc: GenContext,
code: &mut CodeDeque,
r: RegType,
is_new_var: bool,
);
fn mark_cut_var(&mut self, var_num: usize, chunk_num: usize) -> RegType;
fn mark_cut_var<'a, Target: CompilationTarget<'a>>(
&mut self,
var_num: usize,
term_loc: GenContext,
code: &mut CodeDeque,
) -> RegType;
fn mark_var<'a, Target: CompilationTarget<'a>>(
&mut self,
var_num: usize,
lvl: Level,
cell: &'a Cell<VarReg>,
cell: &Cell<VarReg>,
context: GenContext,
code: &mut CodeDeque,
);