Jump and Throw need to store the term away, if they try to use arena
the term will hang in the stack (#152).
This commit is contained in:
@@ -967,6 +967,11 @@ restore_codes(void)
|
||||
/* restore consult stack. It consists of heap pointers, so it
|
||||
is easy to fix.
|
||||
*/
|
||||
if (Yap_heap_regs->wl.ball_term) {
|
||||
Yap_heap_regs->wl.ball_term =
|
||||
DBTermAdjust(Yap_heap_regs->wl.ball_term);
|
||||
RestoreDBTerm(Yap_heap_regs->wl.ball_term, TRUE);
|
||||
}
|
||||
Yap_heap_regs->wl.consultlow =
|
||||
ConsultObjAdjust(Yap_heap_regs->wl.consultlow);
|
||||
Yap_heap_regs->wl.consultbase =
|
||||
|
Reference in New Issue
Block a user