reuse defunct AND stack frames.

This commit is contained in:
Mark Thom
2017-11-11 16:01:29 -07:00
parent d6086390e0
commit e503e312a1
2 changed files with 39 additions and 8 deletions

View File

@@ -49,9 +49,17 @@ impl AndStack {
self.0.clear()
}
pub fn pop(&mut self) {
self.0.pop();
}
pub fn resize(&mut self, fr: usize, n: usize) {
let len = self[fr].perms.len();
if len < n {
self[fr].perms.reserve(n - len);
for i in len .. n {
self[fr].perms.push(Addr::StackCell(fr, i));
}
}
}
}
impl Index<usize> for AndStack {