growtrail assumed SREG meant ASP?
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1961 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
93897e4ef4
commit
d316ddeb2a
12
C/absmi.c
12
C/absmi.c
@ -10,8 +10,11 @@
|
|||||||
* *
|
* *
|
||||||
* File: absmi.c *
|
* File: absmi.c *
|
||||||
* comments: Portable abstract machine interpreter *
|
* comments: Portable abstract machine interpreter *
|
||||||
* Last rev: $Date: 2007-09-24 09:02:31 $,$Author: vsc $ *
|
* Last rev: $Date: 2007-10-17 09:18:26 $,$Author: vsc $ *
|
||||||
* $Log: not supported by cvs2svn $
|
* $Log: not supported by cvs2svn $
|
||||||
|
* Revision 1.224 2007/09/24 09:02:31 vsc
|
||||||
|
* minor bug fixes
|
||||||
|
*
|
||||||
* Revision 1.223 2007/06/04 12:28:01 vsc
|
* Revision 1.223 2007/06/04 12:28:01 vsc
|
||||||
* interface speedups
|
* interface speedups
|
||||||
* bad error message in X is foo>>2.
|
* bad error message in X is foo>>2.
|
||||||
@ -742,12 +745,12 @@ Yap_absmi(int inp)
|
|||||||
/* if we are within indexing code, the system may have to
|
/* if we are within indexing code, the system may have to
|
||||||
* update a S */
|
* update a S */
|
||||||
{
|
{
|
||||||
CELL cut_b = LCL0-(CELL *)(SREG[E_CB]);
|
CELL cut_b;
|
||||||
|
|
||||||
#if SHADOW_S
|
#if SHADOW_S
|
||||||
S = SREG;
|
S = SREG;
|
||||||
#endif
|
#endif
|
||||||
/* YREG =was pointing to where we were going to build the
|
/* YREG was pointing to where we were going to build the
|
||||||
* next choice-point. The stack shifter will need to know this
|
* next choice-point. The stack shifter will need to know this
|
||||||
* to move the local stack */
|
* to move the local stack */
|
||||||
if (YREG > (CELL *) PROTECT_FROZEN_B(B)) {
|
if (YREG > (CELL *) PROTECT_FROZEN_B(B)) {
|
||||||
@ -755,6 +758,7 @@ Yap_absmi(int inp)
|
|||||||
} else {
|
} else {
|
||||||
ASP = YREG+E_CB;
|
ASP = YREG+E_CB;
|
||||||
}
|
}
|
||||||
|
cut_b = LCL0-(CELL *)(ASP[E_CB]);
|
||||||
saveregs();
|
saveregs();
|
||||||
if(!Yap_growtrail (0, FALSE)) {
|
if(!Yap_growtrail (0, FALSE)) {
|
||||||
Yap_Error(OUT_OF_TRAIL_ERROR,TermNil,"YAP failed to reserve %ld bytes in growtrail",sizeof(CELL) * 16 * 1024L);
|
Yap_Error(OUT_OF_TRAIL_ERROR,TermNil,"YAP failed to reserve %ld bytes in growtrail",sizeof(CELL) * 16 * 1024L);
|
||||||
@ -1473,7 +1477,7 @@ Yap_absmi(int inp)
|
|||||||
/* enter logical pred */
|
/* enter logical pred */
|
||||||
BOp(alloc_for_logical_pred, EC);
|
BOp(alloc_for_logical_pred, EC);
|
||||||
check_trail(TR);
|
check_trail(TR);
|
||||||
/* say that an environment is using this clause */
|
/* say that an environment is using this clause */
|
||||||
/* we have our own copy for the clause */
|
/* we have our own copy for the clause */
|
||||||
#if defined(YAPOR) || defined(THREADS)
|
#if defined(YAPOR) || defined(THREADS)
|
||||||
{
|
{
|
||||||
|
@ -662,11 +662,16 @@ Macros to check the limits of stacks
|
|||||||
|
|
||||||
#define check_trail(x)
|
#define check_trail(x)
|
||||||
|
|
||||||
|
#define check_trail_in_indexing(x)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#define check_trail(x) if (Unsigned(Yap_TrailTop) - Unsigned(x) < MinTrailGap) \
|
#define check_trail(x) if (Unsigned(Yap_TrailTop) - Unsigned(x) < MinTrailGap) \
|
||||||
goto notrailleft
|
goto notrailleft
|
||||||
|
|
||||||
|
#define check_trail_in_indexing(x) if (Unsigned(Yap_TrailTop) - Unsigned(x) < MinTrailGap) \
|
||||||
|
goto notrailleft_from_index
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (defined(SBA) && defined(YAPOR)) || defined(TABLING)
|
#if (defined(SBA) && defined(YAPOR)) || defined(TABLING)
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
<h2>Yap-5.1.3:</h2>
|
<h2>Yap-5.1.3:</h2>
|
||||||
<ul>
|
<ul>
|
||||||
|
<li> FIXED: grow_trail assumed SREG points to stack top!</li>
|
||||||
<li> FIXED: latest SWI chr.</li>
|
<li> FIXED: latest SWI chr.</li>
|
||||||
<li> FIXED: allow abolishing imports.</li>
|
<li> FIXED: allow abolishing imports.</li>
|
||||||
<li> FIXED: YAP_EnterGoal would set YENV[E_CB] before setting YENV
|
<li> FIXED: YAP_EnterGoal would set YENV[E_CB] before setting YENV
|
||||||
|
Reference in New Issue
Block a user