dereference clause_clause value, reserve more parser space (#2579)
This commit is contained in:
@@ -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)?;
|
||||
|
||||
|
||||
@@ -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()));
|
||||
|
||||
Reference in New Issue
Block a user