dereference clause_clause value, reserve more parser space (#2579)

This commit is contained in:
Mark Thom
2024-11-14 22:04:09 -07:00
committed by Mark Thom
parent 79be0c0625
commit c0cd371056
2 changed files with 3 additions and 3 deletions

View File

@@ -2462,7 +2462,7 @@ impl<'a> Loader<'a, LiveLoadAndMachineState<'a>> {
}
let machine_st = LiveLoadAndMachineState::machine_st(&mut self.payload);
let value = machine_st.store(MachineState::deref(&machine_st, machine_st[term_reg]));
let value = machine_st.store(MachineState::deref(machine_st, machine_st[term_reg]));
self.add_clause_clause_if_dynamic(value)?;

View File

@@ -1287,9 +1287,9 @@ impl<'a, R: CharRead> LexerParser<'a, R> {
};
// the parser uses conditional indirection in many places so
// the reserved size should be at least 3 * term_byte_size
// the reserved size should be at least 4 * term_byte_size
// so all cells are accounted for.
let writer = match self.machine_st.heap.reserve(cell_index!(3 * term_byte_size)) {
let writer = match self.machine_st.heap.reserve(cell_index!(4 * term_byte_size)) {
Ok(term) => term,
Err(_err_loc) => {
return Err(ParserError::ResourceError(self.loc_to_err_src()));