Merge branch 'udi_new' of github.com:davidvaz/yap-udi into udi_new
This commit is contained in:
commit
38fcc19d55
8
C/adtdefs.c
Normal file → Executable file
8
C/adtdefs.c
Normal file → Executable file
@ -771,7 +771,6 @@ ExpandPredHash(void)
|
||||
Prop
|
||||
Yap_NewPredPropByFunctor(FunctorEntry *fe, Term cur_mod)
|
||||
{
|
||||
CACHE_REGS
|
||||
PredEntry *p = (PredEntry *) Yap_AllocAtomSpace(sizeof(*p));
|
||||
|
||||
if (p == NULL) {
|
||||
@ -852,10 +851,13 @@ Yap_NewPredPropByFunctor(FunctorEntry *fe, Term cur_mod)
|
||||
}
|
||||
p->FunctorOfPred = fe;
|
||||
WRITE_UNLOCK(fe->FRWLock);
|
||||
{
|
||||
CACHE_REGS
|
||||
Yap_inform_profiler_of_clause(&(p->OpcodeOfPred), &(p->OpcodeOfPred)+1, p, GPROF_NEW_PRED_FUNC);
|
||||
if (!(p->PredFlags & (CPredFlag|AsmPredFlag))) {
|
||||
Yap_inform_profiler_of_clause(&(p->cs.p_code.ExpandCode), &(p->cs.p_code.ExpandCode)+1, p, GPROF_NEW_PRED_FUNC);
|
||||
}
|
||||
}
|
||||
return AbsPredProp(p);
|
||||
}
|
||||
|
||||
@ -907,7 +909,6 @@ Yap_NewThreadPred(PredEntry *ap USES_REGS)
|
||||
Prop
|
||||
Yap_NewPredPropByAtom(AtomEntry *ae, Term cur_mod)
|
||||
{
|
||||
CACHE_REGS
|
||||
Prop p0;
|
||||
PredEntry *p = (PredEntry *) Yap_AllocAtomSpace(sizeof(*p));
|
||||
|
||||
@ -964,10 +965,13 @@ Yap_NewPredPropByAtom(AtomEntry *ae, Term cur_mod)
|
||||
p0 = AbsPredProp(p);
|
||||
p->FunctorOfPred = (Functor)AbsAtom(ae);
|
||||
WRITE_UNLOCK(ae->ARWLock);
|
||||
{
|
||||
CACHE_REGS
|
||||
Yap_inform_profiler_of_clause(&(p->OpcodeOfPred), &(p->OpcodeOfPred)+1, p, GPROF_NEW_PRED_ATOM);
|
||||
if (!(p->PredFlags & (CPredFlag|AsmPredFlag))) {
|
||||
Yap_inform_profiler_of_clause(&(p->cs.p_code.ExpandCode), &(p->cs.p_code.ExpandCode)+1, p, GPROF_NEW_PRED_ATOM);
|
||||
}
|
||||
}
|
||||
return p0;
|
||||
}
|
||||
|
||||
|
4
C/amasm.c
Normal file → Executable file
4
C/amasm.c
Normal file → Executable file
@ -2050,14 +2050,16 @@ a_try(op_numbers opcode, CELL lab, CELL opr, int nofalts, int hascut, yamop *cod
|
||||
yamop *newcp;
|
||||
/* emit a special instruction and then a label for backpatching */
|
||||
if (pass_no) {
|
||||
CACHE_REGS
|
||||
UInt size = (UInt)NEXTOP((yamop *)NULL,OtaLl);
|
||||
if ((newcp = (yamop *)Yap_AllocCodeSpace(size)) == NULL) {
|
||||
/* OOOPS, got in trouble, must do a longjmp and recover space */
|
||||
save_machine_regs();
|
||||
siglongjmp(cip->CompilerBotch,2);
|
||||
}
|
||||
{
|
||||
CACHE_REGS
|
||||
Yap_inform_profiler_of_clause(newcp, (char *)(newcp)+size, ap, GPROF_INDEX);
|
||||
}
|
||||
Yap_LUIndexSpace_CP += size;
|
||||
#ifdef DEBUG
|
||||
Yap_NewCps++;
|
||||
|
@ -3190,7 +3190,7 @@ YAP_Init(YAP_init_args *yap_init)
|
||||
/* first, initialise the saved state */
|
||||
Term t_goal = MkAtomTerm(AtomInitProlog);
|
||||
YAP_RunGoalOnce(t_goal);
|
||||
Yap_InitYaamRegs( 0 );
|
||||
// Yap_InitYaamRegs( 0 );
|
||||
/* reset stacks */
|
||||
return YAP_BOOT_FROM_SAVED_CODE;
|
||||
} else {
|
||||
@ -3314,7 +3314,7 @@ YAP_Reset(void)
|
||||
}
|
||||
}
|
||||
/* reinitialise the engine */
|
||||
Yap_InitYaamRegs( worker_id );
|
||||
// Yap_InitYaamRegs( worker_id );
|
||||
GLOBAL_Initialised = TRUE;
|
||||
|
||||
RECOVER_MACHINE_REGS();
|
||||
|
10
C/dbase.c
Normal file → Executable file
10
C/dbase.c
Normal file → Executable file
@ -1887,13 +1887,15 @@ Yap_new_ludbe(Term t, PredEntry *pe, UInt nargs)
|
||||
static LogUpdClause *
|
||||
record_lu(PredEntry *pe, Term t, int position)
|
||||
{
|
||||
CACHE_REGS
|
||||
LogUpdClause *cl;
|
||||
|
||||
if ((cl = new_lu_db_entry(t, pe)) == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
{
|
||||
CACHE_REGS
|
||||
Yap_inform_profiler_of_clause(cl, (char *)cl+cl->ClSize, pe, GPROF_NEW_LU_CLAUSE);
|
||||
}
|
||||
Yap_add_logupd_clause(pe, cl, (position == MkFirst ? 2 : 0));
|
||||
return cl;
|
||||
}
|
||||
@ -4430,7 +4432,7 @@ p_increase_reference_counter( USES_REGS1 )
|
||||
cl = (LogUpdClause *)DBRefOfTerm(t1);
|
||||
PELOCK(67,cl->ClPred);
|
||||
cl->ClRefCount++;
|
||||
UNLOCK(cl->ClPred);
|
||||
UNLOCK(cl->ClPred->PELock);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -4453,10 +4455,10 @@ p_decrease_reference_counter( USES_REGS1 )
|
||||
PELOCK(67,cl->ClPred);
|
||||
if (cl->ClRefCount) {
|
||||
cl->ClRefCount--;
|
||||
UNLOCK(cl->ClPred);
|
||||
UNLOCK(cl->ClPred->PELock);
|
||||
return TRUE;
|
||||
}
|
||||
UNLOCK(cl->ClPred);
|
||||
UNLOCK(cl->ClPred->PELock);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
2
C/exec.c
2
C/exec.c
@ -1736,7 +1736,7 @@ Yap_InitYaamRegs( int myworker_id )
|
||||
Yap_ResetExceptionTerm ( myworker_id );
|
||||
Yap_PutValue (AtomBreak, MkIntTerm (0));
|
||||
TR = (tr_fr_ptr)REMOTE_TrailBase(myworker_id);
|
||||
H = H0 = ((CELL *) REMOTE_GlobalBase(myworker_id))+1;
|
||||
H = H0 = ((CELL *) REMOTE_GlobalBase(myworker_id))+1; // +1: hack to ensure the gc does not try to mark mistakenly
|
||||
LCL0 = ASP = (CELL *) REMOTE_LocalBase(myworker_id);
|
||||
CurrentTrailTop = (tr_fr_ptr)(REMOTE_TrailTop(myworker_id)-MinTrailGap);
|
||||
/* notice that an initial choice-point and environment
|
||||
|
2
C/gprof.c
Normal file → Executable file
2
C/gprof.c
Normal file → Executable file
@ -1177,8 +1177,8 @@ static Int profres0( USES_REGS1 ) {
|
||||
void
|
||||
Yap_InitLowProf(void)
|
||||
{
|
||||
CACHE_REGS
|
||||
#if LOW_PROF
|
||||
CACHE_REGS
|
||||
LOCAL_ProfCalls = 0;
|
||||
LOCAL_ProfilerOn = FALSE;
|
||||
|
||||
|
29
C/heapgc.c
29
C/heapgc.c
@ -410,8 +410,15 @@ push_registers(Int num_regs, yamop *nextop USES_REGS)
|
||||
al = al->NextAE;
|
||||
}
|
||||
while (gl) {
|
||||
Term t = gl->global;
|
||||
if (!IsUnboundVar(&gl->global) &&
|
||||
!IsAtomTerm(t) &&
|
||||
!IsIntTerm(t)
|
||||
) {
|
||||
check_pr_trail(TR PASS_REGS);
|
||||
TrailTerm(TR++) = gl->global;
|
||||
//fprintf(stderr,"in=%s %p\n", gl->AtomOfGE->StrOfAE, gl->global);
|
||||
TrailTerm(TR++) = t;
|
||||
}
|
||||
gl = gl->NextGE;
|
||||
}
|
||||
while (sal) {
|
||||
@ -504,7 +511,14 @@ pop_registers(Int num_regs, yamop *nextop USES_REGS)
|
||||
al = al->NextAE;
|
||||
}
|
||||
while (gl) {
|
||||
Term t = gl->global;
|
||||
if (!IsUnboundVar(&gl->global) &&
|
||||
!IsAtomTerm(t) &&
|
||||
!IsIntTerm(t)
|
||||
) {
|
||||
//fprintf(stderr,"out=%s %p\n", gl->AtomOfGE->StrOfAE, gl->global);
|
||||
gl->global = TrailTerm(ptr++);
|
||||
}
|
||||
gl = gl->NextGE;
|
||||
}
|
||||
sal = LOCAL_StaticArrays;
|
||||
@ -1150,6 +1164,7 @@ mark_variable(CELL_PTR current USES_REGS)
|
||||
POP_CONTINUATION();
|
||||
}
|
||||
if (current >= H0 && current < H) {
|
||||
//fprintf(stderr,"%p M\n", current);
|
||||
LOCAL_total_marked++;
|
||||
if (current < LOCAL_HGEN) {
|
||||
LOCAL_total_oldies++;
|
||||
@ -1165,6 +1180,7 @@ mark_variable(CELL_PTR current USES_REGS)
|
||||
if (IN_BETWEEN(LOCAL_GlobalBase,current,H) && GlobalIsAttVar(current) && current==next) {
|
||||
if (next < H0) POP_CONTINUATION();
|
||||
if (!UNMARKED_MARK(next-1,local_bp)) {
|
||||
//fprintf(stderr,"%p M\n", next-1);
|
||||
LOCAL_total_marked++;
|
||||
if (next-1 < LOCAL_HGEN) {
|
||||
LOCAL_total_oldies++;
|
||||
@ -1207,6 +1223,7 @@ mark_variable(CELL_PTR current USES_REGS)
|
||||
UNMARK(current);
|
||||
*current = cnext;
|
||||
if (current >= H0 && current < H) {
|
||||
//fprintf(stderr,"%p M\n", current-1);
|
||||
LOCAL_total_marked--;
|
||||
if (current < LOCAL_HGEN) {
|
||||
LOCAL_total_oldies--;
|
||||
@ -1231,6 +1248,7 @@ mark_variable(CELL_PTR current USES_REGS)
|
||||
*current = UNMARK_CELL(cnext);
|
||||
UNMARK(current);
|
||||
if (current >= H0 && current < H ) {
|
||||
//fprintf(stderr,"%p M\n", current);
|
||||
LOCAL_total_marked--;
|
||||
if (current < LOCAL_HGEN) {
|
||||
LOCAL_total_oldies--;
|
||||
@ -1278,6 +1296,7 @@ mark_variable(CELL_PTR current USES_REGS)
|
||||
/* speedup for strings */
|
||||
if (IsAtomOrIntTerm(*next)) {
|
||||
if (!UNMARKED_MARK(next,local_bp)) {
|
||||
//fprintf(stderr,"%p M\n", next);
|
||||
LOCAL_total_marked++;
|
||||
if (next < LOCAL_HGEN) {
|
||||
LOCAL_total_oldies++;
|
||||
@ -1337,6 +1356,7 @@ mark_variable(CELL_PTR current USES_REGS)
|
||||
DEBUG_printf0("%p 1\n", next);
|
||||
DEBUG_printf0("%p 3\n", next);
|
||||
}
|
||||
//fprintf(stderr,"%p M 3\n", next);
|
||||
LOCAL_total_marked += 3;
|
||||
PUSH_POINTER(next PASS_REGS);
|
||||
PUSH_POINTER(next+2 PASS_REGS);
|
||||
@ -1352,6 +1372,7 @@ mark_variable(CELL_PTR current USES_REGS)
|
||||
DEBUG_printf0("%p 1\n", next);
|
||||
DEBUG_printf1("%p %ld\n", next, (long int)(sz+1));
|
||||
}
|
||||
//fprintf(stderr,"%p M %d\n", next,1+sz);
|
||||
LOCAL_total_marked += 1+sz;
|
||||
PUSH_POINTER(next+sz PASS_REGS);
|
||||
MARK(next+sz);
|
||||
@ -1390,6 +1411,7 @@ mark_variable(CELL_PTR current USES_REGS)
|
||||
DEBUG_printf0("%p 1\n", next);
|
||||
DEBUG_printf1("%p %ld\n", next, (long int)(sz+2));
|
||||
}
|
||||
//fprintf(stderr,"%p M %d\n", next,2+sz);
|
||||
LOCAL_total_marked += 2+sz;
|
||||
PUSH_POINTER(next PASS_REGS);
|
||||
sz++;
|
||||
@ -1411,6 +1433,7 @@ mark_variable(CELL_PTR current USES_REGS)
|
||||
#endif
|
||||
arity = ArityOfFunctor((Functor)(cnext));
|
||||
MARK(next);
|
||||
//fprintf(stderr,"%p M\n", next);
|
||||
++LOCAL_total_marked;
|
||||
if (next < LOCAL_HGEN) {
|
||||
++LOCAL_total_oldies;
|
||||
@ -1422,6 +1445,7 @@ mark_variable(CELL_PTR current USES_REGS)
|
||||
/* speedup for leaves */
|
||||
while (arity && IsAtomOrIntTerm(*next)) {
|
||||
if (!UNMARKED_MARK(next,local_bp)) {
|
||||
//fprintf(stderr,"%p M\n", next);
|
||||
LOCAL_total_marked++;
|
||||
if (next < LOCAL_HGEN) {
|
||||
LOCAL_total_oldies++;
|
||||
@ -1695,6 +1719,7 @@ mark_trail(tr_fr_ptr trail_ptr, tr_fr_ptr trail_base, CELL *gc_H, choiceptr gc_B
|
||||
The ideal solution would be to unbind all variables. The current solution is to
|
||||
remark it as an attributed variable */
|
||||
if (IN_BETWEEN(LOCAL_GlobalBase,hp,H) && GlobalIsAttVar(hp) && !UNMARKED_MARK(hp-1,LOCAL_bp)) {
|
||||
//fprintf(stderr,"%p M\n", hp);
|
||||
LOCAL_total_marked++;
|
||||
PUSH_POINTER(hp-1 PASS_REGS);
|
||||
if (hp-1 < LOCAL_HGEN) {
|
||||
@ -3367,6 +3392,7 @@ compact_heap( USES_REGS1 )
|
||||
ptr++;
|
||||
MARK(ptr);
|
||||
#ifdef DEBUG
|
||||
//fprintf(stderr,"%p U %d\n", ptr, nofcells);
|
||||
found_marked+=nofcells;
|
||||
#endif
|
||||
/* first swap the tag so that it will be seen by the next step */
|
||||
@ -3381,6 +3407,7 @@ compact_heap( USES_REGS1 )
|
||||
DEBUG_printf20("%p 1\n", current);
|
||||
}
|
||||
#ifdef DEBUG
|
||||
// fprintf(stderr,"%p U\n", current);
|
||||
found_marked++;
|
||||
#endif /* DEBUG */
|
||||
update_relocation_chain(current, dest PASS_REGS);
|
||||
|
4
C/index.c
Normal file → Executable file
4
C/index.c
Normal file → Executable file
@ -1888,7 +1888,6 @@ emit_single_switch_case(ClauseDef *min, struct intermediates *cint, int first, i
|
||||
static UInt
|
||||
suspend_indexing(ClauseDef *min, ClauseDef *max, PredEntry *ap, struct intermediates *cint)
|
||||
{
|
||||
CACHE_REGS
|
||||
UInt tcls = ap->cs.p_code.NOfClauses;
|
||||
UInt cls = (max-min)+1;
|
||||
|
||||
@ -1924,7 +1923,10 @@ suspend_indexing(ClauseDef *min, ClauseDef *max, PredEntry *ap, struct intermedi
|
||||
} else {
|
||||
Yap_IndexSpace_EXT += sz;
|
||||
}
|
||||
{
|
||||
CACHE_REGS
|
||||
Yap_inform_profiler_of_clause(ncode, (CODEADDR)ncode+sz, ap, GPROF_NEW_EXPAND_BLOCK);
|
||||
}
|
||||
/* create an expand_block */
|
||||
ncode->opc = Yap_opcode(_expand_clauses);
|
||||
ncode->u.sssllp.p = ap;
|
||||
|
2
C/qlyr.c
Normal file → Executable file
2
C/qlyr.c
Normal file → Executable file
@ -961,7 +961,6 @@ read_ops(IOSTREAM *stream) {
|
||||
|
||||
static void
|
||||
read_module(IOSTREAM *stream) {
|
||||
CACHE_REGS
|
||||
qlf_tag_t x;
|
||||
|
||||
InitHash();
|
||||
@ -1045,7 +1044,6 @@ p_read_program( USES_REGS1 )
|
||||
int
|
||||
Yap_Restore(char *s, char *lib_dir)
|
||||
{
|
||||
CACHE_REGS
|
||||
IOSTREAM *stream = Yap_OpenRestore(s, lib_dir);
|
||||
if (!stream)
|
||||
return -1;
|
||||
|
2
C/qlyw.c
Normal file → Executable file
2
C/qlyw.c
Normal file → Executable file
@ -765,7 +765,6 @@ save_ops(IOSTREAM *stream, Term mod) {
|
||||
|
||||
static size_t
|
||||
save_module(IOSTREAM *stream, Term mod) {
|
||||
CACHE_REGS
|
||||
PredEntry *ap = Yap_ModulePred(mod);
|
||||
InitHash();
|
||||
ModuleAdjust(mod);
|
||||
@ -803,7 +802,6 @@ save_header(IOSTREAM *stream)
|
||||
|
||||
static size_t
|
||||
save_program(IOSTREAM *stream) {
|
||||
CACHE_REGS
|
||||
ModEntry *me = CurrentModules;
|
||||
|
||||
InitHash();
|
||||
|
29
C/sysbits.c
29
C/sysbits.c
@ -466,7 +466,7 @@ static clock_t TimesStartOfTimes, Times_last_time;
|
||||
|
||||
/* store user time in this variable */
|
||||
static void
|
||||
InitTime (int)
|
||||
InitTime (int wid)
|
||||
{
|
||||
HANDLE hProcess = GetCurrentProcess();
|
||||
FILETIME CreationTime, ExitTime, KernelTime, UserTime;
|
||||
@ -476,6 +476,11 @@ InitTime (int)
|
||||
t = clock ();
|
||||
Times_last_time = TimesStartOfTimes = t;
|
||||
} else {
|
||||
#if THREADS
|
||||
REMOTE_ThreadHandle(wid).start_of_timesp = (struct _FILETIME *)malloc(sizeof(FILETIME));
|
||||
REMOTE_ThreadHandle(wid).last_timep = (struct _FILETIME *)malloc(sizeof(FILETIME));
|
||||
REMOTE_ThreadHandle(wid).start_of_times_sysp = (struct _FILETIME *)malloc(sizeof(FILETIME));
|
||||
REMOTE_ThreadHandle(wid).last_time_sysp = (struct _FILETIME *)malloc(sizeof(FILETIME));
|
||||
(*REMOTE_ThreadHandle(wid).last_timep).dwLowDateTime =
|
||||
UserTime.dwLowDateTime;
|
||||
(*REMOTE_ThreadHandle(wid).last_timep).dwHighDateTime =
|
||||
@ -488,10 +493,28 @@ InitTime (int)
|
||||
KernelTime.dwLowDateTime;
|
||||
(*REMOTE_ThreadHandle(wid).last_time_sysp).dwHighDateTime =
|
||||
KernelTime.dwHighDateTime;
|
||||
(*REMOTE_ThreadHandle(wid).start_of_times_sysp).dwLowDateTime =
|
||||
(*REMOTE_ThreadHandle(wid).start_of_times_sysp).dwLowDateTime =
|
||||
KernelTime.dwLowDateTime;
|
||||
(*REMOTE_ThreadHandle(wid).start_of_times_sysp).dwHighDateTime =
|
||||
KernelTime.dwHighDateTime;
|
||||
#else
|
||||
last_time.dwLowDateTime =
|
||||
UserTime.dwLowDateTime;
|
||||
last_time.dwHighDateTime =
|
||||
UserTime.dwHighDateTime;
|
||||
StartOfTimes.dwLowDateTime =
|
||||
UserTime.dwLowDateTime;
|
||||
StartOfTimes.dwHighDateTime =
|
||||
UserTime.dwHighDateTime;
|
||||
last_time_sys.dwLowDateTime =
|
||||
KernelTime.dwLowDateTime;
|
||||
last_time_sys.dwHighDateTime =
|
||||
KernelTime.dwHighDateTime;
|
||||
StartOfTimes_sys.dwLowDateTime =
|
||||
KernelTime.dwLowDateTime;
|
||||
StartOfTimes_sys.dwHighDateTime =
|
||||
KernelTime.dwHighDateTime;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@ -1475,8 +1498,8 @@ STATIC_PROTO (void my_signal, (int, void (*)(int)));
|
||||
static RETSIGTYPE
|
||||
HandleMatherr(int sig)
|
||||
{
|
||||
#if HAVE_FETESTEXCEPT
|
||||
CACHE_REGS
|
||||
#if HAVE_FETESTEXCEPT
|
||||
/* This should work in Linux, but it doesn't seem to. */
|
||||
|
||||
int raised = fetestexcept(FE_ALL_EXCEPT);
|
||||
|
7
H/Yap.h
7
H/Yap.h
@ -746,11 +746,16 @@ typedef struct thandle {
|
||||
#endif
|
||||
pthread_mutex_t tlock;
|
||||
pthread_mutex_t tlock_status;
|
||||
#if HAVE_GETRUSAGE||defined(_WIN32)
|
||||
#if HAVE_GETRUSAGE
|
||||
struct timeval *start_of_timesp;
|
||||
struct timeval *last_timep;
|
||||
struct timeval *start_of_times_sysp;
|
||||
struct timeval *last_time_sysp;
|
||||
#elif _WIN32
|
||||
struct _FILETIME *start_of_timesp;
|
||||
struct _FILETIME *last_timep;
|
||||
struct _FILETIME *start_of_times_sysp;
|
||||
struct _FILETIME *last_time_sysp;
|
||||
#endif
|
||||
} yap_thandle;
|
||||
#endif /* THREADS */
|
||||
|
@ -111,7 +111,9 @@ UNMARKED_MARK__(CELL* ptr, char *bp USES_REGS)
|
||||
static inline void
|
||||
MARK__(CELL* ptr USES_REGS)
|
||||
{
|
||||
mcell(ptr) = mcell(ptr) | MARK_BIT;
|
||||
Int pos = ptr - (CELL *)LOCAL_GlobalBase;
|
||||
char t = LOCAL_bp[pos];
|
||||
LOCAL_bp[pos] = t | MARK_BIT;
|
||||
}
|
||||
|
||||
static inline void
|
||||
|
13
configure
vendored
13
configure
vendored
@ -637,6 +637,7 @@ ZLIB_TARGETS
|
||||
ZLIBS
|
||||
MAILDROP_CFLAGS
|
||||
RFC2045CHARSET
|
||||
EXTRA_LIBS_FOR_SWIDLLS
|
||||
CLIB_CRYPTLIBS
|
||||
CLIB_NETLIBS
|
||||
CLIB_PLTARGETS
|
||||
@ -706,7 +707,6 @@ YAP_EXTRAS
|
||||
SONAMEFLAG
|
||||
DYNYAPLIB
|
||||
YAPLIB
|
||||
EXTRA_LIBS_FOR_SWIDLLS
|
||||
EXTRA_LIBS_FOR_DLLS
|
||||
YAPLIB_CFLAGS
|
||||
YAPLIB_LD
|
||||
@ -6921,7 +6921,6 @@ test -n "$PYTHON" || PYTHON=""none""
|
||||
PYTHONHOME=`$PYTHON -c'import sys; print sys.prefix'`
|
||||
PYTHONVERSION=`"$PYTHON" -c "import sys; print sys.version[:3]"`
|
||||
PYTHON_LIBS="-L $PYTHONHOME/lib -lpython$PYTHONVERSION"
|
||||
LIBS="$LIBS $PYTHON_LIBS"
|
||||
PYTHON_INCLUDES="-I $PYTHONHOME/include/python$PYTHONVERSION"
|
||||
else
|
||||
PYTHON_TARGET="dummy"
|
||||
@ -7747,11 +7746,7 @@ elif test -e "$srcdir"/packages/jpl/Makefile.in; then
|
||||
JAVA_HOME="$yap_cv_java"
|
||||
case "$target_os" in
|
||||
*cygwin*|*mingw*)
|
||||
if test $threads = yes; then
|
||||
JAVALIBS="\"$JAVA_HOME\"/lib/jvm.lib -lpthread"
|
||||
else
|
||||
JAVALIBS="\"$JAVA_HOME\"/lib/jvm.lib"
|
||||
fi
|
||||
JPLCFLAGS="-I\"$JAVA_HOME\"/include -I\"$JAVA_HOME\"/include/win32"
|
||||
;;
|
||||
*darwin*)
|
||||
@ -8514,8 +8509,6 @@ fi
|
||||
;;
|
||||
esac
|
||||
|
||||
EXTRA_LIBS_FOR_SWIDLLS="$EXTRA_LIBS_FOR_DLLS"
|
||||
|
||||
if test "$dynamic_loading" = "yes"
|
||||
then
|
||||
YAPLIB_CFLAGS="$SHLIB_CFLAGS"
|
||||
@ -9805,7 +9798,6 @@ CMDEXT=sh
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc threaded code" >&5
|
||||
@ -10909,6 +10901,9 @@ _ACEOF
|
||||
fi
|
||||
|
||||
|
||||
EXTRA_LIBS_FOR_SWIDLLS="$EXTRA_LIBS_FOR_DLLS $CLIB_PTHREADS"
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking \"variable timezone in tzset\"" >&5
|
||||
$as_echo_n "checking \"variable timezone in tzset\"... " >&6; }
|
||||
|
11
configure.in
11
configure.in
@ -873,7 +873,6 @@ elif test -e "$srcdir"/packages/python/Makefile.in ; then
|
||||
PYTHONHOME=`$PYTHON -c'import sys; print sys.prefix'`
|
||||
PYTHONVERSION=`"$PYTHON" -c "import sys; print sys.version[[:3]]"`
|
||||
PYTHON_LIBS="-L $PYTHONHOME/lib -lpython$PYTHONVERSION"
|
||||
LIBS="$LIBS $PYTHON_LIBS"
|
||||
PYTHON_INCLUDES="-I $PYTHONHOME/include/python$PYTHONVERSION"
|
||||
else
|
||||
PYTHON_TARGET="dummy"
|
||||
@ -1124,11 +1123,7 @@ elif test -e "$srcdir"/packages/jpl/Makefile.in; then
|
||||
JAVA_HOME="$yap_cv_java"
|
||||
case "$target_os" in
|
||||
*cygwin*|*mingw*)
|
||||
if test $threads = yes; then
|
||||
JAVALIBS="\"$JAVA_HOME\"/lib/jvm.lib -lpthread"
|
||||
else
|
||||
JAVALIBS="\"$JAVA_HOME\"/lib/jvm.lib"
|
||||
fi
|
||||
JPLCFLAGS="-I\"$JAVA_HOME\"/include -I\"$JAVA_HOME\"/include/win32"
|
||||
;;
|
||||
*darwin*)
|
||||
@ -1489,8 +1484,6 @@ dnl Linux has both elf and a.out, in this case we found elf
|
||||
;;
|
||||
esac
|
||||
|
||||
EXTRA_LIBS_FOR_SWIDLLS="$EXTRA_LIBS_FOR_DLLS"
|
||||
|
||||
if test "$dynamic_loading" = "yes"
|
||||
then
|
||||
YAPLIB_CFLAGS="$SHLIB_CFLAGS"
|
||||
@ -1830,7 +1823,6 @@ AC_SUBST(SHLIB_CXX_LD)
|
||||
AC_SUBST(YAPLIB_LD)
|
||||
AC_SUBST(YAPLIB_CFLAGS)
|
||||
AC_SUBST(EXTRA_LIBS_FOR_DLLS)
|
||||
AC_SUBST(EXTRA_LIBS_FOR_SWIDLLS)
|
||||
dnl objects in YAP library
|
||||
AC_SUBST(YAPLIB)
|
||||
AC_SUBST(DYNYAPLIB)
|
||||
@ -2273,6 +2265,9 @@ AC_CHECK_TYPES(ssize_t, [], [],
|
||||
#include <sys/socket.h>
|
||||
])
|
||||
|
||||
EXTRA_LIBS_FOR_SWIDLLS="$EXTRA_LIBS_FOR_DLLS $CLIB_PTHREADS"
|
||||
AC_SUBST(EXTRA_LIBS_FOR_SWIDLLS)
|
||||
|
||||
dnl tszet and timezone trouble
|
||||
|
||||
AC_MSG_CHECKING("variable timezone in tzset")
|
||||
|
@ -706,6 +706,7 @@ PL_EXPORT(int) PL_get_list_ex(term_t l, term_t h, term_t t);
|
||||
PL_EXPORT(int) PL_get_nil_ex(term_t l);
|
||||
|
||||
PL_EXPORT(int) PL_instantiation_error(term_t culprit);
|
||||
PL_EXPORT(int) PL_uninstantiation_error(term_t culprit);
|
||||
PL_EXPORT(int) PL_representation_error(const char *resource);
|
||||
PL_EXPORT(int) PL_type_error(const char *expected, term_t culprit);
|
||||
PL_EXPORT(int) PL_domain_error(const char *expected, term_t culprit);
|
||||
|
5
os/pl-error.c
Normal file → Executable file
5
os/pl-error.c
Normal file → Executable file
@ -204,6 +204,11 @@ PL_instantiation_error(term_t actual)
|
||||
{ return PL_error(NULL, 0, NULL, ERR_INSTANTIATION);
|
||||
}
|
||||
|
||||
int
|
||||
PL_uninstantiation_error(term_t actual)
|
||||
{ return PL_error(NULL, 0, NULL, ERR_UNINSTANTIATION, 0, actual);
|
||||
}
|
||||
|
||||
int
|
||||
PL_representation_error(const char *resource)
|
||||
{ atom_t r = PL_new_atom(resource);
|
||||
|
2
packages/prism/src/c/Makefile.in
Normal file → Executable file
2
packages/prism/src/c/Makefile.in
Normal file → Executable file
@ -71,7 +71,7 @@ mp/%.o: $(srcdir)/mp/%.c
|
||||
$(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
@DO_SECOND_LD@prism.@SO@: $(OBJS)
|
||||
@DO_SECOND_LD@ @SHLIB_LD@ $(LDFLAGS) -o $@ $(OBJS) @EXTRA_LIBS_FOR_DLLS@
|
||||
@DO_SECOND_LD@ @SHLIB_LD@ $(LDFLAGS) -o $@ $(OBJS) @EXTRA_LIBS_FOR_DLLS@ @CLIB_PTHREADS@
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 29a8436d86886cf932a790a013cfcf10240c68c8
|
||||
Subproject commit 4452ed66c995b13258d74144d64a9d9425f22e77
|
Reference in New Issue
Block a user