Merge pull request #3342 from Skgland/pdl-pairs
ensure pdl is pushed/popped in pairs and reuse tabu_list allocation by moving it from a local variable into the machine state
This commit is contained in:
@@ -16,7 +16,9 @@ use crate::parser::ast::*;
|
||||
use crate::read::TermWriteResult;
|
||||
use crate::types::*;
|
||||
|
||||
use fxhash::FxBuildHasher;
|
||||
use indexmap::IndexMap;
|
||||
use indexmap::IndexSet;
|
||||
|
||||
use std::convert::TryFrom;
|
||||
use std::fmt;
|
||||
@@ -115,7 +117,8 @@ impl OccursCheckImpl for StoError {
|
||||
pub struct MachineState {
|
||||
pub atom_tbl: Arc<AtomTable>,
|
||||
pub arena: Arena,
|
||||
pub(super) pdl: Vec<HeapCellValue>,
|
||||
pub(super) pdl: Vec<(HeapCellValue, HeapCellValue)>,
|
||||
pub(super) unify_tabu_list: IndexSet<(HeapCellValue, HeapCellValue), FxBuildHasher>,
|
||||
pub(super) s: HeapPtr,
|
||||
pub(super) s_offset: usize,
|
||||
pub(super) p: usize,
|
||||
|
||||
Reference in New Issue
Block a user