From: Mark Thom Date: Sat, 5 Aug 2017 16:15:40 +0000 (-0600) Subject: tweak codegen X-Git-Tag: v0.8.110~708 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=198eca678c14a276a79b1531cc3c8b4c15dba544;p=scryer-prolog.git tweak codegen --- diff --git a/src/prolog/codegen.rs b/src/prolog/codegen.rs index acd9407e..abe274e0 100644 --- a/src/prolog/codegen.rs +++ b/src/prolog/codegen.rs @@ -256,17 +256,19 @@ impl<'a, TermMarker: Allocator<'a>> CodeGenerator<'a, TermMarker> body: &mut Code) -> usize { - let perm_vars = vs.vars_above_threshold(0) + deep_cuts as usize; - if num_clauses > 0 { + let perm_vars = vs.vars_above_threshold(0) + deep_cuts as usize; + body.push(Line::Control(ControlInstruction::Allocate(perm_vars))); if deep_cuts { body.push(Line::Cut(CutInstruction::GetLevel)); } + + return perm_vars; } - perm_vars + 0 } fn compile_neck_cut_or(&mut self,