My first attempt to synchronize OPTYap with CVS
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@919 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
5a2d51d07c
commit
17dad3f6f7
8
H/Heap.h
8
H/Heap.h
@ -10,7 +10,7 @@
|
|||||||
* File: Heap.h *
|
* File: Heap.h *
|
||||||
* mods: *
|
* mods: *
|
||||||
* comments: Heap Init Structure *
|
* comments: Heap Init Structure *
|
||||||
* version: $Id: Heap.h,v 1.45 2003-10-28 01:16:02 vsc Exp $ *
|
* version: $Id: Heap.h,v 1.46 2003-11-05 18:55:03 ricroc Exp $ *
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
/* information that can be stored in Code Space */
|
/* information that can be stored in Code Space */
|
||||||
@ -340,7 +340,7 @@ typedef struct various_codes {
|
|||||||
#if defined(YAPOR) || defined(TABLING)
|
#if defined(YAPOR) || defined(TABLING)
|
||||||
struct global_data global;
|
struct global_data global;
|
||||||
struct local_data remote[MAX_WORKERS];
|
struct local_data remote[MAX_WORKERS];
|
||||||
#endif
|
#endif /* YAPOR || TABLING */
|
||||||
UInt n_of_atoms;
|
UInt n_of_atoms;
|
||||||
UInt atom_hash_table_size;
|
UInt atom_hash_table_size;
|
||||||
AtomHashEntry *hash_chain;
|
AtomHashEntry *hash_chain;
|
||||||
@ -598,9 +598,9 @@ typedef struct various_codes {
|
|||||||
#define UndefCode heap_regs->undef_code
|
#define UndefCode heap_regs->undef_code
|
||||||
#define SpyCode heap_regs->spy_code
|
#define SpyCode heap_regs->spy_code
|
||||||
#if defined(YAPOR) || defined(TABLING)
|
#if defined(YAPOR) || defined(TABLING)
|
||||||
#define REMOTE heap_regs->remote
|
|
||||||
#define GLOBAL heap_regs->global
|
#define GLOBAL heap_regs->global
|
||||||
#endif
|
#define REMOTE heap_regs->remote
|
||||||
|
#endif /* YAPOR || TABLING */
|
||||||
|
|
||||||
#define UPDATE_MODE_IMMEDIATE 0
|
#define UPDATE_MODE_IMMEDIATE 0
|
||||||
#define UPDATE_MODE_LOGICAL 1
|
#define UPDATE_MODE_LOGICAL 1
|
||||||
|
18
H/Regs.h
18
H/Regs.h
@ -10,7 +10,7 @@
|
|||||||
* File: Regs.h *
|
* File: Regs.h *
|
||||||
* mods: *
|
* mods: *
|
||||||
* comments: YAP abstract machine registers *
|
* comments: YAP abstract machine registers *
|
||||||
* version: $Id: Regs.h,v 1.20 2003-02-14 12:20:57 vsc Exp $ *
|
* version: $Id: Regs.h,v 1.21 2003-11-05 18:55:03 ricroc Exp $ *
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
@ -61,9 +61,9 @@ typedef struct
|
|||||||
{
|
{
|
||||||
CELL CreepFlag_; /* 13 */
|
CELL CreepFlag_; /* 13 */
|
||||||
CELL *HB_; /* 4 heap (global) stack top at latest c.p. */
|
CELL *HB_; /* 4 heap (global) stack top at latest c.p. */
|
||||||
#if (defined(YAPOR) && defined(SBA)) || defined(TABLING)
|
#if defined(SBA) || defined(TABLING)
|
||||||
choiceptr BB_; /* 4 local stack top at latest c.p. */
|
choiceptr BB_; /* 4 local stack top at latest c.p. */
|
||||||
#endif
|
#endif /* SBA || TABLING */
|
||||||
CELL *H0_; /* 2 base of heap (global) stack */
|
CELL *H0_; /* 2 base of heap (global) stack */
|
||||||
tr_fr_ptr TR_; /* 24 top of trail */
|
tr_fr_ptr TR_; /* 24 top of trail */
|
||||||
CELL *H_; /* 25 top of heap (global) stack */
|
CELL *H_; /* 25 top of heap (global) stack */
|
||||||
@ -95,11 +95,11 @@ typedef struct
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
SMALLUNSGN CurrentModule_;
|
SMALLUNSGN CurrentModule_;
|
||||||
#if (defined(YAPOR) && defined(SBA)) || defined(TABLING)
|
#if defined(SBA) || defined(TABLING)
|
||||||
CELL *H_FZ_;
|
CELL *H_FZ_;
|
||||||
choiceptr B_FZ_;
|
choiceptr B_FZ_;
|
||||||
tr_fr_ptr TR_FZ_;
|
tr_fr_ptr TR_FZ_;
|
||||||
#endif
|
#endif /* SBA || TABLING */
|
||||||
#if defined(YAPOR) || defined(THREADS)
|
#if defined(YAPOR) || defined(THREADS)
|
||||||
unsigned int worker_id_;
|
unsigned int worker_id_;
|
||||||
#ifdef SBA
|
#ifdef SBA
|
||||||
@ -638,11 +638,11 @@ EXTERN inline void restore_B(void) {
|
|||||||
#define FlipFlop Yap_REGS.FlipFlop_
|
#define FlipFlop Yap_REGS.FlipFlop_
|
||||||
#define EX Yap_REGS.EX_
|
#define EX Yap_REGS.EX_
|
||||||
#define DEPTH Yap_REGS.DEPTH_
|
#define DEPTH Yap_REGS.DEPTH_
|
||||||
#if (defined(YAPOR) && defined(SBA)) || defined(TABLING)
|
#if defined(SBA) || defined(TABLING)
|
||||||
#define H_FZ Yap_REGS.H_FZ_
|
#define H_FZ Yap_REGS.H_FZ_
|
||||||
#define B_FZ Yap_REGS.B_FZ_
|
#define B_FZ Yap_REGS.B_FZ_
|
||||||
#define TR_FZ Yap_REGS.TR_FZ_
|
#define TR_FZ Yap_REGS.TR_FZ_
|
||||||
#endif
|
#endif /* SBA || TABLING */
|
||||||
#if defined(YAPOR) || defined(THREADS)
|
#if defined(YAPOR) || defined(THREADS)
|
||||||
#define worker_id (Yap_REGS.worker_id_)
|
#define worker_id (Yap_REGS.worker_id_)
|
||||||
#ifdef SBA
|
#ifdef SBA
|
||||||
@ -687,10 +687,10 @@ EXTERN inline void restore_B(void) {
|
|||||||
|
|
||||||
#define HBREG HB
|
#define HBREG HB
|
||||||
|
|
||||||
#if (defined(YAPOR) && defined(SBA)) || defined(TABLING)
|
#if defined(SBA) || defined(TABLING)
|
||||||
#define BB Yap_REGS.BB_
|
#define BB Yap_REGS.BB_
|
||||||
#define BBREG BB
|
#define BBREG BB
|
||||||
#endif
|
#endif /* SBA || TABLING */
|
||||||
|
|
||||||
#if !THREADS
|
#if !THREADS
|
||||||
/* use actual addresses for regs */
|
/* use actual addresses for regs */
|
||||||
|
@ -58,6 +58,9 @@
|
|||||||
OPCODE(trie_try_struct ,e),
|
OPCODE(trie_try_struct ,e),
|
||||||
OPCODE(trie_retry_struct ,e),
|
OPCODE(trie_retry_struct ,e),
|
||||||
#endif /* TABLING */
|
#endif /* TABLING */
|
||||||
|
#ifdef TABLING_INNER_CUTS
|
||||||
|
OPCODE(clause_with_cut ,e),
|
||||||
|
#endif /* TABLING_INNER_CUTS */
|
||||||
OPCODE(try_me ,ld),
|
OPCODE(try_me ,ld),
|
||||||
OPCODE(retry_me ,ld),
|
OPCODE(retry_me ,ld),
|
||||||
OPCODE(trust_me ,ld),
|
OPCODE(trust_me ,ld),
|
||||||
|
19
H/absmi.h
19
H/absmi.h
@ -809,7 +809,7 @@ Macros to check the limits of stacks
|
|||||||
#define SET_BB(V) BBREG = (V)
|
#define SET_BB(V) BBREG = (V)
|
||||||
#else
|
#else
|
||||||
#define SET_BB(V)
|
#define SET_BB(V)
|
||||||
#endif
|
#endif /* FROZEN_STACKS && !BFZ_TRAIL_SCHEME */
|
||||||
|
|
||||||
|
|
||||||
#ifdef FROZEN_STACKS
|
#ifdef FROZEN_STACKS
|
||||||
@ -827,13 +827,13 @@ Macros to check the limits of stacks
|
|||||||
|
|
||||||
#define PROTECT_FROZEN_B(CPTR) ((CPTR) < B_FZ && (CPTR) > (choiceptr)H_FZ ? (CPTR) : B_FZ )
|
#define PROTECT_FROZEN_B(CPTR) ((CPTR) < B_FZ && (CPTR) > (choiceptr)H_FZ ? (CPTR) : B_FZ )
|
||||||
*/
|
*/
|
||||||
#else
|
#else /* TABLING */
|
||||||
#define PROTECT_FROZEN_B(CPTR) (YOUNGER_CP(CPTR, B_FZ) ? CPTR : B_FZ)
|
#define PROTECT_FROZEN_B(CPTR) (YOUNGER_CP(CPTR, B_FZ) ? CPTR : B_FZ)
|
||||||
#define PROTECT_FROZEN_H(CPTR) (((CPTR)->cp_h > H_FZ) ? (CPTR)->cp_h : H_FZ)
|
#define PROTECT_FROZEN_H(CPTR) (((CPTR)->cp_h > H_FZ) ? (CPTR)->cp_h : H_FZ)
|
||||||
#endif /* SBA */
|
#endif /* SBA */
|
||||||
#else
|
#else
|
||||||
#define PROTECT_FROZEN_H(CPTR) (CPTR)->cp_h
|
#define PROTECT_FROZEN_H(CPTR) (CPTR)->cp_h
|
||||||
#endif /* TABLING */
|
#endif /* FROZEN_STACKS */
|
||||||
|
|
||||||
#define restore_yaam_regs(AP) \
|
#define restore_yaam_regs(AP) \
|
||||||
{ register CELL *x1 = B_YREG->cp_env; \
|
{ register CELL *x1 = B_YREG->cp_env; \
|
||||||
@ -1099,7 +1099,9 @@ Macros to check the limits of stacks
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if FROZEN_STACKS
|
#if defined(SBA) || defined(MULTI_ASSIGNMENT_VARIABLES)
|
||||||
|
#define trim_trail(B, TR, HBREG) (TR)
|
||||||
|
#elif FROZEN_STACKS
|
||||||
static inline tr_fr_ptr
|
static inline tr_fr_ptr
|
||||||
trim_trail(choiceptr b, tr_fr_ptr tr, CELL *hbreg)
|
trim_trail(choiceptr b, tr_fr_ptr tr, CELL *hbreg)
|
||||||
{
|
{
|
||||||
@ -1126,11 +1128,6 @@ trim_trail(choiceptr b, tr_fr_ptr tr, CELL *hbreg)
|
|||||||
ENDD(d0);
|
ENDD(d0);
|
||||||
return(TR);
|
return(TR);
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined(SBA) || defined(MULTI_ASSIGNMENT_VARIABLES)
|
|
||||||
|
|
||||||
#define trim_trail(B, TR, HBREG) (TR)
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
static inline tr_fr_ptr
|
static inline tr_fr_ptr
|
||||||
trim_trail(choiceptr b, tr_fr_ptr tr, CELL *hbreg)
|
trim_trail(choiceptr b, tr_fr_ptr tr, CELL *hbreg)
|
||||||
@ -1153,7 +1150,7 @@ trim_trail(choiceptr b, tr_fr_ptr tr, CELL *hbreg)
|
|||||||
ENDD(d0);
|
ENDD(d0);
|
||||||
return(TR);
|
return(TR);
|
||||||
}
|
}
|
||||||
#endif /* FROZEN_STACKS */
|
#endif
|
||||||
|
|
||||||
#if IN_ABSMI_C || IN_UNIFY_C
|
#if IN_ABSMI_C || IN_UNIFY_C
|
||||||
|
|
||||||
|
@ -133,12 +133,15 @@ typedef enum compiler_op {
|
|||||||
restore_tmps_and_skip_op,
|
restore_tmps_and_skip_op,
|
||||||
enter_lu_op,
|
enter_lu_op,
|
||||||
empty_call_op,
|
empty_call_op,
|
||||||
#ifdef TABLING
|
|
||||||
table_new_answer_op,
|
|
||||||
#endif /* TABLING */
|
|
||||||
#ifdef YAPOR
|
#ifdef YAPOR
|
||||||
sync_op,
|
sync_op,
|
||||||
#endif /* YAPOR */
|
#endif /* YAPOR */
|
||||||
|
#ifdef TABLING
|
||||||
|
table_new_answer_op,
|
||||||
|
#endif /* TABLING */
|
||||||
|
#ifdef TABLING_INNER_CUTS
|
||||||
|
clause_with_cut_op,
|
||||||
|
#endif /* TABLING_INNER_CUTS */
|
||||||
fetch_args_for_bccall,
|
fetch_args_for_bccall,
|
||||||
bccall_op,
|
bccall_op,
|
||||||
blob_op
|
blob_op
|
||||||
|
@ -656,7 +656,7 @@ RestoreClause(yamop *pc, PredEntry *pp, int mode)
|
|||||||
case _table_trust_me:
|
case _table_trust_me:
|
||||||
case _table_answer_resolution:
|
case _table_answer_resolution:
|
||||||
case _table_completion:
|
case _table_completion:
|
||||||
#endif
|
#endif /* TABLING */
|
||||||
pc->u.ld.p = PtoPredAdjust(pc->u.ld.p);
|
pc->u.ld.p = PtoPredAdjust(pc->u.ld.p);
|
||||||
pc->u.ld.d = PtoOpAdjust(pc->u.ld.d);
|
pc->u.ld.d = PtoOpAdjust(pc->u.ld.d);
|
||||||
pc = NEXTOP(pc,ld);
|
pc = NEXTOP(pc,ld);
|
||||||
@ -750,7 +750,10 @@ RestoreClause(yamop *pc, PredEntry *pp, int mode)
|
|||||||
case _trie_trust_struct:
|
case _trie_trust_struct:
|
||||||
case _trie_try_struct:
|
case _trie_try_struct:
|
||||||
case _trie_retry_struct:
|
case _trie_retry_struct:
|
||||||
#endif
|
#endif /* TABLING */
|
||||||
|
#ifdef TABLING_INNER_CUTS
|
||||||
|
case _clause_with_cut:
|
||||||
|
#endif /* TABLING_INNER_CUTS */
|
||||||
pc = NEXTOP(pc,e);
|
pc = NEXTOP(pc,e);
|
||||||
break;
|
break;
|
||||||
/* instructions type x */
|
/* instructions type x */
|
||||||
@ -1002,7 +1005,7 @@ RestoreClause(yamop *pc, PredEntry *pp, int mode)
|
|||||||
case _pop_n:
|
case _pop_n:
|
||||||
#ifdef TABLING
|
#ifdef TABLING
|
||||||
case _table_new_answer:
|
case _table_new_answer:
|
||||||
#endif
|
#endif /* TABLING */
|
||||||
pc = NEXTOP(pc,s);
|
pc = NEXTOP(pc,s);
|
||||||
break;
|
break;
|
||||||
/* instructions type c */
|
/* instructions type c */
|
||||||
|
Reference in New Issue
Block a user