fix bb entries
comment development code for timestamp overflow. git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1703 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
d3dab0f5a1
commit
230c812a76
10
C/cdmgr.c
10
C/cdmgr.c
@ -11,8 +11,13 @@
|
|||||||
* File: cdmgr.c *
|
* File: cdmgr.c *
|
||||||
* comments: Code manager *
|
* comments: Code manager *
|
||||||
* *
|
* *
|
||||||
* Last rev: $Date: 2006-10-11 14:53:57 $,$Author: vsc $ *
|
* Last rev: $Date: 2006-10-11 15:08:03 $,$Author: vsc $ *
|
||||||
* $Log: not supported by cvs2svn $
|
* $Log: not supported by cvs2svn $
|
||||||
|
* Revision 1.193 2006/10/11 14:53:57 vsc
|
||||||
|
* fix memory leak
|
||||||
|
* fix overflow handling
|
||||||
|
* VS: ----------------------------------------------------------------------
|
||||||
|
*
|
||||||
* Revision 1.192 2006/10/10 14:08:16 vsc
|
* Revision 1.192 2006/10/10 14:08:16 vsc
|
||||||
* small fixes on threaded implementation.
|
* small fixes on threaded implementation.
|
||||||
*
|
*
|
||||||
@ -5002,6 +5007,7 @@ p_continue_log_update_clause0(void)
|
|||||||
return fetch_next_lu_clause0(pe, ipc, Deref(ARG3), ARG4, B->cp_cp, FALSE);
|
return fetch_next_lu_clause0(pe, ipc, Deref(ARG3), ARG4, B->cp_cp, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if TIMESTAMP_OVERFLOW
|
||||||
static void
|
static void
|
||||||
adjust_cl_timestamp(LogUpdClause *cl, UInt *arp, UInt NStamps)
|
adjust_cl_timestamp(LogUpdClause *cl, UInt *arp, UInt NStamps)
|
||||||
{
|
{
|
||||||
@ -5078,6 +5084,8 @@ Yap_update_timestamps(PredEntry *ap, UInt arity)
|
|||||||
goto restart;
|
goto restart;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
static Int
|
static Int
|
||||||
fetch_next_static_clause(PredEntry *pe, yamop *i_code, Term th, Term tb, Term tr, yamop *cp_ptr, int first_time)
|
fetch_next_static_clause(PredEntry *pe, yamop *i_code, Term th, Term tb, Term tr, yamop *cp_ptr, int first_time)
|
||||||
{
|
{
|
||||||
|
@ -11,8 +11,12 @@
|
|||||||
* File: compiler.c *
|
* File: compiler.c *
|
||||||
* comments: Clause compiler *
|
* comments: Clause compiler *
|
||||||
* *
|
* *
|
||||||
* Last rev: $Date: 2006-09-20 20:03:51 $,$Author: vsc $ *
|
* Last rev: $Date: 2006-10-11 15:08:03 $,$Author: vsc $ *
|
||||||
* $Log: not supported by cvs2svn $
|
* $Log: not supported by cvs2svn $
|
||||||
|
* Revision 1.80 2006/09/20 20:03:51 vsc
|
||||||
|
* improve indexing on floats
|
||||||
|
* fix sending large lists to DB
|
||||||
|
*
|
||||||
* Revision 1.79 2006/08/01 13:14:17 vsc
|
* Revision 1.79 2006/08/01 13:14:17 vsc
|
||||||
* fix compilation of |
|
* fix compilation of |
|
||||||
*
|
*
|
||||||
@ -2110,7 +2114,7 @@ typedef struct {
|
|||||||
PInstr *pc;
|
PInstr *pc;
|
||||||
} bventry;
|
} bventry;
|
||||||
|
|
||||||
#define MAX_DISJUNCTIONS 32
|
#define MAX_DISJUNCTIONS 128
|
||||||
static bventry *bvstack;
|
static bventry *bvstack;
|
||||||
static int bvindex = 0;
|
static int bvindex = 0;
|
||||||
|
|
||||||
|
@ -1808,12 +1808,14 @@ new_lu_db_entry(Term t, PredEntry *pe)
|
|||||||
cl->ClPrev = cl->ClNext = NULL;
|
cl->ClPrev = cl->ClNext = NULL;
|
||||||
cl->ClSize = ((CODEADDR)&(x->Contents)-(CODEADDR)cl)+x->NOfCells*sizeof(CELL);
|
cl->ClSize = ((CODEADDR)&(x->Contents)-(CODEADDR)cl)+x->NOfCells*sizeof(CELL);
|
||||||
/* Support for timestamps */
|
/* Support for timestamps */
|
||||||
if (pe->LastCallOfPred != LUCALL_ASSERT) {
|
if (pe && pe->LastCallOfPred != LUCALL_ASSERT) {
|
||||||
++pe->TimeStampOfPred;
|
++pe->TimeStampOfPred;
|
||||||
/* fprintf(stderr,"+ %x--%d--%ul\n",pe,pe->TimeStampOfPred,pe->ArityOfPE);*/
|
/* fprintf(stderr,"+ %x--%d--%ul\n",pe,pe->TimeStampOfPred,pe->ArityOfPE);*/
|
||||||
pe->LastCallOfPred = LUCALL_ASSERT;
|
pe->LastCallOfPred = LUCALL_ASSERT;
|
||||||
}
|
|
||||||
cl->ClTimeStart = pe->TimeStampOfPred;
|
cl->ClTimeStart = pe->TimeStampOfPred;
|
||||||
|
} else {
|
||||||
|
cl->ClTimeStart = 0L;
|
||||||
|
}
|
||||||
cl->ClTimeEnd = ~0L;
|
cl->ClTimeEnd = ~0L;
|
||||||
#if defined(YAPOR) || defined(THREADS)
|
#if defined(YAPOR) || defined(THREADS)
|
||||||
INIT_LOCK(cl->ClLock);
|
INIT_LOCK(cl->ClLock);
|
||||||
|
Reference in New Issue
Block a user