slots again: make sure they're bound after resetting the stack and when calling InitForeign

This commit is contained in:
Vitor Santos Costa 2013-12-18 19:34:15 +00:00
parent c6351abe25
commit 493b591b66
2 changed files with 5 additions and 0 deletions

View File

@ -3394,6 +3394,9 @@ YAP_Reset(void)
/* the first real choice-point will also have AP=FAIL */
/* always have an empty slots for people to use */
P = CP = YESCODE;
// ensure that we have slots where we need them
LOCAL_CurSlot = 0;
Yap_StartSlots( PASS_REGS1 );
RECOVER_MACHINE_REGS();
return res;
}

View File

@ -83,7 +83,9 @@ p_load_foreign( USES_REGS1 )
/* call the OS specific function for dynamic loading */
if(Yap_LoadForeign(ofiles,libs,InitProcName,&InitProc)==LOAD_SUCCEEDED) {
Int CurSlot = Yap_StartSlots( PASS_REGS1 );
(*InitProc)();
LOCAL_CurSlot = CurSlot;
returncode = TRUE;
}