changes to support more tagging schemes from tabulation.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1303 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
95612f52e9
commit
50398abc6d
@ -690,9 +690,7 @@ Macros to check the limits of stacks
|
||||
|
||||
#if (defined(SBA) && defined(YAPOR)) || defined(TABLING)
|
||||
#define check_stack(Label, GLOB) \
|
||||
if ( (Int)(Unsigned(E_YREG) - CFREG) < (Int)(GLOB) && \
|
||||
(choiceptr)E_YREG < B_FZ && E_YREG > H_FZ && \
|
||||
(GLOB) > H_FZ && (GLOB) < (CELL *)B_FZ) goto Label
|
||||
if ( (Int)(Unsigned(YOUNGEST_CP((choiceptr)E_YREG,B_FZ)) - Unsigned(YOUNGEST_H(H_FZ,GLOB))) < CFREG ) goto Label
|
||||
#else
|
||||
#define check_stack(Label, GLOB) \
|
||||
if ( (Int)(Unsigned(E_YREG) - Unsigned(GLOB)) < CFREG ) goto Label
|
||||
|
18
H/amidefs.h
18
H/amidefs.h
@ -11,8 +11,11 @@
|
||||
* File: amidefs.h *
|
||||
* comments: Abstract machine peculiarities *
|
||||
* *
|
||||
* Last rev: $Date: 2005-04-10 04:01:13 $ *
|
||||
* Last rev: $Date: 2005-05-30 06:07:35 $ *
|
||||
* $Log: not supported by cvs2svn $
|
||||
* Revision 1.27 2005/04/10 04:01:13 vsc
|
||||
* bug fixes, I hope!
|
||||
*
|
||||
* Revision 1.26 2004/09/30 21:37:41 vsc
|
||||
* fixes for thread support
|
||||
*
|
||||
@ -649,11 +652,24 @@ typedef struct choicept {
|
||||
: \
|
||||
(SHARED_CP(CP2) ? TRUE : CP1 <= CP2) \
|
||||
)
|
||||
|
||||
#define YOUNGER_H(H1, H2) FIXMEE!!!!
|
||||
|
||||
|
||||
#else /* ENV_COPY || ACOW */
|
||||
#define YOUNGER_CP(CP1, CP2) ((CP1) < (CP2))
|
||||
#define EQUAL_OR_YOUNGER_CP(CP1, CP2) ((CP1) <= (CP2))
|
||||
|
||||
#define YOUNGER_H(H1, H2) ((CELL *)(H1) > (CELL *)(H2))
|
||||
|
||||
#endif /* SBA */
|
||||
|
||||
#define YOUNGEST_CP(CP1, CP2) (YOUNGER_CP(CP1,CP2) ? (CP1) : (CP2))
|
||||
|
||||
#define YOUNGEST_H(H1, H2) (YOUNGER_H(H1,H2) ? (CELL *)(H1) : (CELL *)(H2))
|
||||
|
||||
|
||||
|
||||
/*
|
||||
Environment Structure (CP, E, and CUT_B). Yap always saves the B
|
||||
where to cut to, even if not needed.
|
||||
|
@ -53,13 +53,13 @@ STD_PROTO(static inline tg_sol_fr_ptr CUT_prune_tg_solution_frames, (tg_sol_fr_p
|
||||
#define TabPairTagBits MKTAG(0x5,3)
|
||||
#define TabApplTagBits MKTAG(0x5,0)
|
||||
#else
|
||||
#define TabTagBits OOOOPPS!!! Inconsistent Tabling Tag Scheme
|
||||
#define TabNumberOfLowTagBits OOOOPPS!!! Inconsistent Tabling Tag Scheme
|
||||
#define TabVarTagBits OOOOPPS!!! Inconsistent Tabling Tag Scheme
|
||||
#define TabAtomTagBits OOOOPPS!!! Inconsistent Tabling Tag Scheme
|
||||
#define TabNumberTagBits OOOOPPS!!! Inconsistent Tabling Tag Scheme
|
||||
#define TabPairTagBits OOOOPPS!!! Inconsistent Tabling Tag Scheme
|
||||
#define TabApplTagBits OOOOPPS!!! Inconsistent Tabling Tag Scheme
|
||||
#define TabTagBits MKTAG(0x0,LowTagBits)
|
||||
#define TabNumberOfLowTagBits LowTagBits
|
||||
#define TabVarTagBits MKTAG(0x0,0)
|
||||
#define TabAtomTagBits AtomTag
|
||||
#define TabNumberTagBits NumberTag
|
||||
#define TabPairTagBits PairBits
|
||||
#define TabApplTagBits ApplBit
|
||||
#endif /* TAGS_FAST_OPS */
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user