fix call to garbage_collection from within assembly meta-calls

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@819 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc 2003-04-30 17:14:10 +00:00
parent a3ad9dbb8f
commit 601f91f653
1 changed files with 8 additions and 8 deletions

View File

@ -11837,13 +11837,13 @@ Yap_absmi(int inp)
execute_end:
/* code copied from call */
#ifndef NO_CHECKING
check_stack(NoStackPExecute, H);
#endif
CPREG =
(yamop *) NEXTOP(PREG, sla);
ALWAYS_LOOKAHEAD(pen->OpcodeOfPred);
PREG = pen->CodeOfPred;
#ifndef NO_CHECKING
check_stack(NoStackPExecute, H);
#endif
#ifdef DEPTH_LIMIT
if (DEPTH <= MkIntTerm(1)) {/* I assume Module==0 is primitives */
if (pen->ModuleOfPred) {
@ -11890,7 +11890,7 @@ Yap_absmi(int inp)
goto creep;
else {
CFREG = CalculateStackGap();
JMPNext();
goto execute_end;
}
}
#endif
@ -11901,7 +11901,7 @@ Yap_absmi(int inp)
Yap_Error(OUT_OF_STACK_ERROR,TermNil,Yap_ErrorMessage);
}
setregs();
JMPNext();
goto execute_end;
ENDCACHE_Y_AS_ENV();
}
ENDBOp();
@ -12080,10 +12080,10 @@ Yap_absmi(int inp)
}
execute_after_comma:
PREG = pen->CodeOfPred;
#ifndef NO_CHECKING
check_stack(NoStackPTExecute, H);
#endif
PREG = pen->CodeOfPred;
ALWAYS_LOOKAHEAD(pen->OpcodeOfPred);
E_YREG[E_CB] = (CELL)B;
#ifdef DEPTH_LIMIT
@ -12114,7 +12114,7 @@ Yap_absmi(int inp)
goto creep;
else {
CFREG = CalculateStackGap();
JMPNext();
goto execute_after_comma;
}
}
#endif
@ -12128,7 +12128,7 @@ Yap_absmi(int inp)
Yap_Error(OUT_OF_STACK_ERROR,TermNil,Yap_ErrorMessage);
}
setregs();
JMPNext();
goto execute_after_comma;
ENDCACHE_Y_AS_ENV();
}