in execute instructions, stack checking should be performed before

cleaning the arguments


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@298 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
vsc 2002-01-16 05:10:30 +00:00
parent 8e405ae9be
commit 4c63dbee3d

View File

@ -11167,6 +11167,9 @@ absmi(int inp)
int mod = IntOfTerm(ARG2);
CACHE_Y_AS_ENV(Y);
#ifndef NO_CHECKING
check_stack(NoStackPExec, H);
#endif
BEGD(d0);
d0 = ARG1;
if (PredGoalExpansion->OpcodeOfPred != UNDEF_OPCODE) {
@ -11218,9 +11221,6 @@ absmi(int inp)
goto execute_nvar;
}
#ifndef NO_CHECKING
check_stack(NoStackPExec, H);
#endif
/* code copied from call */
ENV = E_Y;
/* Try to preserve the environment */
@ -11288,7 +11288,11 @@ absmi(int inp)
PredEntry *pen;
int mod = CurrentModule;
CACHE_Y_AS_ENV(Y);
#ifndef NO_CHECKING
check_stack(NoStackPWExec, H);
#endif
BEGD(d0);
d0 = ARG1;
if (PredGoalExpansion->OpcodeOfPred != UNDEF_OPCODE) {
@ -11364,9 +11368,6 @@ absmi(int inp)
goto execute_within_nvar;
}
#ifndef NO_CHECKING
check_stack(NoStackPWExec, H);
#endif
/* code copied from call */
ENV = E_Y;
/* Try to preserve the environment */
@ -11437,6 +11438,9 @@ absmi(int inp)
int mod = CurrentModule;
CACHE_Y_AS_ENV(Y);
#ifndef NO_CHECKING
check_stack(NoStackPWLExec, H);
#endif
BEGD(d0);
d0 = ARG1;
if (PredGoalExpansion->OpcodeOfPred != UNDEF_OPCODE) {
@ -11517,9 +11521,6 @@ absmi(int inp)
d0 = ENV[E_CB];
else
d0 = (CELL)B;
#ifndef NO_CHECKING
check_stack(NoStackPWLExec, H);
#endif
PREG = (yamop *) pen->CodeOfPred;
/* do deallocate */
CPREG = (yamop *) E_Y[E_CP];