This commit is contained in:
Vitor Santos Costa 2017-06-12 18:00:47 +01:00
parent c2f6d968c3
commit 0d96197ddf
47 changed files with 3580 additions and 3581 deletions

View File

@ -25,6 +25,7 @@
#ifndef C_INTERFACE_C #ifndef C_INTERFACE_C
#define C_INTERFACE_C 1 #define C_INTERFACE_C 1
#define _EXPORT_KERNEL 1
#include <stdlib.h> #include <stdlib.h>
#if HAVE_UNISTD_H #if HAVE_UNISTD_H
@ -1079,7 +1080,7 @@ static uintptr_t complete_exit(choiceptr ptr, int has_cp,
return TRUE; return TRUE;
} }
Int YAP_Execute(PredEntry *pe, CPredicate exec_code) { X_API Int YAP_Execute(PredEntry *pe, CPredicate exec_code) {
CACHE_REGS CACHE_REGS
Int ret; Int ret;
Int OASP = LCL0 - (CELL *)B; Int OASP = LCL0 - (CELL *)B;
@ -1120,7 +1121,7 @@ Int YAP_Execute(PredEntry *pe, CPredicate exec_code) {
#define REDO_INT 0x02 /* Returned an integer */ #define REDO_INT 0x02 /* Returned an integer */
#define REDO_PTR 0x03 /* returned a pointer */ #define REDO_PTR 0x03 /* returned a pointer */
Int YAP_ExecuteFirst(PredEntry *pe, CPredicate exec_code) { X_API Int YAP_ExecuteFirst(PredEntry *pe, CPredicate exec_code) {
CACHE_REGS CACHE_REGS
CELL ocp = LCL0 - (CELL *)B; CELL ocp = LCL0 - (CELL *)B;
/* for slots to work */ /* for slots to work */
@ -1168,7 +1169,7 @@ Int YAP_ExecuteFirst(PredEntry *pe, CPredicate exec_code) {
} }
} }
Int YAP_ExecuteOnCut(PredEntry *pe, CPredicate exec_code, X_API Int YAP_ExecuteOnCut(PredEntry *pe, CPredicate exec_code,
struct cut_c_str *top) { struct cut_c_str *top) {
CACHE_REGS CACHE_REGS
Int oB = LCL0 - (CELL *)B; Int oB = LCL0 - (CELL *)B;
@ -1216,7 +1217,7 @@ Int YAP_ExecuteOnCut(PredEntry *pe, CPredicate exec_code,
} }
} }
Int YAP_ExecuteNext(PredEntry *pe, CPredicate exec_code) { X_API Int YAP_ExecuteNext(PredEntry *pe, CPredicate exec_code) {
CACHE_REGS CACHE_REGS
/* for slots to work */ /* for slots to work */
Yap_StartSlots(); Yap_StartSlots();
@ -1847,7 +1848,7 @@ X_API YAP_opaque_tag_t YAP_NewOpaqueType(struct YAP_opaque_handler_struct *f) {
return i + USER_BLOB_START; return i + USER_BLOB_START;
} }
Term YAP_NewOpaqueObject(YAP_opaque_tag_t tag, size_t bytes) { X_API Term YAP_NewOpaqueObject(YAP_opaque_tag_t tag, size_t bytes) {
Term t = Yap_AllocExternalDataInStack((CELL)tag, bytes); Term t = Yap_AllocExternalDataInStack((CELL)tag, bytes);
if (t == TermNil) if (t == TermNil)
return 0L; return 0L;
@ -2322,7 +2323,7 @@ bool Yap_embedded = true;
/* this routine is supposed to be called from an external program /* this routine is supposed to be called from an external program
that wants to control Yap */ that wants to control Yap */
YAP_file_type_t YAP_Init(YAP_init_args *yap_init) { X_API YAP_file_type_t YAP_Init(YAP_init_args *yap_init) {
YAP_file_type_t restore_result = yap_init->boot_file_type; YAP_file_type_t restore_result = yap_init->boot_file_type;
bool do_bootstrap = (restore_result & YAP_CONSULT_MODE); bool do_bootstrap = (restore_result & YAP_CONSULT_MODE);
CELL Trail = 0, Stack = 0, Heap = 0, Atts = 0; CELL Trail = 0, Stack = 0, Heap = 0, Atts = 0;
@ -3088,7 +3089,7 @@ X_API void YAP_signal(int sig) { Yap_signal(sig); }
X_API int YAP_SetYAPFlag(Term flag, Term val) { return setYapFlag(flag, val); } X_API int YAP_SetYAPFlag(Term flag, Term val) { return setYapFlag(flag, val); }
/* yhandle_t YAP_VarSlotToNumber(yhandle_t) */ /* yhandle_t YAP_VarSlotToNumber(yhandle_t) */
yhandle_t YAP_VarSlotToNumber(yhandle_t s) { X_API yhandle_t YAP_VarSlotToNumber(yhandle_t s) {
CACHE_REGS CACHE_REGS
Term *t = (CELL *)Deref(Yap_GetFromSlot(s)); Term *t = (CELL *)Deref(Yap_GetFromSlot(s));
if (t < HR) if (t < HR)
@ -3097,14 +3098,14 @@ yhandle_t YAP_VarSlotToNumber(yhandle_t s) {
} }
/* Term YAP_ModuleUser() */ /* Term YAP_ModuleUser() */
Term YAP_ModuleUser(void) { return MkAtomTerm(AtomUser); } X_API Term YAP_ModuleUser(void) { return MkAtomTerm(AtomUser); }
/* int YAP_PredicateHasClauses() */ /* int YAP_PredicateHasClauses() */
yhandle_t YAP_NumberOfClausesForPredicate(PredEntry *pe) { X_API yhandle_t YAP_NumberOfClausesForPredicate(PredEntry *pe) {
return pe->cs.p_code.NOfClauses; return pe->cs.p_code.NOfClauses;
} }
int YAP_MaxOpPriority(Atom at, Term module) { X_API int YAP_MaxOpPriority(Atom at, Term module) {
AtomEntry *ae = RepAtom(at); AtomEntry *ae = RepAtom(at);
OpEntry *info; OpEntry *info;
WRITE_LOCK(ae->ARWLock); WRITE_LOCK(ae->ARWLock);
@ -3122,7 +3123,7 @@ int YAP_MaxOpPriority(Atom at, Term module) {
return ret; return ret;
} }
int YAP_OpInfo(Atom at, Term module, int opkind, int *yap_type, int *prio) { X_API int YAP_OpInfo(Atom at, Term module, int opkind, int *yap_type, int *prio) {
AtomEntry *ae = RepAtom(at); AtomEntry *ae = RepAtom(at);
OpEntry *info; OpEntry *info;
int n; int n;
@ -3184,14 +3185,14 @@ int YAP_OpInfo(Atom at, Term module, int opkind, int *yap_type, int *prio) {
return 1; return 1;
} }
int YAP_Argv(char ***argvp) { X_API int YAP_Argv(char ***argvp) {
if (argvp) { if (argvp) {
*argvp = GLOBAL_argv; *argvp = GLOBAL_argv;
} }
return GLOBAL_argc; return GLOBAL_argc;
} }
YAP_tag_t YAP_TagOfTerm(Term t) { X_API YAP_tag_t YAP_TagOfTerm(Term t) {
if (IsVarTerm(t)) { if (IsVarTerm(t)) {
CELL *pt = VarOfTerm(t); CELL *pt = VarOfTerm(t);
if (IsUnboundVar(pt)) { if (IsUnboundVar(pt)) {
@ -3246,7 +3247,7 @@ Term YAP_BPROLOG_curr_toam_status;
* *
* @return a positive number with the size, or 0. * @return a positive number with the size, or 0.
*/ */
size_t YAP_UTF8_TextLength(Term t) { X_API size_t YAP_UTF8_TextLength(Term t) {
utf8proc_uint8_t dst[8]; utf8proc_uint8_t dst[8];
size_t sz = 0; size_t sz = 0;
@ -3280,7 +3281,7 @@ size_t YAP_UTF8_TextLength(Term t) {
return sz; return sz;
} }
Int YAP_ListLength(Term t) { X_API Int YAP_ListLength(Term t) {
Term *aux; Term *aux;
Int n = Yap_SkipList(&t, &aux); Int n = Yap_SkipList(&t, &aux);
@ -3291,14 +3292,14 @@ Int YAP_ListLength(Term t) {
return -1; return -1;
} }
Int YAP_NumberVars(Term t, Int nbv) { return Yap_NumberVars(t, nbv, FALSE); } X_API Int YAP_NumberVars(Term t, Int nbv) { return Yap_NumberVars(t, nbv, FALSE); }
Term YAP_UnNumberVars(Term t) { X_API Term YAP_UnNumberVars(Term t) {
/* don't allow sharing of ground terms */ /* don't allow sharing of ground terms */
return Yap_UnNumberTerm(t, FALSE); return Yap_UnNumberTerm(t, FALSE);
} }
int YAP_IsNumberedVariable(Term t) { X_API int YAP_IsNumberedVariable(Term t) {
return IsApplTerm(t) && FunctorOfTerm(t) == FunctorDollarVar && return IsApplTerm(t) && FunctorOfTerm(t) == FunctorDollarVar &&
IsIntegerTerm(ArgOfTerm(1, t)); IsIntegerTerm(ArgOfTerm(1, t));
} }

View File

@ -159,7 +159,7 @@ void jmp_deb2(void) { fprintf(stderr, "Here\n"); }
void jmp_deb(int i) { void jmp_deb(int i) {
if (i) if (i)
printf("Here we go %ld\n", old_value++); printf("Here we go " Int_FORMAT "\n", old_value++);
if (old_value == 716) if (old_value == 716)
jmp_deb2(); jmp_deb2();
} }
@ -354,8 +354,8 @@ bool low_level_trace__(yap_low_level_port port, PredEntry *pred, CELL *args) {
printf("\n"); printf("\n");
} }
#endif #endif
b += snprintf(b, top - b, "%lld %ld ", vsc_count, LCL0 - (CELL *)B); b += snprintf(b, top - b, Int_FORMAT " "UInt_FORMAT " ", vsc_count, LCL0 - (CELL *)B);
b += snprintf(b, top - b, "%ld ", LCL0 - (CELL *)Yap_REGS.CUT_C_TOP); b += snprintf(b, top - b, Int_FORMAT " ", LCL0 - (CELL *)Yap_REGS.CUT_C_TOP);
#if defined(THREADS) || defined(YAPOR) #if defined(THREADS) || defined(YAPOR)
b += snprintf(b, top - b, "(%d)", worker_id); b += snprintf(b, top - b, "(%d)", worker_id);
#endif #endif
@ -482,7 +482,7 @@ static Int reset_total_choicepoints(USES_REGS1) {
} }
static Int show_low_level_trace(USES_REGS1) { static Int show_low_level_trace(USES_REGS1) {
fprintf(stderr, "Call counter=%llu\n", vsc_count); fprintf(stderr, "Call counter=" Int_FORMAT "\n", vsc_count);
return (TRUE); return (TRUE);
} }

View File

@ -113,7 +113,10 @@ else()
List (APPEND YLIBS $<TARGET_OBJECTS:Yapsqlite3> ) List (APPEND YLIBS $<TARGET_OBJECTS:Yapsqlite3> )
List (APPEND YLIBS $<TARGET_OBJECTS:libswi> ) List (APPEND YLIBS $<TARGET_OBJECTS:libswi> )
if (WIN32) if (WIN32)
List (APPEND YLIBS $<TARGET_OBJECTS:YAP++> ) List (APPEND YLIBS $<TARGET_OBJECTS:YAP++> )
if (PYTHON_INCLUDE_DIRS AND PYTHON_LIBRARIES )
List (APPEND YLIBS $<TARGET_OBJECTS:YAPPython0> )
endif()
endif() endif()
@ -132,6 +135,9 @@ add_library( # Sets the name of the library.
if (WIN32) if (WIN32)
target_link_libraries(libYap ${WINDLLS}) target_link_libraries(libYap ${WINDLLS})
if (PYTHON_INCLUDE_DIRS AND PYTHON_LIBRARIES )
target_link_libraries(libYap ${PYTHON_LIBRARIES})
endif()
endif (WIN32) endif (WIN32)
include(libYap NO_POLICY_SCOPE) include(libYap NO_POLICY_SCOPE)

View File

@ -68,7 +68,7 @@ enum PropTag {
* predicates, operators, modules, almost everything. * predicates, operators, modules, almost everything.
* *
*/ */
class YAPAtom { class X_API YAPAtom {
friend class YAPEngine; friend class YAPEngine;
friend class YAPModuleProp; friend class YAPModuleProp;
friend class YAPPredicate; friend class YAPPredicate;
@ -104,7 +104,7 @@ public:
* predicates, operators, modules, almost everything. * predicates, operators, modules, almost everything.
* *
*/ */
class YAPProp { class X_API YAPProp {
friend class YAPModuleProp; friend class YAPModuleProp;
friend class YAPFunctor; friend class YAPFunctor;
/// does nothing, p is defined by the subclass /// does nothing, p is defined by the subclass

View File

@ -43,7 +43,7 @@ class YAPModule;
* Info about the module is in YAPModuleProp * Info about the module is in YAPModuleProp
* *
*/ */
class YAPModule : protected YAPAtomTerm { class X_API YAPModule : protected YAPAtomTerm {
friend class YAPPredicate; friend class YAPPredicate;
friend class YAPModuleProp; friend class YAPModuleProp;
Term t() { return gt(); } Term t() { return gt(); }
@ -61,7 +61,7 @@ public:
* A YAPModuleProp controls access to a module property. * A YAPModuleProp controls access to a module property.
* *
*/ */
class YAPModuleProp : public YAPProp { class X_API YAPModuleProp : public YAPProp {
friend class YAPPredicate; friend class YAPPredicate;
ModEntry *m; ModEntry *m;
@ -77,7 +77,7 @@ public:
/** /**
* @brief YAPFunctor represents Prolog functors Name/Arity * @brief YAPFunctor represents Prolog functors Name/Arity
*/ */
class YAPFunctor : public YAPProp { class X_API YAPFunctor : public YAPProp {
friend class YAPApplTerm; friend class YAPApplTerm;
friend class YAPTerm; friend class YAPTerm;
friend class YAPPredicate; friend class YAPPredicate;
@ -127,7 +127,7 @@ public:
* *
* This class interfaces with PredEntry in Yatom. * This class interfaces with PredEntry in Yatom.
*/ */
class YAPPredicate : public YAPModuleProp { class X_API YAPPredicate : public YAPModuleProp {
friend class YAPQuery; friend class YAPQuery;
friend class YAPEngine; friend class YAPEngine;
@ -297,7 +297,7 @@ Yap_ThrowError(DOMAIN_ERROR_OUT_OF_RANGE, MkIntTerm(0), "YAPFunctor::functor");
* *
* This class interfaces with Predicates Implemented in Prolog. * This class interfaces with Predicates Implemented in Prolog.
*/ */
class YAPPrologPredicate : public YAPPredicate { class X_API YAPPrologPredicate : public YAPPredicate {
public: public:
YAPPrologPredicate(YAPTerm t) : YAPPredicate(t){}; YAPPrologPredicate(YAPTerm t) : YAPPredicate(t){};
YAPPrologPredicate(const char *s, arity_t arity) : YAPPredicate(s, arity){}; YAPPrologPredicate(const char *s, arity_t arity) : YAPPredicate(s, arity){};
@ -319,7 +319,7 @@ public:
* *
* This class interfaces with Predicates Implemented in Prolog. * This class interfaces with Predicates Implemented in Prolog.
*/ */
class YAPFLIP : public YAPPredicate { class X_API YAPFLIP : public YAPPredicate {
public: public:
YAPFLIP(CPredicate call, YAPAtom name, uintptr_t arity, YAPFLIP(CPredicate call, YAPAtom name, uintptr_t arity,
YAPModule module = YAPModule(), CPredicate retry = 0, YAPModule module = YAPModule(), CPredicate retry = 0,

View File

@ -1,6 +1,6 @@
#define YAP_CPP_INTERFACE 1 #define _EXPORT_KERNEL 1
#include "yapi.hh" #include "yapi.hh"
extern "C" { extern "C" {
@ -1012,7 +1012,7 @@ YAPEngine::YAPEngine(int argc, char *argv[],
return ap; return ap;
} }
X_API bool YAPPrologPredicate::assertClause(YAPTerm cl, bool last, bool YAPPrologPredicate::assertClause(YAPTerm cl, bool last,
YAPTerm source) YAPTerm source)
{ {
CACHE_REGS CACHE_REGS

View File

@ -1,4 +1,4 @@
/** /**
* @file yapie.hh * @file yapie.hh
* *
* @defgroup yap-cplus-error-hanadlinge Errir Handling in the YAP interface. * @defgroup yap-cplus-error-hanadlinge Errir Handling in the YAP interface.
@ -23,11 +23,11 @@
#ifndef YAPIE_HH #ifndef YAPIE_HH
#define YAPIE_HH #define YAPIE_HH
class YAPPPredicate; class X_API YAPPPredicate;
class YAPTerm; class X_API YAPTerm;
/// take information on a Prolog error: /// take information on a Prolog error:
class YAPError { class X_API YAPError {
yap_error_number ID; yap_error_number ID;
std::string goal, info; std::string goal, info;
int swigcode; int swigcode;

View File

@ -19,7 +19,7 @@
#ifndef YAPQ_HH #ifndef YAPQ_HH
#define YAPQ_HH 1 #define YAPQ_HH 1
class YAPPredicate; class X_API YAPPredicate;
/** /**
Queries and engines Queries and engines
@ -31,7 +31,7 @@ class YAPPredicate;
* interface to a YAP Query; * interface to a YAP Query;
* uses an SWI-like status info internally. * uses an SWI-like status info internally.
*/ */
class YAPQuery : public YAPPredicate class X_API YAPQuery : public YAPPredicate
{ {
bool q_open; bool q_open;
int q_state; int q_state;
@ -171,7 +171,7 @@ inline bool command()
/// This class implements a callback Prolog-side. It will be inherited by the /// This class implements a callback Prolog-side. It will be inherited by the
/// Java or Python /// Java or Python
/// class that actually implements the callback. /// class that actually implements the callback.
class YAPCallback class X_API YAPCallback
{ {
public: public:
virtual ~YAPCallback() {} virtual ~YAPCallback() {}
@ -181,7 +181,7 @@ public:
/// @brief Setup all arguments to a new engine /// @brief Setup all arguments to a new engine
class YAPEngineArgs { class X_API YAPEngineArgs {
public: public:

View File

@ -34,7 +34,7 @@ class YAPError;
/** /**
* @brief Generic Prolog Term * @brief Generic Prolog Term
*/ */
class YAPTerm { class X_API YAPTerm {
friend class YAPPredicate; friend class YAPPredicate;
friend class YAPPrologPredicate; friend class YAPPrologPredicate;
friend class YAPQuery; friend class YAPQuery;
@ -254,39 +254,10 @@ public:
inline bool initialized() { return t != 0; }; inline bool initialized() { return t != 0; };
}; };
/**
* @brief Variable Term
*/
class YAPVarTerm : public YAPTerm {
YAPVarTerm(Term t) {
if (IsVarTerm(t)) {
mk(t);
}
}
public:
/// constructor
YAPVarTerm();
/// get the internal representation
CELL *getVar() { return VarOfTerm(gt()); }
/// is the variable bound to another one
bool unbound() { return IsUnboundVar(VarOfTerm(gt())); }
virtual bool isVar() { return true; } /// type check for unbound
virtual bool isAtom() { return false; } /// type check for atom
virtual bool isInteger() { return false; } /// type check for integer
virtual bool isFloat() { return false; } /// type check for floating-point
virtual bool isString() { return false; } /// type check for a string " ... "
virtual bool isCompound() { return false; } /// is a primitive term
virtual bool isAppl() { return false; } /// is a structured term
virtual bool isPair() { return false; } /// is a pair term
virtual bool isGround() { return false; } /// term is ground
virtual bool isList() { return false; } /// term is a list
};
/** /**
* @brief Compound Term * @brief Compound Term
*/ */
class YAPApplTerm : public YAPTerm { class X_API YAPApplTerm : public YAPTerm {
friend class YAPTerm; friend class YAPTerm;
public: public:
@ -324,7 +295,7 @@ public:
/** /**
* @brief List Constructor Term * @brief List Constructor Term
*/ */
class YAPPairTerm : public YAPTerm { class X_API YAPPairTerm : public YAPTerm {
friend class YAPTerm; friend class YAPTerm;
@ -362,7 +333,7 @@ public:
* @brief Number Term * @brief Number Term
*/ */
class YAPNumberTerm : public YAPTerm { class X_API YAPNumberTerm : public YAPTerm {
public: public:
YAPNumberTerm(){}; YAPNumberTerm(){};
bool isTagged() { return IsIntTerm(gt()); } bool isTagged() { return IsIntTerm(gt()); }
@ -372,7 +343,7 @@ public:
* @brief Integer Term * @brief Integer Term
*/ */
class YAPIntegerTerm : public YAPNumberTerm { class X_API YAPIntegerTerm : public YAPNumberTerm {
public: public:
YAPIntegerTerm(intptr_t i); YAPIntegerTerm(intptr_t i);
intptr_t getInteger() { return IntegerOfTerm(gt()); }; intptr_t getInteger() { return IntegerOfTerm(gt()); };
@ -382,14 +353,14 @@ public:
* @brief Floating Point Term * @brief Floating Point Term
*/ */
class YAPFloatTerm : public YAPNumberTerm { class X_API YAPFloatTerm : public YAPNumberTerm {
public: public:
YAPFloatTerm(double dbl) { mk(MkFloatTerm(dbl)); }; YAPFloatTerm(double dbl) { mk(MkFloatTerm(dbl)); };
double getFl() { return FloatOfTerm(gt()); }; double getFl() { return FloatOfTerm(gt()); };
}; };
class YAPListTerm : public YAPTerm { class X_API YAPListTerm : public YAPTerm {
public: public:
/// Create a list term out of a standard term. Check if a valid operation. /// Create a list term out of a standard term. Check if a valid operation.
/// ///
@ -447,7 +418,7 @@ public:
/** /**
* @brief String Term * @brief String Term
*/ */
class YAPStringTerm : public YAPTerm { class X_API YAPStringTerm : public YAPTerm {
public: public:
/// your standard constructor /// your standard constructor
YAPStringTerm(char *s); YAPStringTerm(char *s);
@ -464,7 +435,7 @@ public:
* @brief Atom Term * @brief Atom Term
* Term Representation of an Atom * Term Representation of an Atom
*/ */
class YAPAtomTerm : public YAPTerm { class X_API YAPAtomTerm : public YAPTerm {
friend class YAPModule; friend class YAPModule;
// Constructor: receives a C-atom; // Constructor: receives a C-atom;
YAPAtomTerm(Term t) : YAPTerm(t) { IsAtomTerm(t); } YAPAtomTerm(Term t) : YAPTerm(t) { IsAtomTerm(t); }
@ -498,4 +469,35 @@ public:
}; };
#endif /* YAPT_HH */ #endif /* YAPT_HH */
/**
* @brief Variable Term
*/
class X_API YAPVarTerm : public YAPTerm {
friend class YAPTerm;
public:
/// constructor
YAPVarTerm();
/// get the internal representation
CELL *getVar() { return VarOfTerm(gt()); }
/// is the variable bound to another one
YAPVarTerm(Term t) {
if (IsVarTerm(t)) {
mk(t);
}
}
bool unbound() { return IsUnboundVar(VarOfTerm(gt())); }
virtual bool isVar() { return true; } /// type check for unbound
virtual bool isAtom() { return false; } /// type check for atom
virtual bool isInteger() { return false; } /// type check for integer
virtual bool isFloat() { return false; } /// type check for floating-point
virtual bool isString() { return false; } /// type check for a string " ... "
virtual bool isCompound() { return false; } /// is a primitive term
virtual bool isAppl() { return false; } /// is a structured term
virtual bool isPair() { return false; } /// is a pair term
virtual bool isGround() { return false; } /// term is ground
virtual bool isList() { return false; } /// term is a list
};
/// @} /// @}

View File

@ -90,7 +90,6 @@ ATOMS
#ifdef EUROTRA #ifdef EUROTRA
Term TermDollarU MkAT AtomDollarU Term TermDollarU MkAT AtomDollarU
#endif #endif
Term TermAnswer MkAT AtomAnswer
//modules //modules
Term USER_MODULE MkAT AtomUser Term USER_MODULE MkAT AtomUser

View File

@ -1,144 +1,144 @@
/* This file, dglobals.h, was generated automatically by "yap -L misc/buildlocalglobal" /* This file, dglobals.h, was generated automatically by "yap -L misc/buildlocalglobal"
please do not update, update H/GLOBALS instead */ please do not update, update H/GLOBALS instead */
#define GLOBAL_Initialised Yap_global->Initialised_ #define GLOBAL_Initialised Yap_global->Initialised_
#define GLOBAL_InitialisedFromPL Yap_global->InitialisedFromPL_ #define GLOBAL_InitialisedFromPL Yap_global->InitialisedFromPL_
#define GLOBAL_PL_Argc Yap_global->PL_Argc_ #define GLOBAL_PL_Argc Yap_global->PL_Argc_
#define GLOBAL_PL_Argv Yap_global->PL_Argv_ #define GLOBAL_PL_Argv Yap_global->PL_Argv_
#define GLOBAL_FAST_BOOT_FLAG Yap_global->FAST_BOOT_FLAG_ #define GLOBAL_FAST_BOOT_FLAG Yap_global->FAST_BOOT_FLAG_
#define GLOBAL_HaltHooks Yap_global->HaltHooks_ #define GLOBAL_HaltHooks Yap_global->HaltHooks_
#define GLOBAL_JIT_finalizer Yap_global->JIT_finalizer_ #define GLOBAL_JIT_finalizer Yap_global->JIT_finalizer_
#define GLOBAL_AllowLocalExpansion Yap_global->AllowLocalExpansion_ #define GLOBAL_AllowLocalExpansion Yap_global->AllowLocalExpansion_
#define GLOBAL_AllowGlobalExpansion Yap_global->AllowGlobalExpansion_ #define GLOBAL_AllowGlobalExpansion Yap_global->AllowGlobalExpansion_
#define GLOBAL_AllowTrailExpansion Yap_global->AllowTrailExpansion_ #define GLOBAL_AllowTrailExpansion Yap_global->AllowTrailExpansion_
#define GLOBAL_SizeOfOverflow Yap_global->SizeOfOverflow_ #define GLOBAL_SizeOfOverflow Yap_global->SizeOfOverflow_
#define GLOBAL_AGcThreshold Yap_global->AGcThreshold_ #define GLOBAL_AGcThreshold Yap_global->AGcThreshold_
#define GLOBAL_AGCHook Yap_global->AGCHook_ #define GLOBAL_AGCHook Yap_global->AGCHook_
#if THREADS #if THREADS
#define GLOBAL_NOfThreads Yap_global->NOfThreads_ #define GLOBAL_NOfThreads Yap_global->NOfThreads_
#define GLOBAL_NOfThreadsCreated Yap_global->NOfThreadsCreated_ #define GLOBAL_NOfThreadsCreated Yap_global->NOfThreadsCreated_
#define GLOBAL_ThreadsTotalTime Yap_global->ThreadsTotalTime_ #define GLOBAL_ThreadsTotalTime Yap_global->ThreadsTotalTime_
#define GLOBAL_ThreadHandlesLock Yap_global->ThreadHandlesLock_ #define GLOBAL_ThreadHandlesLock Yap_global->ThreadHandlesLock_
#endif #endif
#if defined(YAPOR) || defined(THREADS) #if defined(YAPOR) || defined(THREADS)
#define GLOBAL_BGL Yap_global->BGL_ #define GLOBAL_BGL Yap_global->BGL_
#endif #endif
#if defined(YAPOR) || defined(TABLING) #if defined(YAPOR) || defined(TABLING)
#define GLOBAL_optyap_data Yap_global->optyap_data_ #define GLOBAL_optyap_data Yap_global->optyap_data_
#endif /* YAPOR || TABLING */ #endif /* YAPOR || TABLING */
#define GLOBAL_PrologShouldHandleInterrupts Yap_global->PrologShouldHandleInterrupts_ #define GLOBAL_PrologShouldHandleInterrupts Yap_global->PrologShouldHandleInterrupts_
#if defined(THREADS) #if defined(THREADS)
#define GLOBAL_master_thread Yap_global->master_thread_ #define GLOBAL_master_thread Yap_global->master_thread_
#define GLOBAL_named_mboxes Yap_global->named_mboxes_ #define GLOBAL_named_mboxes Yap_global->named_mboxes_
#define GLOBAL_mboxq_lock Yap_global->mboxq_lock_ #define GLOBAL_mboxq_lock Yap_global->mboxq_lock_
#define GLOBAL_mbox_count Yap_global->mbox_count_ #define GLOBAL_mbox_count Yap_global->mbox_count_
#define GLOBAL_WithMutex Yap_global->WithMutex_ #define GLOBAL_WithMutex Yap_global->WithMutex_
#endif /* THREADS */ #endif /* THREADS */
#define GLOBAL_Stream Yap_global->Stream_ #define GLOBAL_Stream Yap_global->Stream_
#if defined(THREADS)||defined(YAPOR) #if defined(THREADS)||defined(YAPOR)
#define GLOBAL_StreamDescLock Yap_global->StreamDescLock_ #define GLOBAL_StreamDescLock Yap_global->StreamDescLock_
#endif #endif
#define GLOBAL_argv Yap_global->argv_ #define GLOBAL_argv Yap_global->argv_
#define GLOBAL_argc Yap_global->argc_ #define GLOBAL_argc Yap_global->argc_
#ifdef COROUTINING #ifdef COROUTINING
#define GLOBAL_attas Yap_global->attas_ #define GLOBAL_attas Yap_global->attas_
#endif #endif
#define GLOBAL_agc_calls Yap_global->agc_calls_ #define GLOBAL_agc_calls Yap_global->agc_calls_
#define GLOBAL_agc_collected Yap_global->agc_collected_ #define GLOBAL_agc_collected Yap_global->agc_collected_
#define GLOBAL_tot_agc_time Yap_global->tot_agc_time_ #define GLOBAL_tot_agc_time Yap_global->tot_agc_time_
#define GLOBAL_tot_agc_recovered Yap_global->tot_agc_recovered_ #define GLOBAL_tot_agc_recovered Yap_global->tot_agc_recovered_
#if HAVE_MMAP #if HAVE_MMAP
#define GLOBAL_mmap_arrays Yap_global->mmap_arrays_ #define GLOBAL_mmap_arrays Yap_global->mmap_arrays_
#endif #endif
#ifdef DEBUG #ifdef DEBUG
#define GLOBAL_Option Yap_global->Option_ #define GLOBAL_Option Yap_global->Option_
#define GLOBAL_logfile Yap_global->logfile_ #define GLOBAL_logfile Yap_global->logfile_
#endif #endif
#if defined(COFF) || defined(A_OUT) #if defined(COFF) || defined(A_OUT)
#define GLOBAL_Executable Yap_global->Executable_ #define GLOBAL_Executable Yap_global->Executable_
#endif #endif
#define GLOBAL_OpaqueHandlersCount Yap_global->OpaqueHandlersCount_ #define GLOBAL_OpaqueHandlersCount Yap_global->OpaqueHandlersCount_
#define GLOBAL_OpaqueHandlers Yap_global->OpaqueHandlers_ #define GLOBAL_OpaqueHandlers Yap_global->OpaqueHandlers_
#if __simplescalar__ #if __simplescalar__
#define GLOBAL_pwd Yap_global->pwd_ #define GLOBAL_pwd Yap_global->pwd_
#endif #endif
#define GLOBAL_RestoreFile Yap_global->RestoreFile_ #define GLOBAL_RestoreFile Yap_global->RestoreFile_
#define GLOBAL_ProfCalls Yap_global->ProfCalls_ #define GLOBAL_ProfCalls Yap_global->ProfCalls_
#define GLOBAL_ProfGCs Yap_global->ProfGCs_ #define GLOBAL_ProfGCs Yap_global->ProfGCs_
#define GLOBAL_ProfHGrows Yap_global->ProfHGrows_ #define GLOBAL_ProfHGrows Yap_global->ProfHGrows_
#define GLOBAL_ProfSGrows Yap_global->ProfSGrows_ #define GLOBAL_ProfSGrows Yap_global->ProfSGrows_
#define GLOBAL_ProfMallocs Yap_global->ProfMallocs_ #define GLOBAL_ProfMallocs Yap_global->ProfMallocs_
#define GLOBAL_ProfIndexing Yap_global->ProfIndexing_ #define GLOBAL_ProfIndexing Yap_global->ProfIndexing_
#define GLOBAL_ProfOn Yap_global->ProfOn_ #define GLOBAL_ProfOn Yap_global->ProfOn_
#define GLOBAL_ProfOns Yap_global->ProfOns_ #define GLOBAL_ProfOns Yap_global->ProfOns_
#define GLOBAL_ProfilerRoot Yap_global->ProfilerRoot_ #define GLOBAL_ProfilerRoot Yap_global->ProfilerRoot_
#define GLOBAL_ProfilerNil Yap_global->ProfilerNil_ #define GLOBAL_ProfilerNil Yap_global->ProfilerNil_
#define GLOBAL_DIRNAME Yap_global->DIRNAME_ #define GLOBAL_DIRNAME Yap_global->DIRNAME_
#if LOW_PROF #if LOW_PROF
#define GLOBAL_ProfilerOn Yap_global->ProfilerOn_ #define GLOBAL_ProfilerOn Yap_global->ProfilerOn_
#define GLOBAL_FProf Yap_global->FProf_ #define GLOBAL_FProf Yap_global->FProf_
#define GLOBAL_FPreds Yap_global->FPreds_ #define GLOBAL_FPreds Yap_global->FPreds_
#endif /* LOW_PROF */ #endif /* LOW_PROF */
#if THREADS #if THREADS
#define GLOBAL_FreeMutexes Yap_global->FreeMutexes_ #define GLOBAL_FreeMutexes Yap_global->FreeMutexes_
#define GLOBAL_mutex_backbone Yap_global->mutex_backbone_ #define GLOBAL_mutex_backbone Yap_global->mutex_backbone_
#define GLOBAL_MUT_ACCESS Yap_global->MUT_ACCESS_ #define GLOBAL_MUT_ACCESS Yap_global->MUT_ACCESS_
#endif #endif
#define GLOBAL_Home Yap_global->Home_ #define GLOBAL_Home Yap_global->Home_
#define GLOBAL_CharConversionTable Yap_global->CharConversionTable_ #define GLOBAL_CharConversionTable Yap_global->CharConversionTable_
#define GLOBAL_CharConversionTable2 Yap_global->CharConversionTable2_ #define GLOBAL_CharConversionTable2 Yap_global->CharConversionTable2_
#define GLOBAL_MaxPriority Yap_global->MaxPriority_ #define GLOBAL_MaxPriority Yap_global->MaxPriority_
#define GLOBAL_FileAliases Yap_global->FileAliases_ #define GLOBAL_FileAliases Yap_global->FileAliases_
#define GLOBAL_NOfFileAliases Yap_global->NOfFileAliases_ #define GLOBAL_NOfFileAliases Yap_global->NOfFileAliases_
#define GLOBAL_SzOfFileAliases Yap_global->SzOfFileAliases_ #define GLOBAL_SzOfFileAliases Yap_global->SzOfFileAliases_
#define GLOBAL_VFS Yap_global->VFS_ #define GLOBAL_VFS Yap_global->VFS_

View File

@ -1,292 +1,291 @@
/* This file, dhstruct.h, was generated automatically by "yap -L misc/buildlocalglobal" /* This file, dhstruct.h, was generated automatically by "yap -L misc/buildlocalglobal"
please do not update, update H/HEAPFIELDS instead */ please do not update, update H/HEAPFIELDS instead */
#if USE_DL_MALLOC #if USE_DL_MALLOC
#if defined(YAPOR) || defined(THREADS) #if defined(YAPOR) || defined(THREADS)
#define DLMallocLock Yap_heap_regs->DLMallocLock_ #define DLMallocLock Yap_heap_regs->DLMallocLock_
#endif #endif
#endif #endif
#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO) #if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
#ifndef HeapUsed #ifndef HeapUsed
#define HeapUsed Yap_givemallinfo() #define HeapUsed Yap_givemallinfo()
#endif #endif
#define NotHeapUsed Yap_heap_regs->NotHeapUsed_ #define NotHeapUsed Yap_heap_regs->NotHeapUsed_
#else #else
#define HeapUsed Yap_heap_regs->HeapUsed_ #define HeapUsed Yap_heap_regs->HeapUsed_
#endif #endif
#define HeapMax Yap_heap_regs->HeapMax_ #define HeapMax Yap_heap_regs->HeapMax_
#define HeapTop Yap_heap_regs->HeapTop_ #define HeapTop Yap_heap_regs->HeapTop_
#define HeapLim Yap_heap_regs->HeapLim_ #define HeapLim Yap_heap_regs->HeapLim_
#define FreeBlocks Yap_heap_regs->FreeBlocks_ #define FreeBlocks Yap_heap_regs->FreeBlocks_
#if defined(YAPOR) || defined(THREADS) #if defined(YAPOR) || defined(THREADS)
#define FreeBlocksLock Yap_heap_regs->FreeBlocksLock_ #define FreeBlocksLock Yap_heap_regs->FreeBlocksLock_
#define HeapUsedLock Yap_heap_regs->HeapUsedLock_ #define HeapUsedLock Yap_heap_regs->HeapUsedLock_
#define HeapTopLock Yap_heap_regs->HeapTopLock_ #define HeapTopLock Yap_heap_regs->HeapTopLock_
#define HeapTopOwner Yap_heap_regs->HeapTopOwner_ #define HeapTopOwner Yap_heap_regs->HeapTopOwner_
#endif #endif
#define MaxStack Yap_heap_regs->MaxStack_ #define MaxStack Yap_heap_regs->MaxStack_
#define MaxTrail Yap_heap_regs->MaxTrail_ #define MaxTrail Yap_heap_regs->MaxTrail_
#if USE_THREADED_CODE #if USE_THREADED_CODE
#define OP_RTABLE Yap_heap_regs->OP_RTABLE_ #define OP_RTABLE Yap_heap_regs->OP_RTABLE_
#endif #endif
#define EXECUTE_CPRED_OP_CODE Yap_heap_regs->EXECUTE_CPRED_OP_CODE_ #define EXECUTE_CPRED_OP_CODE Yap_heap_regs->EXECUTE_CPRED_OP_CODE_
#define EXPAND_OP_CODE Yap_heap_regs->EXPAND_OP_CODE_ #define EXPAND_OP_CODE Yap_heap_regs->EXPAND_OP_CODE_
#define FAIL_OPCODE Yap_heap_regs->FAIL_OPCODE_ #define FAIL_OPCODE Yap_heap_regs->FAIL_OPCODE_
#define INDEX_OPCODE Yap_heap_regs->INDEX_OPCODE_ #define INDEX_OPCODE Yap_heap_regs->INDEX_OPCODE_
#define LOCKPRED_OPCODE Yap_heap_regs->LOCKPRED_OPCODE_ #define LOCKPRED_OPCODE Yap_heap_regs->LOCKPRED_OPCODE_
#define ORLAST_OPCODE Yap_heap_regs->ORLAST_OPCODE_ #define ORLAST_OPCODE Yap_heap_regs->ORLAST_OPCODE_
#define UNDEF_OPCODE Yap_heap_regs->UNDEF_OPCODE_ #define UNDEF_OPCODE Yap_heap_regs->UNDEF_OPCODE_
#define RETRY_USERC_OPCODE Yap_heap_regs->RETRY_USERC_OPCODE_ #define RETRY_USERC_OPCODE Yap_heap_regs->RETRY_USERC_OPCODE_
#define EXECUTE_CPRED_OPCODE Yap_heap_regs->EXECUTE_CPRED_OPCODE_ #define EXECUTE_CPRED_OPCODE Yap_heap_regs->EXECUTE_CPRED_OPCODE_
#define NOfAtoms Yap_heap_regs->NOfAtoms_ #define NOfAtoms Yap_heap_regs->NOfAtoms_
#define AtomHashTableSize Yap_heap_regs->AtomHashTableSize_ #define AtomHashTableSize Yap_heap_regs->AtomHashTableSize_
#define WideAtomHashTableSize Yap_heap_regs->WideAtomHashTableSize_ #define WideAtomHashTableSize Yap_heap_regs->WideAtomHashTableSize_
#define NOfWideAtoms Yap_heap_regs->NOfWideAtoms_ #define NOfWideAtoms Yap_heap_regs->NOfWideAtoms_
#define INVISIBLECHAIN Yap_heap_regs->INVISIBLECHAIN_ #define INVISIBLECHAIN Yap_heap_regs->INVISIBLECHAIN_
#define WideHashChain Yap_heap_regs->WideHashChain_ #define WideHashChain Yap_heap_regs->WideHashChain_
#define HashChain Yap_heap_regs->HashChain_ #define HashChain Yap_heap_regs->HashChain_
#ifdef EUROTRA #ifdef EUROTRA
#define TermDollarU Yap_heap_regs->TermDollarU_ #define TermDollarU Yap_heap_regs->TermDollarU_
#endif #endif
#define TermAnswer Yap_heap_regs->TermAnswer_
#define USER_MODULE Yap_heap_regs->USER_MODULE_
#define USER_MODULE Yap_heap_regs->USER_MODULE_ #define IDB_MODULE Yap_heap_regs->IDB_MODULE_
#define IDB_MODULE Yap_heap_regs->IDB_MODULE_ #define ATTRIBUTES_MODULE Yap_heap_regs->ATTRIBUTES_MODULE_
#define ATTRIBUTES_MODULE Yap_heap_regs->ATTRIBUTES_MODULE_ #define CHARSIO_MODULE Yap_heap_regs->CHARSIO_MODULE_
#define CHARSIO_MODULE Yap_heap_regs->CHARSIO_MODULE_ #define CHTYPE_MODULE Yap_heap_regs->CHTYPE_MODULE_
#define CHTYPE_MODULE Yap_heap_regs->CHTYPE_MODULE_ #define TERMS_MODULE Yap_heap_regs->TERMS_MODULE_
#define TERMS_MODULE Yap_heap_regs->TERMS_MODULE_ #define SYSTEM_MODULE Yap_heap_regs->SYSTEM_MODULE_
#define SYSTEM_MODULE Yap_heap_regs->SYSTEM_MODULE_ #define READUTIL_MODULE Yap_heap_regs->READUTIL_MODULE_
#define READUTIL_MODULE Yap_heap_regs->READUTIL_MODULE_ #define HACKS_MODULE Yap_heap_regs->HACKS_MODULE_
#define HACKS_MODULE Yap_heap_regs->HACKS_MODULE_ #define ARG_MODULE Yap_heap_regs->ARG_MODULE_
#define ARG_MODULE Yap_heap_regs->ARG_MODULE_ #define GLOBALS_MODULE Yap_heap_regs->GLOBALS_MODULE_
#define GLOBALS_MODULE Yap_heap_regs->GLOBALS_MODULE_ #define SWI_MODULE Yap_heap_regs->SWI_MODULE_
#define SWI_MODULE Yap_heap_regs->SWI_MODULE_ #define DBLOAD_MODULE Yap_heap_regs->DBLOAD_MODULE_
#define DBLOAD_MODULE Yap_heap_regs->DBLOAD_MODULE_ #define RANGE_MODULE Yap_heap_regs->RANGE_MODULE_
#define RANGE_MODULE Yap_heap_regs->RANGE_MODULE_ #define ERROR_MODULE Yap_heap_regs->ERROR_MODULE_
#define ERROR_MODULE Yap_heap_regs->ERROR_MODULE_
#define CurrentModules Yap_heap_regs->CurrentModules_
#define CurrentModules Yap_heap_regs->CurrentModules_
#define HIDDEN_PREDICATES Yap_heap_regs->HIDDEN_PREDICATES_
#define HIDDEN_PREDICATES Yap_heap_regs->HIDDEN_PREDICATES_
#define GLOBAL_Flags Yap_heap_regs->GLOBAL_Flags_
#define GLOBAL_Flags Yap_heap_regs->GLOBAL_Flags_ #define GLOBAL_flagCount Yap_heap_regs->GLOBAL_flagCount_
#define GLOBAL_flagCount Yap_heap_regs->GLOBAL_flagCount_
#define Yap_ExecutionMode Yap_heap_regs->Yap_ExecutionMode_
#define Yap_ExecutionMode Yap_heap_regs->Yap_ExecutionMode_
#define PredsInHashTable Yap_heap_regs->PredsInHashTable_
#define PredsInHashTable Yap_heap_regs->PredsInHashTable_ #define PredHashTableSize Yap_heap_regs->PredHashTableSize_
#define PredHashTableSize Yap_heap_regs->PredHashTableSize_ #define PredHash Yap_heap_regs->PredHash_
#define PredHash Yap_heap_regs->PredHash_ #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) #define PredHashRWLock Yap_heap_regs->PredHashRWLock_
#define PredHashRWLock Yap_heap_regs->PredHashRWLock_ #endif
#endif
#define CreepCode Yap_heap_regs->CreepCode_
#define CreepCode Yap_heap_regs->CreepCode_ #define UndefCode Yap_heap_regs->UndefCode_
#define UndefCode Yap_heap_regs->UndefCode_ #define SpyCode Yap_heap_regs->SpyCode_
#define SpyCode Yap_heap_regs->SpyCode_ #define PredFail Yap_heap_regs->PredFail_
#define PredFail Yap_heap_regs->PredFail_ #define PredTrue Yap_heap_regs->PredTrue_
#define PredTrue Yap_heap_regs->PredTrue_ #ifdef COROUTINING
#ifdef COROUTINING #define WakeUpCode Yap_heap_regs->WakeUpCode_
#define WakeUpCode Yap_heap_regs->WakeUpCode_ #endif
#endif #define PredDollarCatch Yap_heap_regs->PredDollarCatch_
#define PredDollarCatch Yap_heap_regs->PredDollarCatch_ #ifdef YAPOR
#ifdef YAPOR #define PredGetwork Yap_heap_regs->PredGetwork_
#define PredGetwork Yap_heap_regs->PredGetwork_ #endif /* YAPOR */
#endif /* YAPOR */ #define PredGoalExpansion Yap_heap_regs->PredGoalExpansion_
#define PredGoalExpansion Yap_heap_regs->PredGoalExpansion_ #define PredHandleThrow Yap_heap_regs->PredHandleThrow_
#define PredHandleThrow Yap_heap_regs->PredHandleThrow_ #define PredIs Yap_heap_regs->PredIs_
#define PredIs Yap_heap_regs->PredIs_ #define PredLogUpdClause Yap_heap_regs->PredLogUpdClause_
#define PredLogUpdClause Yap_heap_regs->PredLogUpdClause_ #define PredLogUpdClauseErase Yap_heap_regs->PredLogUpdClauseErase_
#define PredLogUpdClauseErase Yap_heap_regs->PredLogUpdClauseErase_ #define PredLogUpdClause0 Yap_heap_regs->PredLogUpdClause0_
#define PredLogUpdClause0 Yap_heap_regs->PredLogUpdClause0_ #define PredMetaCall Yap_heap_regs->PredMetaCall_
#define PredMetaCall Yap_heap_regs->PredMetaCall_ #define PredProtectStack Yap_heap_regs->PredProtectStack_
#define PredProtectStack Yap_heap_regs->PredProtectStack_ #define PredRecordedWithKey Yap_heap_regs->PredRecordedWithKey_
#define PredRecordedWithKey Yap_heap_regs->PredRecordedWithKey_ #define PredRestoreRegs Yap_heap_regs->PredRestoreRegs_
#define PredRestoreRegs Yap_heap_regs->PredRestoreRegs_ #define PredSafeCallCleanup Yap_heap_regs->PredSafeCallCleanup_
#define PredSafeCallCleanup Yap_heap_regs->PredSafeCallCleanup_ #define PredStaticClause Yap_heap_regs->PredStaticClause_
#define PredStaticClause Yap_heap_regs->PredStaticClause_ #define PredThrow Yap_heap_regs->PredThrow_
#define PredThrow Yap_heap_regs->PredThrow_ #define PredTraceMetaCall Yap_heap_regs->PredTraceMetaCall_
#define PredTraceMetaCall Yap_heap_regs->PredTraceMetaCall_ #define PredCommentHook Yap_heap_regs->PredCommentHook_
#define PredCommentHook Yap_heap_regs->PredCommentHook_ #define PredProcedure Yap_heap_regs->PredProcedure_
#define PredProcedure Yap_heap_regs->PredProcedure_ #define PredUndefinedQuery Yap_heap_regs->PredUndefinedQuery_
#define PredUndefinedQuery Yap_heap_regs->PredUndefinedQuery_
#ifdef LOW_LEVEL_TRACER
#ifdef LOW_LEVEL_TRACER #define Yap_do_low_level_trace Yap_heap_regs->Yap_do_low_level_trace_
#define Yap_do_low_level_trace Yap_heap_regs->Yap_do_low_level_trace_ #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) #define Yap_low_level_trace_lock Yap_heap_regs->Yap_low_level_trace_lock_
#define Yap_low_level_trace_lock Yap_heap_regs->Yap_low_level_trace_lock_ #endif
#endif #endif
#endif
#define Yap_ClauseSpace Yap_heap_regs->Yap_ClauseSpace_
#define Yap_ClauseSpace Yap_heap_regs->Yap_ClauseSpace_ #define Yap_IndexSpace_Tree Yap_heap_regs->Yap_IndexSpace_Tree_
#define Yap_IndexSpace_Tree Yap_heap_regs->Yap_IndexSpace_Tree_ #define Yap_IndexSpace_EXT Yap_heap_regs->Yap_IndexSpace_EXT_
#define Yap_IndexSpace_EXT Yap_heap_regs->Yap_IndexSpace_EXT_ #define Yap_IndexSpace_SW Yap_heap_regs->Yap_IndexSpace_SW_
#define Yap_IndexSpace_SW Yap_heap_regs->Yap_IndexSpace_SW_ #define Yap_LUClauseSpace Yap_heap_regs->Yap_LUClauseSpace_
#define Yap_LUClauseSpace Yap_heap_regs->Yap_LUClauseSpace_ #define Yap_LUIndexSpace_Tree Yap_heap_regs->Yap_LUIndexSpace_Tree_
#define Yap_LUIndexSpace_Tree Yap_heap_regs->Yap_LUIndexSpace_Tree_ #define Yap_LUIndexSpace_CP Yap_heap_regs->Yap_LUIndexSpace_CP_
#define Yap_LUIndexSpace_CP Yap_heap_regs->Yap_LUIndexSpace_CP_ #define Yap_LUIndexSpace_EXT Yap_heap_regs->Yap_LUIndexSpace_EXT_
#define Yap_LUIndexSpace_EXT Yap_heap_regs->Yap_LUIndexSpace_EXT_ #define Yap_LUIndexSpace_SW Yap_heap_regs->Yap_LUIndexSpace_SW_
#define Yap_LUIndexSpace_SW Yap_heap_regs->Yap_LUIndexSpace_SW_
#define COMMA_CODE Yap_heap_regs->COMMA_CODE_
#define COMMA_CODE Yap_heap_regs->COMMA_CODE_ #define DUMMYCODE Yap_heap_regs->DUMMYCODE_
#define DUMMYCODE Yap_heap_regs->DUMMYCODE_ #define FAILCODE Yap_heap_regs->FAILCODE_
#define FAILCODE Yap_heap_regs->FAILCODE_ #define NOCODE Yap_heap_regs->NOCODE_
#define NOCODE Yap_heap_regs->NOCODE_ #define ENV_FOR_TRUSTFAIL Yap_heap_regs->ENV_FOR_TRUSTFAIL_
#define ENV_FOR_TRUSTFAIL Yap_heap_regs->ENV_FOR_TRUSTFAIL_ #define TRUSTFAILCODE Yap_heap_regs->TRUSTFAILCODE_
#define TRUSTFAILCODE Yap_heap_regs->TRUSTFAILCODE_ #define ENV_FOR_YESCODE Yap_heap_regs->ENV_FOR_YESCODE_
#define ENV_FOR_YESCODE Yap_heap_regs->ENV_FOR_YESCODE_ #define YESCODE Yap_heap_regs->YESCODE_
#define YESCODE Yap_heap_regs->YESCODE_ #define RTRYCODE Yap_heap_regs->RTRYCODE_
#define RTRYCODE Yap_heap_regs->RTRYCODE_ #ifdef BEAM
#ifdef BEAM #define BEAM_RETRY_CODE Yap_heap_regs->BEAM_RETRY_CODE_
#define BEAM_RETRY_CODE Yap_heap_regs->BEAM_RETRY_CODE_ #endif /* BEAM */
#endif /* BEAM */ #ifdef YAPOR
#ifdef YAPOR #define GETWORK Yap_heap_regs->GETWORK_
#define GETWORK Yap_heap_regs->GETWORK_ #define GETWORK_SEQ Yap_heap_regs->GETWORK_SEQ_
#define GETWORK_SEQ Yap_heap_regs->GETWORK_SEQ_ #define GETWORK_FIRST_TIME Yap_heap_regs->GETWORK_FIRST_TIME_
#define GETWORK_FIRST_TIME Yap_heap_regs->GETWORK_FIRST_TIME_ #endif /* YAPOR */
#endif /* YAPOR */ #ifdef TABLING
#ifdef TABLING #define LOAD_ANSWER Yap_heap_regs->LOAD_ANSWER_
#define LOAD_ANSWER Yap_heap_regs->LOAD_ANSWER_ #define TRY_ANSWER Yap_heap_regs->TRY_ANSWER_
#define TRY_ANSWER Yap_heap_regs->TRY_ANSWER_ #define ANSWER_RESOLUTION Yap_heap_regs->ANSWER_RESOLUTION_
#define ANSWER_RESOLUTION Yap_heap_regs->ANSWER_RESOLUTION_ #define COMPLETION Yap_heap_regs->COMPLETION_
#define COMPLETION Yap_heap_regs->COMPLETION_ #ifdef THREADS_CONSUMER_SHARING
#ifdef THREADS_CONSUMER_SHARING #define ANSWER_RESOLUTION_COMPLETION Yap_heap_regs->ANSWER_RESOLUTION_COMPLETION_
#define ANSWER_RESOLUTION_COMPLETION Yap_heap_regs->ANSWER_RESOLUTION_COMPLETION_ #endif /* THREADS_CONSUMER_SHARING */
#endif /* THREADS_CONSUMER_SHARING */ #endif /* TABLING */
#endif /* TABLING */
#define P_before_spy Yap_heap_regs->P_before_spy_
#define P_before_spy Yap_heap_regs->P_before_spy_
#define RETRY_C_RECORDEDP_CODE Yap_heap_regs->RETRY_C_RECORDEDP_CODE_
#define RETRY_C_RECORDEDP_CODE Yap_heap_regs->RETRY_C_RECORDEDP_CODE_ #define RETRY_C_RECORDED_K_CODE Yap_heap_regs->RETRY_C_RECORDED_K_CODE_
#define RETRY_C_RECORDED_K_CODE Yap_heap_regs->RETRY_C_RECORDED_K_CODE_
#define PROFILING Yap_heap_regs->PROFILING_
#define PROFILING Yap_heap_regs->PROFILING_ #define CALL_COUNTING Yap_heap_regs->CALL_COUNTING_
#define CALL_COUNTING Yap_heap_regs->CALL_COUNTING_ #define optimizer_on Yap_heap_regs->optimizer_on_
#define optimizer_on Yap_heap_regs->optimizer_on_ #define compile_mode Yap_heap_regs->compile_mode_
#define compile_mode Yap_heap_regs->compile_mode_ #define profiling Yap_heap_regs->profiling_
#define profiling Yap_heap_regs->profiling_ #define call_counting Yap_heap_regs->call_counting_
#define call_counting Yap_heap_regs->call_counting_
#define compile_arrays Yap_heap_regs->compile_arrays_
#define compile_arrays Yap_heap_regs->compile_arrays_
#if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) #define DBTermsListLock Yap_heap_regs->DBTermsListLock_
#define DBTermsListLock Yap_heap_regs->DBTermsListLock_ #endif
#endif #define DBTermsList Yap_heap_regs->DBTermsList_
#define DBTermsList Yap_heap_regs->DBTermsList_
#define ExpandClausesFirst Yap_heap_regs->ExpandClausesFirst_
#define ExpandClausesFirst Yap_heap_regs->ExpandClausesFirst_ #define ExpandClausesLast Yap_heap_regs->ExpandClausesLast_
#define ExpandClausesLast Yap_heap_regs->ExpandClausesLast_ #define Yap_ExpandClauses Yap_heap_regs->Yap_ExpandClauses_
#define Yap_ExpandClauses Yap_heap_regs->Yap_ExpandClauses_ #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) #define ExpandClausesListLock Yap_heap_regs->ExpandClausesListLock_
#define ExpandClausesListLock Yap_heap_regs->ExpandClausesListLock_ #define OpListLock Yap_heap_regs->OpListLock_
#define OpListLock Yap_heap_regs->OpListLock_ #endif
#endif
#ifdef DEBUG
#ifdef DEBUG #define Yap_NewCps Yap_heap_regs->Yap_NewCps_
#define Yap_NewCps Yap_heap_regs->Yap_NewCps_ #define Yap_LiveCps Yap_heap_regs->Yap_LiveCps_
#define Yap_LiveCps Yap_heap_regs->Yap_LiveCps_ #define Yap_DirtyCps Yap_heap_regs->Yap_DirtyCps_
#define Yap_DirtyCps Yap_heap_regs->Yap_DirtyCps_ #define Yap_FreedCps Yap_heap_regs->Yap_FreedCps_
#define Yap_FreedCps Yap_heap_regs->Yap_FreedCps_ #endif
#endif #define Yap_expand_clauses_sz Yap_heap_regs->Yap_expand_clauses_sz_
#define Yap_expand_clauses_sz Yap_heap_regs->Yap_expand_clauses_sz_
#define UdiControlBlocks Yap_heap_regs->UdiControlBlocks_
#define UdiControlBlocks Yap_heap_regs->UdiControlBlocks_
#define STATIC_PREDICATES_MARKED Yap_heap_regs->STATIC_PREDICATES_MARKED_
#define STATIC_PREDICATES_MARKED Yap_heap_regs->STATIC_PREDICATES_MARKED_
#define INT_KEYS Yap_heap_regs->INT_KEYS_
#define INT_KEYS Yap_heap_regs->INT_KEYS_ #define INT_LU_KEYS Yap_heap_regs->INT_LU_KEYS_
#define INT_LU_KEYS Yap_heap_regs->INT_LU_KEYS_ #define INT_BB_KEYS Yap_heap_regs->INT_BB_KEYS_
#define INT_BB_KEYS Yap_heap_regs->INT_BB_KEYS_
#define INT_KEYS_SIZE Yap_heap_regs->INT_KEYS_SIZE_
#define INT_KEYS_SIZE Yap_heap_regs->INT_KEYS_SIZE_ #define INT_KEYS_TIMESTAMP Yap_heap_regs->INT_KEYS_TIMESTAMP_
#define INT_KEYS_TIMESTAMP Yap_heap_regs->INT_KEYS_TIMESTAMP_ #define INT_BB_KEYS_SIZE Yap_heap_regs->INT_BB_KEYS_SIZE_
#define INT_BB_KEYS_SIZE Yap_heap_regs->INT_BB_KEYS_SIZE_
#define UPDATE_MODE Yap_heap_regs->UPDATE_MODE_
#define UPDATE_MODE Yap_heap_regs->UPDATE_MODE_
#define DBErasedMarker Yap_heap_regs->DBErasedMarker_
#define DBErasedMarker Yap_heap_regs->DBErasedMarker_ #define LogDBErasedMarker Yap_heap_regs->LogDBErasedMarker_
#define LogDBErasedMarker Yap_heap_regs->LogDBErasedMarker_
#define DeadStaticClauses Yap_heap_regs->DeadStaticClauses_
#define DeadStaticClauses Yap_heap_regs->DeadStaticClauses_ #define DeadMegaClauses Yap_heap_regs->DeadMegaClauses_
#define DeadMegaClauses Yap_heap_regs->DeadMegaClauses_ #define DeadStaticIndices Yap_heap_regs->DeadStaticIndices_
#define DeadStaticIndices Yap_heap_regs->DeadStaticIndices_ #define DBErasedList Yap_heap_regs->DBErasedList_
#define DBErasedList Yap_heap_regs->DBErasedList_ #define DBErasedIList Yap_heap_regs->DBErasedIList_
#define DBErasedIList Yap_heap_regs->DBErasedIList_ #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) #define DeadStaticClausesLock Yap_heap_regs->DeadStaticClausesLock_
#define DeadStaticClausesLock Yap_heap_regs->DeadStaticClausesLock_ #define DeadMegaClausesLock Yap_heap_regs->DeadMegaClausesLock_
#define DeadMegaClausesLock Yap_heap_regs->DeadMegaClausesLock_ #define DeadStaticIndicesLock Yap_heap_regs->DeadStaticIndicesLock_
#define DeadStaticIndicesLock Yap_heap_regs->DeadStaticIndicesLock_ #endif
#endif #ifdef COROUTINING
#ifdef COROUTINING
#define NUM_OF_ATTS Yap_heap_regs->NUM_OF_ATTS_
#define NUM_OF_ATTS Yap_heap_regs->NUM_OF_ATTS_
#define Yap_AttsSize Yap_heap_regs->Yap_AttsSize_
#define Yap_AttsSize Yap_heap_regs->Yap_AttsSize_ #endif
#endif
#define OpList Yap_heap_regs->OpList_
#define OpList Yap_heap_regs->OpList_
#define ForeignCodeLoaded Yap_heap_regs->ForeignCodeLoaded_
#define ForeignCodeLoaded Yap_heap_regs->ForeignCodeLoaded_ #define ForeignCodeBase Yap_heap_regs->ForeignCodeBase_
#define ForeignCodeBase Yap_heap_regs->ForeignCodeBase_ #define ForeignCodeTop Yap_heap_regs->ForeignCodeTop_
#define ForeignCodeTop Yap_heap_regs->ForeignCodeTop_ #define ForeignCodeMax Yap_heap_regs->ForeignCodeMax_
#define ForeignCodeMax Yap_heap_regs->ForeignCodeMax_
#define Yap_Records Yap_heap_regs->Yap_Records_
#define Yap_Records Yap_heap_regs->Yap_Records_ #define EmptyWakeups Yap_heap_regs->EmptyWakeups_
#define EmptyWakeups Yap_heap_regs->EmptyWakeups_ #define MaxEmptyWakeups Yap_heap_regs->MaxEmptyWakeups_
#define MaxEmptyWakeups Yap_heap_regs->MaxEmptyWakeups_
#define BlobTypes Yap_heap_regs->BlobTypes_
#define BlobTypes Yap_heap_regs->BlobTypes_ #define Blobs Yap_heap_regs->Blobs_
#define Blobs Yap_heap_regs->Blobs_ #define NOfBlobs Yap_heap_regs->NOfBlobs_
#define NOfBlobs Yap_heap_regs->NOfBlobs_ #define NOfBlobsMax Yap_heap_regs->NOfBlobsMax_
#define NOfBlobsMax Yap_heap_regs->NOfBlobsMax_ #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) #define Blobs_Lock Yap_heap_regs->Blobs_Lock_
#define Blobs_Lock Yap_heap_regs->Blobs_Lock_ #endif
#endif

View File

@ -1,478 +1,478 @@
/* This file, dlocals.h, was generated automatically by "yap -L misc/buildlocalglobal" /* This file, dlocals.h, was generated automatically by "yap -L misc/buildlocalglobal"
please do not update, update H/LOCALS instead */ please do not update, update H/LOCALS instead */
#define LOCAL_c_input_stream LOCAL->c_input_stream_ #define LOCAL_c_input_stream LOCAL->c_input_stream_
#define REMOTE_c_input_stream(wid) REMOTE(wid)->c_input_stream_ #define REMOTE_c_input_stream(wid) REMOTE(wid)->c_input_stream_
#define LOCAL_c_output_stream LOCAL->c_output_stream_ #define LOCAL_c_output_stream LOCAL->c_output_stream_
#define REMOTE_c_output_stream(wid) REMOTE(wid)->c_output_stream_ #define REMOTE_c_output_stream(wid) REMOTE(wid)->c_output_stream_
#define LOCAL_c_error_stream LOCAL->c_error_stream_ #define LOCAL_c_error_stream LOCAL->c_error_stream_
#define REMOTE_c_error_stream(wid) REMOTE(wid)->c_error_stream_ #define REMOTE_c_error_stream(wid) REMOTE(wid)->c_error_stream_
#define LOCAL_sockets_io LOCAL->sockets_io_ #define LOCAL_sockets_io LOCAL->sockets_io_
#define REMOTE_sockets_io(wid) REMOTE(wid)->sockets_io_ #define REMOTE_sockets_io(wid) REMOTE(wid)->sockets_io_
#define LOCAL_within_print_message LOCAL->within_print_message_ #define LOCAL_within_print_message LOCAL->within_print_message_
#define REMOTE_within_print_message(wid) REMOTE(wid)->within_print_message_ #define REMOTE_within_print_message(wid) REMOTE(wid)->within_print_message_
#define LOCAL_newline LOCAL->newline_ #define LOCAL_newline LOCAL->newline_
#define REMOTE_newline(wid) REMOTE(wid)->newline_ #define REMOTE_newline(wid) REMOTE(wid)->newline_
#define LOCAL_AtPrompt LOCAL->AtPrompt_ #define LOCAL_AtPrompt LOCAL->AtPrompt_
#define REMOTE_AtPrompt(wid) REMOTE(wid)->AtPrompt_ #define REMOTE_AtPrompt(wid) REMOTE(wid)->AtPrompt_
#define LOCAL_Prompt LOCAL->Prompt_ #define LOCAL_Prompt LOCAL->Prompt_
#define REMOTE_Prompt(wid) REMOTE(wid)->Prompt_ #define REMOTE_Prompt(wid) REMOTE(wid)->Prompt_
#define LOCAL_encoding LOCAL->encoding_ #define LOCAL_encoding LOCAL->encoding_
#define REMOTE_encoding(wid) REMOTE(wid)->encoding_ #define REMOTE_encoding(wid) REMOTE(wid)->encoding_
#define LOCAL_quasi_quotations LOCAL->quasi_quotations_ #define LOCAL_quasi_quotations LOCAL->quasi_quotations_
#define REMOTE_quasi_quotations(wid) REMOTE(wid)->quasi_quotations_ #define REMOTE_quasi_quotations(wid) REMOTE(wid)->quasi_quotations_
#define LOCAL_default_priority LOCAL->default_priority_ #define LOCAL_default_priority LOCAL->default_priority_
#define REMOTE_default_priority(wid) REMOTE(wid)->default_priority_ #define REMOTE_default_priority(wid) REMOTE(wid)->default_priority_
#define LOCAL_eot_before_eof LOCAL->eot_before_eof_ #define LOCAL_eot_before_eof LOCAL->eot_before_eof_
#define REMOTE_eot_before_eof(wid) REMOTE(wid)->eot_before_eof_ #define REMOTE_eot_before_eof(wid) REMOTE(wid)->eot_before_eof_
#define LOCAL_max_depth LOCAL->max_depth_ #define LOCAL_max_depth LOCAL->max_depth_
#define REMOTE_max_depth(wid) REMOTE(wid)->max_depth_ #define REMOTE_max_depth(wid) REMOTE(wid)->max_depth_
#define LOCAL_max_list LOCAL->max_list_ #define LOCAL_max_list LOCAL->max_list_
#define REMOTE_max_list(wid) REMOTE(wid)->max_list_ #define REMOTE_max_list(wid) REMOTE(wid)->max_list_
#define LOCAL_max_write_args LOCAL->max_write_args_ #define LOCAL_max_write_args LOCAL->max_write_args_
#define REMOTE_max_write_args(wid) REMOTE(wid)->max_write_args_ #define REMOTE_max_write_args(wid) REMOTE(wid)->max_write_args_
#define LOCAL_OldASP LOCAL->OldASP_ #define LOCAL_OldASP LOCAL->OldASP_
#define REMOTE_OldASP(wid) REMOTE(wid)->OldASP_ #define REMOTE_OldASP(wid) REMOTE(wid)->OldASP_
#define LOCAL_OldLCL0 LOCAL->OldLCL0_ #define LOCAL_OldLCL0 LOCAL->OldLCL0_
#define REMOTE_OldLCL0(wid) REMOTE(wid)->OldLCL0_ #define REMOTE_OldLCL0(wid) REMOTE(wid)->OldLCL0_
#define LOCAL_OldTR LOCAL->OldTR_ #define LOCAL_OldTR LOCAL->OldTR_
#define REMOTE_OldTR(wid) REMOTE(wid)->OldTR_ #define REMOTE_OldTR(wid) REMOTE(wid)->OldTR_
#define LOCAL_OldGlobalBase LOCAL->OldGlobalBase_ #define LOCAL_OldGlobalBase LOCAL->OldGlobalBase_
#define REMOTE_OldGlobalBase(wid) REMOTE(wid)->OldGlobalBase_ #define REMOTE_OldGlobalBase(wid) REMOTE(wid)->OldGlobalBase_
#define LOCAL_OldH LOCAL->OldH_ #define LOCAL_OldH LOCAL->OldH_
#define REMOTE_OldH(wid) REMOTE(wid)->OldH_ #define REMOTE_OldH(wid) REMOTE(wid)->OldH_
#define LOCAL_OldH0 LOCAL->OldH0_ #define LOCAL_OldH0 LOCAL->OldH0_
#define REMOTE_OldH0(wid) REMOTE(wid)->OldH0_ #define REMOTE_OldH0(wid) REMOTE(wid)->OldH0_
#define LOCAL_OldTrailBase LOCAL->OldTrailBase_ #define LOCAL_OldTrailBase LOCAL->OldTrailBase_
#define REMOTE_OldTrailBase(wid) REMOTE(wid)->OldTrailBase_ #define REMOTE_OldTrailBase(wid) REMOTE(wid)->OldTrailBase_
#define LOCAL_OldTrailTop LOCAL->OldTrailTop_ #define LOCAL_OldTrailTop LOCAL->OldTrailTop_
#define REMOTE_OldTrailTop(wid) REMOTE(wid)->OldTrailTop_ #define REMOTE_OldTrailTop(wid) REMOTE(wid)->OldTrailTop_
#define LOCAL_OldHeapBase LOCAL->OldHeapBase_ #define LOCAL_OldHeapBase LOCAL->OldHeapBase_
#define REMOTE_OldHeapBase(wid) REMOTE(wid)->OldHeapBase_ #define REMOTE_OldHeapBase(wid) REMOTE(wid)->OldHeapBase_
#define LOCAL_OldHeapTop LOCAL->OldHeapTop_ #define LOCAL_OldHeapTop LOCAL->OldHeapTop_
#define REMOTE_OldHeapTop(wid) REMOTE(wid)->OldHeapTop_ #define REMOTE_OldHeapTop(wid) REMOTE(wid)->OldHeapTop_
#define LOCAL_ClDiff LOCAL->ClDiff_ #define LOCAL_ClDiff LOCAL->ClDiff_
#define REMOTE_ClDiff(wid) REMOTE(wid)->ClDiff_ #define REMOTE_ClDiff(wid) REMOTE(wid)->ClDiff_
#define LOCAL_GDiff LOCAL->GDiff_ #define LOCAL_GDiff LOCAL->GDiff_
#define REMOTE_GDiff(wid) REMOTE(wid)->GDiff_ #define REMOTE_GDiff(wid) REMOTE(wid)->GDiff_
#define LOCAL_HDiff LOCAL->HDiff_ #define LOCAL_HDiff LOCAL->HDiff_
#define REMOTE_HDiff(wid) REMOTE(wid)->HDiff_ #define REMOTE_HDiff(wid) REMOTE(wid)->HDiff_
#define LOCAL_GDiff0 LOCAL->GDiff0_ #define LOCAL_GDiff0 LOCAL->GDiff0_
#define REMOTE_GDiff0(wid) REMOTE(wid)->GDiff0_ #define REMOTE_GDiff0(wid) REMOTE(wid)->GDiff0_
#define LOCAL_GSplit LOCAL->GSplit_ #define LOCAL_GSplit LOCAL->GSplit_
#define REMOTE_GSplit(wid) REMOTE(wid)->GSplit_ #define REMOTE_GSplit(wid) REMOTE(wid)->GSplit_
#define LOCAL_LDiff LOCAL->LDiff_ #define LOCAL_LDiff LOCAL->LDiff_
#define REMOTE_LDiff(wid) REMOTE(wid)->LDiff_ #define REMOTE_LDiff(wid) REMOTE(wid)->LDiff_
#define LOCAL_TrDiff LOCAL->TrDiff_ #define LOCAL_TrDiff LOCAL->TrDiff_
#define REMOTE_TrDiff(wid) REMOTE(wid)->TrDiff_ #define REMOTE_TrDiff(wid) REMOTE(wid)->TrDiff_
#define LOCAL_XDiff LOCAL->XDiff_ #define LOCAL_XDiff LOCAL->XDiff_
#define REMOTE_XDiff(wid) REMOTE(wid)->XDiff_ #define REMOTE_XDiff(wid) REMOTE(wid)->XDiff_
#define LOCAL_DelayDiff LOCAL->DelayDiff_ #define LOCAL_DelayDiff LOCAL->DelayDiff_
#define REMOTE_DelayDiff(wid) REMOTE(wid)->DelayDiff_ #define REMOTE_DelayDiff(wid) REMOTE(wid)->DelayDiff_
#define LOCAL_BaseDiff LOCAL->BaseDiff_ #define LOCAL_BaseDiff LOCAL->BaseDiff_
#define REMOTE_BaseDiff(wid) REMOTE(wid)->BaseDiff_ #define REMOTE_BaseDiff(wid) REMOTE(wid)->BaseDiff_
#define LOCAL_ReductionsCounter LOCAL->ReductionsCounter_ #define LOCAL_ReductionsCounter LOCAL->ReductionsCounter_
#define REMOTE_ReductionsCounter(wid) REMOTE(wid)->ReductionsCounter_ #define REMOTE_ReductionsCounter(wid) REMOTE(wid)->ReductionsCounter_
#define LOCAL_PredEntriesCounter LOCAL->PredEntriesCounter_ #define LOCAL_PredEntriesCounter LOCAL->PredEntriesCounter_
#define REMOTE_PredEntriesCounter(wid) REMOTE(wid)->PredEntriesCounter_ #define REMOTE_PredEntriesCounter(wid) REMOTE(wid)->PredEntriesCounter_
#define LOCAL_RetriesCounter LOCAL->RetriesCounter_ #define LOCAL_RetriesCounter LOCAL->RetriesCounter_
#define REMOTE_RetriesCounter(wid) REMOTE(wid)->RetriesCounter_ #define REMOTE_RetriesCounter(wid) REMOTE(wid)->RetriesCounter_
#define LOCAL_ReductionsCounterOn LOCAL->ReductionsCounterOn_ #define LOCAL_ReductionsCounterOn LOCAL->ReductionsCounterOn_
#define REMOTE_ReductionsCounterOn(wid) REMOTE(wid)->ReductionsCounterOn_ #define REMOTE_ReductionsCounterOn(wid) REMOTE(wid)->ReductionsCounterOn_
#define LOCAL_PredEntriesCounterOn LOCAL->PredEntriesCounterOn_ #define LOCAL_PredEntriesCounterOn LOCAL->PredEntriesCounterOn_
#define REMOTE_PredEntriesCounterOn(wid) REMOTE(wid)->PredEntriesCounterOn_ #define REMOTE_PredEntriesCounterOn(wid) REMOTE(wid)->PredEntriesCounterOn_
#define LOCAL_RetriesCounterOn LOCAL->RetriesCounterOn_ #define LOCAL_RetriesCounterOn LOCAL->RetriesCounterOn_
#define REMOTE_RetriesCounterOn(wid) REMOTE(wid)->RetriesCounterOn_ #define REMOTE_RetriesCounterOn(wid) REMOTE(wid)->RetriesCounterOn_
#define LOCAL_ConsultSp LOCAL->ConsultSp_ #define LOCAL_ConsultSp LOCAL->ConsultSp_
#define REMOTE_ConsultSp(wid) REMOTE(wid)->ConsultSp_ #define REMOTE_ConsultSp(wid) REMOTE(wid)->ConsultSp_
#define LOCAL_ConsultCapacity LOCAL->ConsultCapacity_ #define LOCAL_ConsultCapacity LOCAL->ConsultCapacity_
#define REMOTE_ConsultCapacity(wid) REMOTE(wid)->ConsultCapacity_ #define REMOTE_ConsultCapacity(wid) REMOTE(wid)->ConsultCapacity_
#define LOCAL_ConsultBase LOCAL->ConsultBase_ #define LOCAL_ConsultBase LOCAL->ConsultBase_
#define REMOTE_ConsultBase(wid) REMOTE(wid)->ConsultBase_ #define REMOTE_ConsultBase(wid) REMOTE(wid)->ConsultBase_
#define LOCAL_ConsultLow LOCAL->ConsultLow_ #define LOCAL_ConsultLow LOCAL->ConsultLow_
#define REMOTE_ConsultLow(wid) REMOTE(wid)->ConsultLow_ #define REMOTE_ConsultLow(wid) REMOTE(wid)->ConsultLow_
#define LOCAL_VarNames LOCAL->VarNames_ #define LOCAL_VarNames LOCAL->VarNames_
#define REMOTE_VarNames(wid) REMOTE(wid)->VarNames_ #define REMOTE_VarNames(wid) REMOTE(wid)->VarNames_
#define LOCAL_SourceFileName LOCAL->SourceFileName_ #define LOCAL_SourceFileName LOCAL->SourceFileName_
#define REMOTE_SourceFileName(wid) REMOTE(wid)->SourceFileName_ #define REMOTE_SourceFileName(wid) REMOTE(wid)->SourceFileName_
#define LOCAL_SourceFileLineno LOCAL->SourceFileLineno_ #define LOCAL_SourceFileLineno LOCAL->SourceFileLineno_
#define REMOTE_SourceFileLineno(wid) REMOTE(wid)->SourceFileLineno_ #define REMOTE_SourceFileLineno(wid) REMOTE(wid)->SourceFileLineno_
#define LOCAL_GlobalArena LOCAL->GlobalArena_ #define LOCAL_GlobalArena LOCAL->GlobalArena_
#define REMOTE_GlobalArena(wid) REMOTE(wid)->GlobalArena_ #define REMOTE_GlobalArena(wid) REMOTE(wid)->GlobalArena_
#define LOCAL_GlobalArenaOverflows LOCAL->GlobalArenaOverflows_ #define LOCAL_GlobalArenaOverflows LOCAL->GlobalArenaOverflows_
#define REMOTE_GlobalArenaOverflows(wid) REMOTE(wid)->GlobalArenaOverflows_ #define REMOTE_GlobalArenaOverflows(wid) REMOTE(wid)->GlobalArenaOverflows_
#define LOCAL_ArenaOverflows LOCAL->ArenaOverflows_ #define LOCAL_ArenaOverflows LOCAL->ArenaOverflows_
#define REMOTE_ArenaOverflows(wid) REMOTE(wid)->ArenaOverflows_ #define REMOTE_ArenaOverflows(wid) REMOTE(wid)->ArenaOverflows_
#define LOCAL_DepthArenas LOCAL->DepthArenas_ #define LOCAL_DepthArenas LOCAL->DepthArenas_
#define REMOTE_DepthArenas(wid) REMOTE(wid)->DepthArenas_ #define REMOTE_DepthArenas(wid) REMOTE(wid)->DepthArenas_
#define LOCAL_LastAssertedPred LOCAL->LastAssertedPred_ #define LOCAL_LastAssertedPred LOCAL->LastAssertedPred_
#define REMOTE_LastAssertedPred(wid) REMOTE(wid)->LastAssertedPred_ #define REMOTE_LastAssertedPred(wid) REMOTE(wid)->LastAssertedPred_
#define LOCAL_TmpPred LOCAL->TmpPred_ #define LOCAL_TmpPred LOCAL->TmpPred_
#define REMOTE_TmpPred(wid) REMOTE(wid)->TmpPred_ #define REMOTE_TmpPred(wid) REMOTE(wid)->TmpPred_
#define LOCAL_ScannerStack LOCAL->ScannerStack_ #define LOCAL_ScannerStack LOCAL->ScannerStack_
#define REMOTE_ScannerStack(wid) REMOTE(wid)->ScannerStack_ #define REMOTE_ScannerStack(wid) REMOTE(wid)->ScannerStack_
#define LOCAL_ScannerExtraBlocks LOCAL->ScannerExtraBlocks_ #define LOCAL_ScannerExtraBlocks LOCAL->ScannerExtraBlocks_
#define REMOTE_ScannerExtraBlocks(wid) REMOTE(wid)->ScannerExtraBlocks_ #define REMOTE_ScannerExtraBlocks(wid) REMOTE(wid)->ScannerExtraBlocks_
#define LOCAL_CBorder LOCAL->CBorder_ #define LOCAL_CBorder LOCAL->CBorder_
#define REMOTE_CBorder(wid) REMOTE(wid)->CBorder_ #define REMOTE_CBorder(wid) REMOTE(wid)->CBorder_
#define LOCAL_MaxActiveSignals LOCAL->MaxActiveSignals_ #define LOCAL_MaxActiveSignals LOCAL->MaxActiveSignals_
#define REMOTE_MaxActiveSignals(wid) REMOTE(wid)->MaxActiveSignals_ #define REMOTE_MaxActiveSignals(wid) REMOTE(wid)->MaxActiveSignals_
#define LOCAL_Signals LOCAL->Signals_ #define LOCAL_Signals LOCAL->Signals_
#define REMOTE_Signals(wid) REMOTE(wid)->Signals_ #define REMOTE_Signals(wid) REMOTE(wid)->Signals_
#define LOCAL_IPredArity LOCAL->IPredArity_ #define LOCAL_IPredArity LOCAL->IPredArity_
#define REMOTE_IPredArity(wid) REMOTE(wid)->IPredArity_ #define REMOTE_IPredArity(wid) REMOTE(wid)->IPredArity_
#define LOCAL_ProfEnd LOCAL->ProfEnd_ #define LOCAL_ProfEnd LOCAL->ProfEnd_
#define REMOTE_ProfEnd(wid) REMOTE(wid)->ProfEnd_ #define REMOTE_ProfEnd(wid) REMOTE(wid)->ProfEnd_
#define LOCAL_DoingUndefp LOCAL->DoingUndefp_ #define LOCAL_DoingUndefp LOCAL->DoingUndefp_
#define REMOTE_DoingUndefp(wid) REMOTE(wid)->DoingUndefp_ #define REMOTE_DoingUndefp(wid) REMOTE(wid)->DoingUndefp_
#define LOCAL_StartCharCount LOCAL->StartCharCount_ #define LOCAL_StartCharCount LOCAL->StartCharCount_
#define REMOTE_StartCharCount(wid) REMOTE(wid)->StartCharCount_ #define REMOTE_StartCharCount(wid) REMOTE(wid)->StartCharCount_
#define LOCAL_StartLineCount LOCAL->StartLineCount_ #define LOCAL_StartLineCount LOCAL->StartLineCount_
#define REMOTE_StartLineCount(wid) REMOTE(wid)->StartLineCount_ #define REMOTE_StartLineCount(wid) REMOTE(wid)->StartLineCount_
#define LOCAL_StartLinePos LOCAL->StartLinePos_ #define LOCAL_StartLinePos LOCAL->StartLinePos_
#define REMOTE_StartLinePos(wid) REMOTE(wid)->StartLinePos_ #define REMOTE_StartLinePos(wid) REMOTE(wid)->StartLinePos_
#define LOCAL_ScratchPad LOCAL->ScratchPad_ #define LOCAL_ScratchPad LOCAL->ScratchPad_
#define REMOTE_ScratchPad(wid) REMOTE(wid)->ScratchPad_ #define REMOTE_ScratchPad(wid) REMOTE(wid)->ScratchPad_
#ifdef COROUTINING #ifdef COROUTINING
#define LOCAL_WokenGoals LOCAL->WokenGoals_ #define LOCAL_WokenGoals LOCAL->WokenGoals_
#define REMOTE_WokenGoals(wid) REMOTE(wid)->WokenGoals_ #define REMOTE_WokenGoals(wid) REMOTE(wid)->WokenGoals_
#define LOCAL_AttsMutableList LOCAL->AttsMutableList_ #define LOCAL_AttsMutableList LOCAL->AttsMutableList_
#define REMOTE_AttsMutableList(wid) REMOTE(wid)->AttsMutableList_ #define REMOTE_AttsMutableList(wid) REMOTE(wid)->AttsMutableList_
#endif #endif
#define LOCAL_GcGeneration LOCAL->GcGeneration_ #define LOCAL_GcGeneration LOCAL->GcGeneration_
#define REMOTE_GcGeneration(wid) REMOTE(wid)->GcGeneration_ #define REMOTE_GcGeneration(wid) REMOTE(wid)->GcGeneration_
#define LOCAL_GcPhase LOCAL->GcPhase_ #define LOCAL_GcPhase LOCAL->GcPhase_
#define REMOTE_GcPhase(wid) REMOTE(wid)->GcPhase_ #define REMOTE_GcPhase(wid) REMOTE(wid)->GcPhase_
#define LOCAL_GcCurrentPhase LOCAL->GcCurrentPhase_ #define LOCAL_GcCurrentPhase LOCAL->GcCurrentPhase_
#define REMOTE_GcCurrentPhase(wid) REMOTE(wid)->GcCurrentPhase_ #define REMOTE_GcCurrentPhase(wid) REMOTE(wid)->GcCurrentPhase_
#define LOCAL_GcCalls LOCAL->GcCalls_ #define LOCAL_GcCalls LOCAL->GcCalls_
#define REMOTE_GcCalls(wid) REMOTE(wid)->GcCalls_ #define REMOTE_GcCalls(wid) REMOTE(wid)->GcCalls_
#define LOCAL_TotGcTime LOCAL->TotGcTime_ #define LOCAL_TotGcTime LOCAL->TotGcTime_
#define REMOTE_TotGcTime(wid) REMOTE(wid)->TotGcTime_ #define REMOTE_TotGcTime(wid) REMOTE(wid)->TotGcTime_
#define LOCAL_TotGcRecovered LOCAL->TotGcRecovered_ #define LOCAL_TotGcRecovered LOCAL->TotGcRecovered_
#define REMOTE_TotGcRecovered(wid) REMOTE(wid)->TotGcRecovered_ #define REMOTE_TotGcRecovered(wid) REMOTE(wid)->TotGcRecovered_
#define LOCAL_LastGcTime LOCAL->LastGcTime_ #define LOCAL_LastGcTime LOCAL->LastGcTime_
#define REMOTE_LastGcTime(wid) REMOTE(wid)->LastGcTime_ #define REMOTE_LastGcTime(wid) REMOTE(wid)->LastGcTime_
#define LOCAL_LastSSTime LOCAL->LastSSTime_ #define LOCAL_LastSSTime LOCAL->LastSSTime_
#define REMOTE_LastSSTime(wid) REMOTE(wid)->LastSSTime_ #define REMOTE_LastSSTime(wid) REMOTE(wid)->LastSSTime_
#define LOCAL_OpenArray LOCAL->OpenArray_ #define LOCAL_OpenArray LOCAL->OpenArray_
#define REMOTE_OpenArray(wid) REMOTE(wid)->OpenArray_ #define REMOTE_OpenArray(wid) REMOTE(wid)->OpenArray_
#define LOCAL_total_marked LOCAL->total_marked_ #define LOCAL_total_marked LOCAL->total_marked_
#define REMOTE_total_marked(wid) REMOTE(wid)->total_marked_ #define REMOTE_total_marked(wid) REMOTE(wid)->total_marked_
#define LOCAL_total_oldies LOCAL->total_oldies_ #define LOCAL_total_oldies LOCAL->total_oldies_
#define REMOTE_total_oldies(wid) REMOTE(wid)->total_oldies_ #define REMOTE_total_oldies(wid) REMOTE(wid)->total_oldies_
#define LOCAL_current_B LOCAL->current_B_ #define LOCAL_current_B LOCAL->current_B_
#define REMOTE_current_B(wid) REMOTE(wid)->current_B_ #define REMOTE_current_B(wid) REMOTE(wid)->current_B_
#define LOCAL_prev_HB LOCAL->prev_HB_ #define LOCAL_prev_HB LOCAL->prev_HB_
#define REMOTE_prev_HB(wid) REMOTE(wid)->prev_HB_ #define REMOTE_prev_HB(wid) REMOTE(wid)->prev_HB_
#define LOCAL_HGEN LOCAL->HGEN_ #define LOCAL_HGEN LOCAL->HGEN_
#define REMOTE_HGEN(wid) REMOTE(wid)->HGEN_ #define REMOTE_HGEN(wid) REMOTE(wid)->HGEN_
#define LOCAL_iptop LOCAL->iptop_ #define LOCAL_iptop LOCAL->iptop_
#define REMOTE_iptop(wid) REMOTE(wid)->iptop_ #define REMOTE_iptop(wid) REMOTE(wid)->iptop_
#if defined(GC_NO_TAGS) #if defined(GC_NO_TAGS)
#define LOCAL_bp LOCAL->bp_ #define LOCAL_bp LOCAL->bp_
#define REMOTE_bp(wid) REMOTE(wid)->bp_ #define REMOTE_bp(wid) REMOTE(wid)->bp_
#endif #endif
#define LOCAL_sTR LOCAL->sTR_ #define LOCAL_sTR LOCAL->sTR_
#define REMOTE_sTR(wid) REMOTE(wid)->sTR_ #define REMOTE_sTR(wid) REMOTE(wid)->sTR_
#define LOCAL_sTR0 LOCAL->sTR0_ #define LOCAL_sTR0 LOCAL->sTR0_
#define REMOTE_sTR0(wid) REMOTE(wid)->sTR0_ #define REMOTE_sTR0(wid) REMOTE(wid)->sTR0_
#define LOCAL_new_TR LOCAL->new_TR_ #define LOCAL_new_TR LOCAL->new_TR_
#define REMOTE_new_TR(wid) REMOTE(wid)->new_TR_ #define REMOTE_new_TR(wid) REMOTE(wid)->new_TR_
#define LOCAL_cont_top0 LOCAL->cont_top0_ #define LOCAL_cont_top0 LOCAL->cont_top0_
#define REMOTE_cont_top0(wid) REMOTE(wid)->cont_top0_ #define REMOTE_cont_top0(wid) REMOTE(wid)->cont_top0_
#define LOCAL_cont_top LOCAL->cont_top_ #define LOCAL_cont_top LOCAL->cont_top_
#define REMOTE_cont_top(wid) REMOTE(wid)->cont_top_ #define REMOTE_cont_top(wid) REMOTE(wid)->cont_top_
#define LOCAL_discard_trail_entries LOCAL->discard_trail_entries_ #define LOCAL_discard_trail_entries LOCAL->discard_trail_entries_
#define REMOTE_discard_trail_entries(wid) REMOTE(wid)->discard_trail_entries_ #define REMOTE_discard_trail_entries(wid) REMOTE(wid)->discard_trail_entries_
#define LOCAL_gc_ma_hash_table LOCAL->gc_ma_hash_table_ #define LOCAL_gc_ma_hash_table LOCAL->gc_ma_hash_table_
#define REMOTE_gc_ma_hash_table(wid) REMOTE(wid)->gc_ma_hash_table_ #define REMOTE_gc_ma_hash_table(wid) REMOTE(wid)->gc_ma_hash_table_
#define LOCAL_gc_ma_h_top LOCAL->gc_ma_h_top_ #define LOCAL_gc_ma_h_top LOCAL->gc_ma_h_top_
#define REMOTE_gc_ma_h_top(wid) REMOTE(wid)->gc_ma_h_top_ #define REMOTE_gc_ma_h_top(wid) REMOTE(wid)->gc_ma_h_top_
#define LOCAL_gc_ma_h_list LOCAL->gc_ma_h_list_ #define LOCAL_gc_ma_h_list LOCAL->gc_ma_h_list_
#define REMOTE_gc_ma_h_list(wid) REMOTE(wid)->gc_ma_h_list_ #define REMOTE_gc_ma_h_list(wid) REMOTE(wid)->gc_ma_h_list_
#define LOCAL_gc_timestamp LOCAL->gc_timestamp_ #define LOCAL_gc_timestamp LOCAL->gc_timestamp_
#define REMOTE_gc_timestamp(wid) REMOTE(wid)->gc_timestamp_ #define REMOTE_gc_timestamp(wid) REMOTE(wid)->gc_timestamp_
#define LOCAL_db_vec LOCAL->db_vec_ #define LOCAL_db_vec LOCAL->db_vec_
#define REMOTE_db_vec(wid) REMOTE(wid)->db_vec_ #define REMOTE_db_vec(wid) REMOTE(wid)->db_vec_
#define LOCAL_db_vec0 LOCAL->db_vec0_ #define LOCAL_db_vec0 LOCAL->db_vec0_
#define REMOTE_db_vec0(wid) REMOTE(wid)->db_vec0_ #define REMOTE_db_vec0(wid) REMOTE(wid)->db_vec0_
#define LOCAL_db_root LOCAL->db_root_ #define LOCAL_db_root LOCAL->db_root_
#define REMOTE_db_root(wid) REMOTE(wid)->db_root_ #define REMOTE_db_root(wid) REMOTE(wid)->db_root_
#define LOCAL_db_nil LOCAL->db_nil_ #define LOCAL_db_nil LOCAL->db_nil_
#define REMOTE_db_nil(wid) REMOTE(wid)->db_nil_ #define REMOTE_db_nil(wid) REMOTE(wid)->db_nil_
#define LOCAL_gc_restore LOCAL->gc_restore_ #define LOCAL_gc_restore LOCAL->gc_restore_
#define REMOTE_gc_restore(wid) REMOTE(wid)->gc_restore_ #define REMOTE_gc_restore(wid) REMOTE(wid)->gc_restore_
#define LOCAL_extra_gc_cells LOCAL->extra_gc_cells_ #define LOCAL_extra_gc_cells LOCAL->extra_gc_cells_
#define REMOTE_extra_gc_cells(wid) REMOTE(wid)->extra_gc_cells_ #define REMOTE_extra_gc_cells(wid) REMOTE(wid)->extra_gc_cells_
#define LOCAL_extra_gc_cells_base LOCAL->extra_gc_cells_base_ #define LOCAL_extra_gc_cells_base LOCAL->extra_gc_cells_base_
#define REMOTE_extra_gc_cells_base(wid) REMOTE(wid)->extra_gc_cells_base_ #define REMOTE_extra_gc_cells_base(wid) REMOTE(wid)->extra_gc_cells_base_
#define LOCAL_extra_gc_cells_top LOCAL->extra_gc_cells_top_ #define LOCAL_extra_gc_cells_top LOCAL->extra_gc_cells_top_
#define REMOTE_extra_gc_cells_top(wid) REMOTE(wid)->extra_gc_cells_top_ #define REMOTE_extra_gc_cells_top(wid) REMOTE(wid)->extra_gc_cells_top_
#define LOCAL_extra_gc_cells_size LOCAL->extra_gc_cells_size_ #define LOCAL_extra_gc_cells_size LOCAL->extra_gc_cells_size_
#define REMOTE_extra_gc_cells_size(wid) REMOTE(wid)->extra_gc_cells_size_ #define REMOTE_extra_gc_cells_size(wid) REMOTE(wid)->extra_gc_cells_size_
#define LOCAL_DynamicArrays LOCAL->DynamicArrays_ #define LOCAL_DynamicArrays LOCAL->DynamicArrays_
#define REMOTE_DynamicArrays(wid) REMOTE(wid)->DynamicArrays_ #define REMOTE_DynamicArrays(wid) REMOTE(wid)->DynamicArrays_
#define LOCAL_StaticArrays LOCAL->StaticArrays_ #define LOCAL_StaticArrays LOCAL->StaticArrays_
#define REMOTE_StaticArrays(wid) REMOTE(wid)->StaticArrays_ #define REMOTE_StaticArrays(wid) REMOTE(wid)->StaticArrays_
#define LOCAL_GlobalVariables LOCAL->GlobalVariables_ #define LOCAL_GlobalVariables LOCAL->GlobalVariables_
#define REMOTE_GlobalVariables(wid) REMOTE(wid)->GlobalVariables_ #define REMOTE_GlobalVariables(wid) REMOTE(wid)->GlobalVariables_
#define LOCAL_AllowRestart LOCAL->AllowRestart_ #define LOCAL_AllowRestart LOCAL->AllowRestart_
#define REMOTE_AllowRestart(wid) REMOTE(wid)->AllowRestart_ #define REMOTE_AllowRestart(wid) REMOTE(wid)->AllowRestart_
#define LOCAL_CMemFirstBlock LOCAL->CMemFirstBlock_ #define LOCAL_CMemFirstBlock LOCAL->CMemFirstBlock_
#define REMOTE_CMemFirstBlock(wid) REMOTE(wid)->CMemFirstBlock_ #define REMOTE_CMemFirstBlock(wid) REMOTE(wid)->CMemFirstBlock_
#define LOCAL_CMemFirstBlockSz LOCAL->CMemFirstBlockSz_ #define LOCAL_CMemFirstBlockSz LOCAL->CMemFirstBlockSz_
#define REMOTE_CMemFirstBlockSz(wid) REMOTE(wid)->CMemFirstBlockSz_ #define REMOTE_CMemFirstBlockSz(wid) REMOTE(wid)->CMemFirstBlockSz_
#define LOCAL_nperm LOCAL->nperm_ #define LOCAL_nperm LOCAL->nperm_
#define REMOTE_nperm(wid) REMOTE(wid)->nperm_ #define REMOTE_nperm(wid) REMOTE(wid)->nperm_
#define LOCAL_jMP LOCAL->jMP_ #define LOCAL_jMP LOCAL->jMP_
#define REMOTE_jMP(wid) REMOTE(wid)->jMP_ #define REMOTE_jMP(wid) REMOTE(wid)->jMP_
#define LOCAL_LabelFirstArray LOCAL->LabelFirstArray_ #define LOCAL_LabelFirstArray LOCAL->LabelFirstArray_
#define REMOTE_LabelFirstArray(wid) REMOTE(wid)->LabelFirstArray_ #define REMOTE_LabelFirstArray(wid) REMOTE(wid)->LabelFirstArray_
#define LOCAL_LabelFirstArraySz LOCAL->LabelFirstArraySz_ #define LOCAL_LabelFirstArraySz LOCAL->LabelFirstArraySz_
#define REMOTE_LabelFirstArraySz(wid) REMOTE(wid)->LabelFirstArraySz_ #define REMOTE_LabelFirstArraySz(wid) REMOTE(wid)->LabelFirstArraySz_
#ifdef THREADS #ifdef THREADS
#define LOCAL_ThreadHandle LOCAL->ThreadHandle_ #define LOCAL_ThreadHandle LOCAL->ThreadHandle_
#define REMOTE_ThreadHandle(wid) REMOTE(wid)->ThreadHandle_ #define REMOTE_ThreadHandle(wid) REMOTE(wid)->ThreadHandle_
#endif /* THREADS */ #endif /* THREADS */
#if defined(YAPOR) || defined(TABLING) #if defined(YAPOR) || defined(TABLING)
#define LOCAL_optyap_data LOCAL->optyap_data_ #define LOCAL_optyap_data LOCAL->optyap_data_
#define REMOTE_optyap_data(wid) REMOTE(wid)->optyap_data_ #define REMOTE_optyap_data(wid) REMOTE(wid)->optyap_data_
#define LOCAL_TabMode LOCAL->TabMode_ #define LOCAL_TabMode LOCAL->TabMode_
#define REMOTE_TabMode(wid) REMOTE(wid)->TabMode_ #define REMOTE_TabMode(wid) REMOTE(wid)->TabMode_
#endif /* YAPOR || TABLING */ #endif /* YAPOR || TABLING */
#define LOCAL_InterruptsDisabled LOCAL->InterruptsDisabled_ #define LOCAL_InterruptsDisabled LOCAL->InterruptsDisabled_
#define REMOTE_InterruptsDisabled(wid) REMOTE(wid)->InterruptsDisabled_ #define REMOTE_InterruptsDisabled(wid) REMOTE(wid)->InterruptsDisabled_
#define LOCAL_execution LOCAL->execution_ #define LOCAL_execution LOCAL->execution_
#define REMOTE_execution(wid) REMOTE(wid)->execution_ #define REMOTE_execution(wid) REMOTE(wid)->execution_
#if LOW_LEVEL_TRACER #if LOW_LEVEL_TRACER
#define LOCAL_total_choicepoints LOCAL->total_choicepoints_ #define LOCAL_total_choicepoints LOCAL->total_choicepoints_
#define REMOTE_total_choicepoints(wid) REMOTE(wid)->total_choicepoints_ #define REMOTE_total_choicepoints(wid) REMOTE(wid)->total_choicepoints_
#endif #endif
#define LOCAL_consult_level LOCAL->consult_level_ #define LOCAL_consult_level LOCAL->consult_level_
#define REMOTE_consult_level(wid) REMOTE(wid)->consult_level_ #define REMOTE_consult_level(wid) REMOTE(wid)->consult_level_
#define LOCAL_LocalBase LOCAL->LocalBase_ #define LOCAL_LocalBase LOCAL->LocalBase_
#define REMOTE_LocalBase(wid) REMOTE(wid)->LocalBase_ #define REMOTE_LocalBase(wid) REMOTE(wid)->LocalBase_
#define LOCAL_GlobalBase LOCAL->GlobalBase_ #define LOCAL_GlobalBase LOCAL->GlobalBase_
#define REMOTE_GlobalBase(wid) REMOTE(wid)->GlobalBase_ #define REMOTE_GlobalBase(wid) REMOTE(wid)->GlobalBase_
#define LOCAL_TrailBase LOCAL->TrailBase_ #define LOCAL_TrailBase LOCAL->TrailBase_
#define REMOTE_TrailBase(wid) REMOTE(wid)->TrailBase_ #define REMOTE_TrailBase(wid) REMOTE(wid)->TrailBase_
#define LOCAL_TrailTop LOCAL->TrailTop_ #define LOCAL_TrailTop LOCAL->TrailTop_
#define REMOTE_TrailTop(wid) REMOTE(wid)->TrailTop_ #define REMOTE_TrailTop(wid) REMOTE(wid)->TrailTop_
#define LOCAL_ActiveError LOCAL->ActiveError_ #define LOCAL_ActiveError LOCAL->ActiveError_
#define REMOTE_ActiveError(wid) REMOTE(wid)->ActiveError_ #define REMOTE_ActiveError(wid) REMOTE(wid)->ActiveError_
#define LOCAL_IOBotch LOCAL->IOBotch_ #define LOCAL_IOBotch LOCAL->IOBotch_
#define REMOTE_IOBotch(wid) REMOTE(wid)->IOBotch_ #define REMOTE_IOBotch(wid) REMOTE(wid)->IOBotch_
#define LOCAL_tokptr LOCAL->tokptr_ #define LOCAL_tokptr LOCAL->tokptr_
#define REMOTE_tokptr(wid) REMOTE(wid)->tokptr_ #define REMOTE_tokptr(wid) REMOTE(wid)->tokptr_
#define LOCAL_toktide LOCAL->toktide_ #define LOCAL_toktide LOCAL->toktide_
#define REMOTE_toktide(wid) REMOTE(wid)->toktide_ #define REMOTE_toktide(wid) REMOTE(wid)->toktide_
#define LOCAL_VarTable LOCAL->VarTable_ #define LOCAL_VarTable LOCAL->VarTable_
#define REMOTE_VarTable(wid) REMOTE(wid)->VarTable_ #define REMOTE_VarTable(wid) REMOTE(wid)->VarTable_
#define LOCAL_AnonVarTable LOCAL->AnonVarTable_ #define LOCAL_AnonVarTable LOCAL->AnonVarTable_
#define REMOTE_AnonVarTable(wid) REMOTE(wid)->AnonVarTable_ #define REMOTE_AnonVarTable(wid) REMOTE(wid)->AnonVarTable_
#define LOCAL_Comments LOCAL->Comments_ #define LOCAL_Comments LOCAL->Comments_
#define REMOTE_Comments(wid) REMOTE(wid)->Comments_ #define REMOTE_Comments(wid) REMOTE(wid)->Comments_
#define LOCAL_CommentsTail LOCAL->CommentsTail_ #define LOCAL_CommentsTail LOCAL->CommentsTail_
#define REMOTE_CommentsTail(wid) REMOTE(wid)->CommentsTail_ #define REMOTE_CommentsTail(wid) REMOTE(wid)->CommentsTail_
#define LOCAL_CommentsNextChar LOCAL->CommentsNextChar_ #define LOCAL_CommentsNextChar LOCAL->CommentsNextChar_
#define REMOTE_CommentsNextChar(wid) REMOTE(wid)->CommentsNextChar_ #define REMOTE_CommentsNextChar(wid) REMOTE(wid)->CommentsNextChar_
#define LOCAL_CommentsBuff LOCAL->CommentsBuff_ #define LOCAL_CommentsBuff LOCAL->CommentsBuff_
#define REMOTE_CommentsBuff(wid) REMOTE(wid)->CommentsBuff_ #define REMOTE_CommentsBuff(wid) REMOTE(wid)->CommentsBuff_
#define LOCAL_CommentsBuffPos LOCAL->CommentsBuffPos_ #define LOCAL_CommentsBuffPos LOCAL->CommentsBuffPos_
#define REMOTE_CommentsBuffPos(wid) REMOTE(wid)->CommentsBuffPos_ #define REMOTE_CommentsBuffPos(wid) REMOTE(wid)->CommentsBuffPos_
#define LOCAL_CommentsBuffLim LOCAL->CommentsBuffLim_ #define LOCAL_CommentsBuffLim LOCAL->CommentsBuffLim_
#define REMOTE_CommentsBuffLim(wid) REMOTE(wid)->CommentsBuffLim_ #define REMOTE_CommentsBuffLim(wid) REMOTE(wid)->CommentsBuffLim_
#define LOCAL_RestartEnv LOCAL->RestartEnv_ #define LOCAL_RestartEnv LOCAL->RestartEnv_
#define REMOTE_RestartEnv(wid) REMOTE(wid)->RestartEnv_ #define REMOTE_RestartEnv(wid) REMOTE(wid)->RestartEnv_
#define LOCAL_FileNameBuf LOCAL->FileNameBuf_ #define LOCAL_FileNameBuf LOCAL->FileNameBuf_
#define REMOTE_FileNameBuf(wid) REMOTE(wid)->FileNameBuf_ #define REMOTE_FileNameBuf(wid) REMOTE(wid)->FileNameBuf_
#define LOCAL_FileNameBuf2 LOCAL->FileNameBuf2_ #define LOCAL_FileNameBuf2 LOCAL->FileNameBuf2_
#define REMOTE_FileNameBuf2(wid) REMOTE(wid)->FileNameBuf2_ #define REMOTE_FileNameBuf2(wid) REMOTE(wid)->FileNameBuf2_
#define LOCAL_TextBuffer LOCAL->TextBuffer_ #define LOCAL_TextBuffer LOCAL->TextBuffer_
#define REMOTE_TextBuffer(wid) REMOTE(wid)->TextBuffer_ #define REMOTE_TextBuffer(wid) REMOTE(wid)->TextBuffer_
#define LOCAL_BreakLevel LOCAL->BreakLevel_ #define LOCAL_BreakLevel LOCAL->BreakLevel_
#define REMOTE_BreakLevel(wid) REMOTE(wid)->BreakLevel_ #define REMOTE_BreakLevel(wid) REMOTE(wid)->BreakLevel_
#define LOCAL_PrologMode LOCAL->PrologMode_ #define LOCAL_PrologMode LOCAL->PrologMode_
#define REMOTE_PrologMode(wid) REMOTE(wid)->PrologMode_ #define REMOTE_PrologMode(wid) REMOTE(wid)->PrologMode_
#define LOCAL_CritLocks LOCAL->CritLocks_ #define LOCAL_CritLocks LOCAL->CritLocks_
#define REMOTE_CritLocks(wid) REMOTE(wid)->CritLocks_ #define REMOTE_CritLocks(wid) REMOTE(wid)->CritLocks_
#define LOCAL_Flags LOCAL->Flags_ #define LOCAL_Flags LOCAL->Flags_
#define REMOTE_Flags(wid) REMOTE(wid)->Flags_ #define REMOTE_Flags(wid) REMOTE(wid)->Flags_
#define LOCAL_flagCount LOCAL->flagCount_ #define LOCAL_flagCount LOCAL->flagCount_
#define REMOTE_flagCount(wid) REMOTE(wid)->flagCount_ #define REMOTE_flagCount(wid) REMOTE(wid)->flagCount_
#ifdef ANALYST #ifdef ANALYST
#define LOCAL_opcount LOCAL->opcount_ #define LOCAL_opcount LOCAL->opcount_
#define REMOTE_opcount(wid) REMOTE(wid)->opcount_ #define REMOTE_opcount(wid) REMOTE(wid)->opcount_
#define LOCAL_2opcount LOCAL->2opcount_ #define LOCAL_2opcount LOCAL->2opcount_
#define REMOTE_2opcount(wid) REMOTE(wid)->2opcount_ #define REMOTE_2opcount(wid) REMOTE(wid)->2opcount_
#endif /* ANALYST */ #endif /* ANALYST */
#define LOCAL_s_dbg LOCAL->s_dbg_ #define LOCAL_s_dbg LOCAL->s_dbg_
#define REMOTE_s_dbg(wid) REMOTE(wid)->s_dbg_ #define REMOTE_s_dbg(wid) REMOTE(wid)->s_dbg_
#define LOCAL_mathtt LOCAL->mathtt_ #define LOCAL_mathtt LOCAL->mathtt_
#define REMOTE_mathtt(wid) REMOTE(wid)->mathtt_ #define REMOTE_mathtt(wid) REMOTE(wid)->mathtt_
#define LOCAL_mathstring LOCAL->mathstring_ #define LOCAL_mathstring LOCAL->mathstring_
#define REMOTE_mathstring(wid) REMOTE(wid)->mathstring_ #define REMOTE_mathstring(wid) REMOTE(wid)->mathstring_
#define LOCAL_heap_overflows LOCAL->heap_overflows_ #define LOCAL_heap_overflows LOCAL->heap_overflows_
#define REMOTE_heap_overflows(wid) REMOTE(wid)->heap_overflows_ #define REMOTE_heap_overflows(wid) REMOTE(wid)->heap_overflows_
#define LOCAL_total_heap_overflow_time LOCAL->total_heap_overflow_time_ #define LOCAL_total_heap_overflow_time LOCAL->total_heap_overflow_time_
#define REMOTE_total_heap_overflow_time(wid) REMOTE(wid)->total_heap_overflow_time_ #define REMOTE_total_heap_overflow_time(wid) REMOTE(wid)->total_heap_overflow_time_
#define LOCAL_stack_overflows LOCAL->stack_overflows_ #define LOCAL_stack_overflows LOCAL->stack_overflows_
#define REMOTE_stack_overflows(wid) REMOTE(wid)->stack_overflows_ #define REMOTE_stack_overflows(wid) REMOTE(wid)->stack_overflows_
#define LOCAL_total_stack_overflow_time LOCAL->total_stack_overflow_time_ #define LOCAL_total_stack_overflow_time LOCAL->total_stack_overflow_time_
#define REMOTE_total_stack_overflow_time(wid) REMOTE(wid)->total_stack_overflow_time_ #define REMOTE_total_stack_overflow_time(wid) REMOTE(wid)->total_stack_overflow_time_
#define LOCAL_delay_overflows LOCAL->delay_overflows_ #define LOCAL_delay_overflows LOCAL->delay_overflows_
#define REMOTE_delay_overflows(wid) REMOTE(wid)->delay_overflows_ #define REMOTE_delay_overflows(wid) REMOTE(wid)->delay_overflows_
#define LOCAL_total_delay_overflow_time LOCAL->total_delay_overflow_time_ #define LOCAL_total_delay_overflow_time LOCAL->total_delay_overflow_time_
#define REMOTE_total_delay_overflow_time(wid) REMOTE(wid)->total_delay_overflow_time_ #define REMOTE_total_delay_overflow_time(wid) REMOTE(wid)->total_delay_overflow_time_
#define LOCAL_trail_overflows LOCAL->trail_overflows_ #define LOCAL_trail_overflows LOCAL->trail_overflows_
#define REMOTE_trail_overflows(wid) REMOTE(wid)->trail_overflows_ #define REMOTE_trail_overflows(wid) REMOTE(wid)->trail_overflows_
#define LOCAL_total_trail_overflow_time LOCAL->total_trail_overflow_time_ #define LOCAL_total_trail_overflow_time LOCAL->total_trail_overflow_time_
#define REMOTE_total_trail_overflow_time(wid) REMOTE(wid)->total_trail_overflow_time_ #define REMOTE_total_trail_overflow_time(wid) REMOTE(wid)->total_trail_overflow_time_
#define LOCAL_atom_table_overflows LOCAL->atom_table_overflows_ #define LOCAL_atom_table_overflows LOCAL->atom_table_overflows_
#define REMOTE_atom_table_overflows(wid) REMOTE(wid)->atom_table_overflows_ #define REMOTE_atom_table_overflows(wid) REMOTE(wid)->atom_table_overflows_
#define LOCAL_total_atom_table_overflow_time LOCAL->total_atom_table_overflow_time_ #define LOCAL_total_atom_table_overflow_time LOCAL->total_atom_table_overflow_time_
#define REMOTE_total_atom_table_overflow_time(wid) REMOTE(wid)->total_atom_table_overflow_time_ #define REMOTE_total_atom_table_overflow_time(wid) REMOTE(wid)->total_atom_table_overflow_time_
#ifdef LOAD_DYLD #ifdef LOAD_DYLD
#define LOCAL_dl_errno LOCAL->dl_errno_ #define LOCAL_dl_errno LOCAL->dl_errno_
#define REMOTE_dl_errno(wid) REMOTE(wid)->dl_errno_ #define REMOTE_dl_errno(wid) REMOTE(wid)->dl_errno_
#endif #endif
#ifdef LOW_LEVEL_TRACER #ifdef LOW_LEVEL_TRACER
#define LOCAL_do_trace_primitives LOCAL->do_trace_primitives_ #define LOCAL_do_trace_primitives LOCAL->do_trace_primitives_
#define REMOTE_do_trace_primitives(wid) REMOTE(wid)->do_trace_primitives_ #define REMOTE_do_trace_primitives(wid) REMOTE(wid)->do_trace_primitives_
#endif #endif
#define LOCAL_ExportAtomHashChain LOCAL->ExportAtomHashChain_ #define LOCAL_ExportAtomHashChain LOCAL->ExportAtomHashChain_
#define REMOTE_ExportAtomHashChain(wid) REMOTE(wid)->ExportAtomHashChain_ #define REMOTE_ExportAtomHashChain(wid) REMOTE(wid)->ExportAtomHashChain_
#define LOCAL_ExportAtomHashTableSize LOCAL->ExportAtomHashTableSize_ #define LOCAL_ExportAtomHashTableSize LOCAL->ExportAtomHashTableSize_
#define REMOTE_ExportAtomHashTableSize(wid) REMOTE(wid)->ExportAtomHashTableSize_ #define REMOTE_ExportAtomHashTableSize(wid) REMOTE(wid)->ExportAtomHashTableSize_
#define LOCAL_ExportAtomHashTableNum LOCAL->ExportAtomHashTableNum_ #define LOCAL_ExportAtomHashTableNum LOCAL->ExportAtomHashTableNum_
#define REMOTE_ExportAtomHashTableNum(wid) REMOTE(wid)->ExportAtomHashTableNum_ #define REMOTE_ExportAtomHashTableNum(wid) REMOTE(wid)->ExportAtomHashTableNum_
#define LOCAL_ExportFunctorHashChain LOCAL->ExportFunctorHashChain_ #define LOCAL_ExportFunctorHashChain LOCAL->ExportFunctorHashChain_
#define REMOTE_ExportFunctorHashChain(wid) REMOTE(wid)->ExportFunctorHashChain_ #define REMOTE_ExportFunctorHashChain(wid) REMOTE(wid)->ExportFunctorHashChain_
#define LOCAL_ExportFunctorHashTableSize LOCAL->ExportFunctorHashTableSize_ #define LOCAL_ExportFunctorHashTableSize LOCAL->ExportFunctorHashTableSize_
#define REMOTE_ExportFunctorHashTableSize(wid) REMOTE(wid)->ExportFunctorHashTableSize_ #define REMOTE_ExportFunctorHashTableSize(wid) REMOTE(wid)->ExportFunctorHashTableSize_
#define LOCAL_ExportFunctorHashTableNum LOCAL->ExportFunctorHashTableNum_ #define LOCAL_ExportFunctorHashTableNum LOCAL->ExportFunctorHashTableNum_
#define REMOTE_ExportFunctorHashTableNum(wid) REMOTE(wid)->ExportFunctorHashTableNum_ #define REMOTE_ExportFunctorHashTableNum(wid) REMOTE(wid)->ExportFunctorHashTableNum_
#define LOCAL_ExportPredEntryHashChain LOCAL->ExportPredEntryHashChain_ #define LOCAL_ExportPredEntryHashChain LOCAL->ExportPredEntryHashChain_
#define REMOTE_ExportPredEntryHashChain(wid) REMOTE(wid)->ExportPredEntryHashChain_ #define REMOTE_ExportPredEntryHashChain(wid) REMOTE(wid)->ExportPredEntryHashChain_
#define LOCAL_ExportPredEntryHashTableSize LOCAL->ExportPredEntryHashTableSize_ #define LOCAL_ExportPredEntryHashTableSize LOCAL->ExportPredEntryHashTableSize_
#define REMOTE_ExportPredEntryHashTableSize(wid) REMOTE(wid)->ExportPredEntryHashTableSize_ #define REMOTE_ExportPredEntryHashTableSize(wid) REMOTE(wid)->ExportPredEntryHashTableSize_
#define LOCAL_ExportPredEntryHashTableNum LOCAL->ExportPredEntryHashTableNum_ #define LOCAL_ExportPredEntryHashTableNum LOCAL->ExportPredEntryHashTableNum_
#define REMOTE_ExportPredEntryHashTableNum(wid) REMOTE(wid)->ExportPredEntryHashTableNum_ #define REMOTE_ExportPredEntryHashTableNum(wid) REMOTE(wid)->ExportPredEntryHashTableNum_
#define LOCAL_ExportDBRefHashChain LOCAL->ExportDBRefHashChain_ #define LOCAL_ExportDBRefHashChain LOCAL->ExportDBRefHashChain_
#define REMOTE_ExportDBRefHashChain(wid) REMOTE(wid)->ExportDBRefHashChain_ #define REMOTE_ExportDBRefHashChain(wid) REMOTE(wid)->ExportDBRefHashChain_
#define LOCAL_ExportDBRefHashTableSize LOCAL->ExportDBRefHashTableSize_ #define LOCAL_ExportDBRefHashTableSize LOCAL->ExportDBRefHashTableSize_
#define REMOTE_ExportDBRefHashTableSize(wid) REMOTE(wid)->ExportDBRefHashTableSize_ #define REMOTE_ExportDBRefHashTableSize(wid) REMOTE(wid)->ExportDBRefHashTableSize_
#define LOCAL_ExportDBRefHashTableNum LOCAL->ExportDBRefHashTableNum_ #define LOCAL_ExportDBRefHashTableNum LOCAL->ExportDBRefHashTableNum_
#define REMOTE_ExportDBRefHashTableNum(wid) REMOTE(wid)->ExportDBRefHashTableNum_ #define REMOTE_ExportDBRefHashTableNum(wid) REMOTE(wid)->ExportDBRefHashTableNum_
#define LOCAL_ImportAtomHashChain LOCAL->ImportAtomHashChain_ #define LOCAL_ImportAtomHashChain LOCAL->ImportAtomHashChain_
#define REMOTE_ImportAtomHashChain(wid) REMOTE(wid)->ImportAtomHashChain_ #define REMOTE_ImportAtomHashChain(wid) REMOTE(wid)->ImportAtomHashChain_
#define LOCAL_ImportAtomHashTableSize LOCAL->ImportAtomHashTableSize_ #define LOCAL_ImportAtomHashTableSize LOCAL->ImportAtomHashTableSize_
#define REMOTE_ImportAtomHashTableSize(wid) REMOTE(wid)->ImportAtomHashTableSize_ #define REMOTE_ImportAtomHashTableSize(wid) REMOTE(wid)->ImportAtomHashTableSize_
#define LOCAL_ImportAtomHashTableNum LOCAL->ImportAtomHashTableNum_ #define LOCAL_ImportAtomHashTableNum LOCAL->ImportAtomHashTableNum_
#define REMOTE_ImportAtomHashTableNum(wid) REMOTE(wid)->ImportAtomHashTableNum_ #define REMOTE_ImportAtomHashTableNum(wid) REMOTE(wid)->ImportAtomHashTableNum_
#define LOCAL_ImportFunctorHashChain LOCAL->ImportFunctorHashChain_ #define LOCAL_ImportFunctorHashChain LOCAL->ImportFunctorHashChain_
#define REMOTE_ImportFunctorHashChain(wid) REMOTE(wid)->ImportFunctorHashChain_ #define REMOTE_ImportFunctorHashChain(wid) REMOTE(wid)->ImportFunctorHashChain_
#define LOCAL_ImportFunctorHashTableSize LOCAL->ImportFunctorHashTableSize_ #define LOCAL_ImportFunctorHashTableSize LOCAL->ImportFunctorHashTableSize_
#define REMOTE_ImportFunctorHashTableSize(wid) REMOTE(wid)->ImportFunctorHashTableSize_ #define REMOTE_ImportFunctorHashTableSize(wid) REMOTE(wid)->ImportFunctorHashTableSize_
#define LOCAL_ImportFunctorHashTableNum LOCAL->ImportFunctorHashTableNum_ #define LOCAL_ImportFunctorHashTableNum LOCAL->ImportFunctorHashTableNum_
#define REMOTE_ImportFunctorHashTableNum(wid) REMOTE(wid)->ImportFunctorHashTableNum_ #define REMOTE_ImportFunctorHashTableNum(wid) REMOTE(wid)->ImportFunctorHashTableNum_
#define LOCAL_ImportOPCODEHashChain LOCAL->ImportOPCODEHashChain_ #define LOCAL_ImportOPCODEHashChain LOCAL->ImportOPCODEHashChain_
#define REMOTE_ImportOPCODEHashChain(wid) REMOTE(wid)->ImportOPCODEHashChain_ #define REMOTE_ImportOPCODEHashChain(wid) REMOTE(wid)->ImportOPCODEHashChain_
#define LOCAL_ImportOPCODEHashTableSize LOCAL->ImportOPCODEHashTableSize_ #define LOCAL_ImportOPCODEHashTableSize LOCAL->ImportOPCODEHashTableSize_
#define REMOTE_ImportOPCODEHashTableSize(wid) REMOTE(wid)->ImportOPCODEHashTableSize_ #define REMOTE_ImportOPCODEHashTableSize(wid) REMOTE(wid)->ImportOPCODEHashTableSize_
#define LOCAL_ImportPredEntryHashChain LOCAL->ImportPredEntryHashChain_ #define LOCAL_ImportPredEntryHashChain LOCAL->ImportPredEntryHashChain_
#define REMOTE_ImportPredEntryHashChain(wid) REMOTE(wid)->ImportPredEntryHashChain_ #define REMOTE_ImportPredEntryHashChain(wid) REMOTE(wid)->ImportPredEntryHashChain_
#define LOCAL_ImportPredEntryHashTableSize LOCAL->ImportPredEntryHashTableSize_ #define LOCAL_ImportPredEntryHashTableSize LOCAL->ImportPredEntryHashTableSize_
#define REMOTE_ImportPredEntryHashTableSize(wid) REMOTE(wid)->ImportPredEntryHashTableSize_ #define REMOTE_ImportPredEntryHashTableSize(wid) REMOTE(wid)->ImportPredEntryHashTableSize_
#define LOCAL_ImportPredEntryHashTableNum LOCAL->ImportPredEntryHashTableNum_ #define LOCAL_ImportPredEntryHashTableNum LOCAL->ImportPredEntryHashTableNum_
#define REMOTE_ImportPredEntryHashTableNum(wid) REMOTE(wid)->ImportPredEntryHashTableNum_ #define REMOTE_ImportPredEntryHashTableNum(wid) REMOTE(wid)->ImportPredEntryHashTableNum_
#define LOCAL_ImportDBRefHashChain LOCAL->ImportDBRefHashChain_ #define LOCAL_ImportDBRefHashChain LOCAL->ImportDBRefHashChain_
#define REMOTE_ImportDBRefHashChain(wid) REMOTE(wid)->ImportDBRefHashChain_ #define REMOTE_ImportDBRefHashChain(wid) REMOTE(wid)->ImportDBRefHashChain_
#define LOCAL_ImportDBRefHashTableSize LOCAL->ImportDBRefHashTableSize_ #define LOCAL_ImportDBRefHashTableSize LOCAL->ImportDBRefHashTableSize_
#define REMOTE_ImportDBRefHashTableSize(wid) REMOTE(wid)->ImportDBRefHashTableSize_ #define REMOTE_ImportDBRefHashTableSize(wid) REMOTE(wid)->ImportDBRefHashTableSize_
#define LOCAL_ImportDBRefHashTableNum LOCAL->ImportDBRefHashTableNum_ #define LOCAL_ImportDBRefHashTableNum LOCAL->ImportDBRefHashTableNum_
#define REMOTE_ImportDBRefHashTableNum(wid) REMOTE(wid)->ImportDBRefHashTableNum_ #define REMOTE_ImportDBRefHashTableNum(wid) REMOTE(wid)->ImportDBRefHashTableNum_
#define LOCAL_ImportFAILCODE LOCAL->ImportFAILCODE_ #define LOCAL_ImportFAILCODE LOCAL->ImportFAILCODE_
#define REMOTE_ImportFAILCODE(wid) REMOTE(wid)->ImportFAILCODE_ #define REMOTE_ImportFAILCODE(wid) REMOTE(wid)->ImportFAILCODE_
#define LOCAL_ibnds LOCAL->ibnds_ #define LOCAL_ibnds LOCAL->ibnds_
#define REMOTE_ibnds(wid) REMOTE(wid)->ibnds_ #define REMOTE_ibnds(wid) REMOTE(wid)->ibnds_
#define LOCAL_exo_it LOCAL->exo_it_ #define LOCAL_exo_it LOCAL->exo_it_
#define REMOTE_exo_it(wid) REMOTE(wid)->exo_it_ #define REMOTE_exo_it(wid) REMOTE(wid)->exo_it_
#define LOCAL_exo_base LOCAL->exo_base_ #define LOCAL_exo_base LOCAL->exo_base_
#define REMOTE_exo_base(wid) REMOTE(wid)->exo_base_ #define REMOTE_exo_base(wid) REMOTE(wid)->exo_base_
#define LOCAL_exo_arity LOCAL->exo_arity_ #define LOCAL_exo_arity LOCAL->exo_arity_
#define REMOTE_exo_arity(wid) REMOTE(wid)->exo_arity_ #define REMOTE_exo_arity(wid) REMOTE(wid)->exo_arity_
#define LOCAL_exo_arg LOCAL->exo_arg_ #define LOCAL_exo_arg LOCAL->exo_arg_
#define REMOTE_exo_arg(wid) REMOTE(wid)->exo_arg_ #define REMOTE_exo_arg(wid) REMOTE(wid)->exo_arg_
#define LOCAL_search_atoms LOCAL->search_atoms_ #define LOCAL_search_atoms LOCAL->search_atoms_
#define REMOTE_search_atoms(wid) REMOTE(wid)->search_atoms_ #define REMOTE_search_atoms(wid) REMOTE(wid)->search_atoms_
#define LOCAL_SearchPreds LOCAL->SearchPreds_ #define LOCAL_SearchPreds LOCAL->SearchPreds_
#define REMOTE_SearchPreds(wid) REMOTE(wid)->SearchPreds_ #define REMOTE_SearchPreds(wid) REMOTE(wid)->SearchPreds_
#define LOCAL_CurSlot LOCAL->CurSlot_ #define LOCAL_CurSlot LOCAL->CurSlot_
#define REMOTE_CurSlot(wid) REMOTE(wid)->CurSlot_ #define REMOTE_CurSlot(wid) REMOTE(wid)->CurSlot_
#define LOCAL_FrozenHandles LOCAL->FrozenHandles_ #define LOCAL_FrozenHandles LOCAL->FrozenHandles_
#define REMOTE_FrozenHandles(wid) REMOTE(wid)->FrozenHandles_ #define REMOTE_FrozenHandles(wid) REMOTE(wid)->FrozenHandles_
#define LOCAL_NSlots LOCAL->NSlots_ #define LOCAL_NSlots LOCAL->NSlots_
#define REMOTE_NSlots(wid) REMOTE(wid)->NSlots_ #define REMOTE_NSlots(wid) REMOTE(wid)->NSlots_
#define LOCAL_SlotBase LOCAL->SlotBase_ #define LOCAL_SlotBase LOCAL->SlotBase_
#define REMOTE_SlotBase(wid) REMOTE(wid)->SlotBase_ #define REMOTE_SlotBase(wid) REMOTE(wid)->SlotBase_
#define LOCAL_Mutexes LOCAL->Mutexes_ #define LOCAL_Mutexes LOCAL->Mutexes_
#define REMOTE_Mutexes(wid) REMOTE(wid)->Mutexes_ #define REMOTE_Mutexes(wid) REMOTE(wid)->Mutexes_
#define LOCAL_SourceModule LOCAL->SourceModule_ #define LOCAL_SourceModule LOCAL->SourceModule_
#define REMOTE_SourceModule(wid) REMOTE(wid)->SourceModule_ #define REMOTE_SourceModule(wid) REMOTE(wid)->SourceModule_
#define LOCAL_Including LOCAL->Including_ #define LOCAL_Including LOCAL->Including_
#define REMOTE_Including(wid) REMOTE(wid)->Including_ #define REMOTE_Including(wid) REMOTE(wid)->Including_
#define LOCAL_MAX_SIZE LOCAL->MAX_SIZE_ #define LOCAL_MAX_SIZE LOCAL->MAX_SIZE_
#define REMOTE_MAX_SIZE(wid) REMOTE(wid)->MAX_SIZE_ #define REMOTE_MAX_SIZE(wid) REMOTE(wid)->MAX_SIZE_
#define LOCAL_LastWTime LOCAL->LastWTime_ #define LOCAL_LastWTime LOCAL->LastWTime_
#define REMOTE_LastWTime(wid) REMOTE(wid)->LastWTime_ #define REMOTE_LastWTime(wid) REMOTE(wid)->LastWTime_
#define LOCAL_shared LOCAL->shared_ #define LOCAL_shared LOCAL->shared_
#define REMOTE_shared(wid) REMOTE(wid)->shared_ #define REMOTE_shared(wid) REMOTE(wid)->shared_

View File

@ -1,144 +1,144 @@
/* This file, hglobals.h, was generated automatically by "yap -L misc/buildlocalglobal" /* This file, hglobals.h, was generated automatically by "yap -L misc/buildlocalglobal"
please do not update, update H/GLOBALS instead */ please do not update, update H/GLOBALS instead */
// //
// File defining fields in the Yap_GLOBAL global structure // File defining fields in the Yap_GLOBAL global structure
// //
// these fields used to spread all over the place, because they must be used in 3 ways: // these fields used to spread all over the place, because they must be used in 3 ways:
// - they must be defined somewhere // - they must be defined somewhere
// - they have an #ifdef to get a shorter name // - they have an #ifdef to get a shorter name
// - they must be initialised somewhere // - they must be initialised somewhere
// - they may be of interest to restore // - they may be of interest to restore
// //
// The defs include 3+ components: // The defs include 3+ components:
// Type // Type
// name in structured / global name // name in structured / global name
// init code (optional) // init code (optional)
// restore code (optional) // restore code (optional)
// //
// Stuff that must be shared by all threads or workers // Stuff that must be shared by all threads or workers
// initialization: tell whether the system has been initialised and by whom. // initialization: tell whether the system has been initialised and by whom.
EXTERNAL int GLOBAL_Initialised; EXTERNAL int GLOBAL_Initialised;
EXTERNAL int GLOBAL_InitialisedFromPL; EXTERNAL int GLOBAL_InitialisedFromPL;
EXTERNAL int GLOBAL_PL_Argc; EXTERNAL int GLOBAL_PL_Argc;
EXTERNAL char** GLOBAL_PL_Argv; EXTERNAL char** GLOBAL_PL_Argv;
EXTERNAL bool GLOBAL_FAST_BOOT_FLAG; EXTERNAL bool GLOBAL_FAST_BOOT_FLAG;
// halt hooks // halt hooks
EXTERNAL struct halt_hook* GLOBAL_HaltHooks; EXTERNAL struct halt_hook* GLOBAL_HaltHooks;
EXTERNAL fptr_t GLOBAL_JIT_finalizer; EXTERNAL fptr_t GLOBAL_JIT_finalizer;
// stack overflow expansion/gc control // stack overflow expansion/gc control
EXTERNAL int GLOBAL_AllowLocalExpansion; EXTERNAL int GLOBAL_AllowLocalExpansion;
EXTERNAL int GLOBAL_AllowGlobalExpansion; EXTERNAL int GLOBAL_AllowGlobalExpansion;
EXTERNAL int GLOBAL_AllowTrailExpansion; EXTERNAL int GLOBAL_AllowTrailExpansion;
EXTERNAL UInt GLOBAL_SizeOfOverflow; EXTERNAL UInt GLOBAL_SizeOfOverflow;
// amount of space recovered in all garbage collections // amount of space recovered in all garbage collections
EXTERNAL UInt GLOBAL_AGcThreshold; EXTERNAL UInt GLOBAL_AGcThreshold;
EXTERNAL Agc_hook GLOBAL_AGCHook; EXTERNAL Agc_hook GLOBAL_AGCHook;
/* multi-thread support */ /* multi-thread support */
#if THREADS #if THREADS
/* number of threads and processes in system */ /* number of threads and processes in system */
EXTERNAL UInt GLOBAL_NOfThreads; EXTERNAL UInt GLOBAL_NOfThreads;
/* number of threads created since start */ /* number of threads created since start */
EXTERNAL UInt GLOBAL_NOfThreadsCreated; EXTERNAL UInt GLOBAL_NOfThreadsCreated;
/* total run time for dead threads */ /* total run time for dead threads */
EXTERNAL UInt GLOBAL_ThreadsTotalTime; EXTERNAL UInt GLOBAL_ThreadsTotalTime;
// Threads Array // Threads Array
EXTERNAL lockvar GLOBAL_ThreadHandlesLock; EXTERNAL lockvar GLOBAL_ThreadHandlesLock;
#endif #endif
#if defined(YAPOR) || defined(THREADS) #if defined(YAPOR) || defined(THREADS)
// protect long critical regions // protect long critical regions
EXTERNAL lockvar GLOBAL_BGL; EXTERNAL lockvar GLOBAL_BGL;
#endif #endif
#if defined(YAPOR) || defined(TABLING) #if defined(YAPOR) || defined(TABLING)
EXTERNAL struct global_optyap_data GLOBAL_optyap_data; EXTERNAL struct global_optyap_data GLOBAL_optyap_data;
#endif /* YAPOR || TABLING */ #endif /* YAPOR || TABLING */
// whether Yap is responsible for signal handling // whether Yap is responsible for signal handling
EXTERNAL int GLOBAL_PrologShouldHandleInterrupts; EXTERNAL int GLOBAL_PrologShouldHandleInterrupts;
/* This is the guy who actually started the system, and who has the correct registers */ /* This is the guy who actually started the system, and who has the correct registers */
#if defined(THREADS) #if defined(THREADS)
EXTERNAL pthread_t GLOBAL_master_thread; EXTERNAL pthread_t GLOBAL_master_thread;
EXTERNAL struct thread_mbox* GLOBAL_named_mboxes; EXTERNAL struct thread_mbox* GLOBAL_named_mboxes;
EXTERNAL lockvar GLOBAL_mboxq_lock; EXTERNAL lockvar GLOBAL_mboxq_lock;
EXTERNAL UInt GLOBAL_mbox_count; EXTERNAL UInt GLOBAL_mbox_count;
EXTERNAL struct swi_mutex* GLOBAL_WithMutex; EXTERNAL struct swi_mutex* GLOBAL_WithMutex;
#endif /* THREADS */ #endif /* THREADS */
// streams // streams
EXTERNAL struct stream_desc* GLOBAL_Stream; EXTERNAL struct stream_desc* GLOBAL_Stream;
#if defined(THREADS)||defined(YAPOR) #if defined(THREADS)||defined(YAPOR)
EXTERNAL lockvar GLOBAL_StreamDescLock; EXTERNAL lockvar GLOBAL_StreamDescLock;
#endif #endif
// access to yap initial arguments // access to yap initial arguments
EXTERNAL char** GLOBAL_argv; EXTERNAL char** GLOBAL_argv;
EXTERNAL int GLOBAL_argc; EXTERNAL int GLOBAL_argc;
// extensions to Terms // extensions to Terms
#ifdef COROUTINING #ifdef COROUTINING
/* array with the ops for your favourite extensions */ /* array with the ops for your favourite extensions */
EXTERNAL ext_op GLOBAL_attas[attvars_ext+1]; EXTERNAL ext_op GLOBAL_attas[attvars_ext+1];
#endif #endif
// agc.c // agc.c
EXTERNAL int GLOBAL_agc_calls; EXTERNAL int GLOBAL_agc_calls;
EXTERNAL YAP_ULONG_LONG GLOBAL_agc_collected; EXTERNAL YAP_ULONG_LONG GLOBAL_agc_collected;
/* total time spent in GC */ /* total time spent in GC */
EXTERNAL Int GLOBAL_tot_agc_time; EXTERNAL Int GLOBAL_tot_agc_time;
/* number of heap objects in all garbage collections */ /* number of heap objects in all garbage collections */
EXTERNAL Int GLOBAL_tot_agc_recovered; EXTERNAL Int GLOBAL_tot_agc_recovered;
//arrays.c //arrays.c
#if HAVE_MMAP #if HAVE_MMAP
EXTERNAL struct MMAP_ARRAY_BLOCK* GLOBAL_mmap_arrays; EXTERNAL struct MMAP_ARRAY_BLOCK* GLOBAL_mmap_arrays;
#endif #endif
#ifdef DEBUG #ifdef DEBUG
//computils.c //computils.c
EXTERNAL char GLOBAL_Option[20]; EXTERNAL char GLOBAL_Option[20];
EXTERNAL YP_FILE* GLOBAL_logfile; EXTERNAL YP_FILE* GLOBAL_logfile;
//init.c //init.c
//int output_msg =FALSE //int output_msg =FALSE
#endif #endif
#if defined(COFF) || defined(A_OUT) #if defined(COFF) || defined(A_OUT)
// loada_coff.c && load_aout.c // loada_coff.c && load_aout.c
EXTERNAL char GLOBAL_Executable[YAP_FILENAME_MAX]; EXTERNAL char GLOBAL_Executable[YAP_FILENAME_MAX];
#endif #endif
EXTERNAL int GLOBAL_OpaqueHandlersCount; EXTERNAL int GLOBAL_OpaqueHandlersCount;
EXTERNAL struct opaque_handler_struct* GLOBAL_OpaqueHandlers; EXTERNAL struct opaque_handler_struct* GLOBAL_OpaqueHandlers;
#if __simplescalar__ #if __simplescalar__
EXTERNAL char GLOBAL_pwd[YAP_FILENAME_MAX]; EXTERNAL char GLOBAL_pwd[YAP_FILENAME_MAX];
#endif #endif
//udi.c //udi.c
//struct udi_control_block RtreeCmd void //struct udi_control_block RtreeCmd void
EXTERNAL const char* GLOBAL_RestoreFile; EXTERNAL const char* GLOBAL_RestoreFile;
//gprof.c //gprof.c
EXTERNAL Int GLOBAL_ProfCalls; EXTERNAL Int GLOBAL_ProfCalls;
EXTERNAL Int GLOBAL_ProfGCs; EXTERNAL Int GLOBAL_ProfGCs;
EXTERNAL Int GLOBAL_ProfHGrows; EXTERNAL Int GLOBAL_ProfHGrows;
EXTERNAL Int GLOBAL_ProfSGrows; EXTERNAL Int GLOBAL_ProfSGrows;
EXTERNAL Int GLOBAL_ProfMallocs; EXTERNAL Int GLOBAL_ProfMallocs;
EXTERNAL Int GLOBAL_ProfIndexing; EXTERNAL Int GLOBAL_ProfIndexing;
EXTERNAL Int GLOBAL_ProfOn; EXTERNAL Int GLOBAL_ProfOn;
EXTERNAL Int GLOBAL_ProfOns; EXTERNAL Int GLOBAL_ProfOns;
EXTERNAL struct RB_red_blk_node* GLOBAL_ProfilerRoot; EXTERNAL struct RB_red_blk_node* GLOBAL_ProfilerRoot;
EXTERNAL struct RB_red_blk_node* GLOBAL_ProfilerNil; EXTERNAL struct RB_red_blk_node* GLOBAL_ProfilerNil;
EXTERNAL char* GLOBAL_DIRNAME; EXTERNAL char* GLOBAL_DIRNAME;
#if LOW_PROF #if LOW_PROF
EXTERNAL int GLOBAL_ProfilerOn; EXTERNAL int GLOBAL_ProfilerOn;
EXTERNAL FILE* GLOBAL_FProf; EXTERNAL FILE* GLOBAL_FProf;
EXTERNAL FILE* GLOBAL_FPreds; EXTERNAL FILE* GLOBAL_FPreds;
#endif /* LOW_PROF */ #endif /* LOW_PROF */
// Mutexes // Mutexes
#if THREADS #if THREADS
EXTERNAL struct swi_mutex* GLOBAL_FreeMutexes; EXTERNAL struct swi_mutex* GLOBAL_FreeMutexes;
EXTERNAL struct swi_mutex* GLOBAL_mutex_backbone; EXTERNAL struct swi_mutex* GLOBAL_mutex_backbone;
EXTERNAL lockvar GLOBAL_MUT_ACCESS; EXTERNAL lockvar GLOBAL_MUT_ACCESS;
#endif #endif
EXTERNAL char* GLOBAL_Home; EXTERNAL char* GLOBAL_Home;
/* ISO char conversion: I will make no comments */ /* ISO char conversion: I will make no comments */
EXTERNAL char* GLOBAL_CharConversionTable; EXTERNAL char* GLOBAL_CharConversionTable;
EXTERNAL char* GLOBAL_CharConversionTable2; EXTERNAL char* GLOBAL_CharConversionTable2;
/* max priority */ /* max priority */
EXTERNAL int GLOBAL_MaxPriority; EXTERNAL int GLOBAL_MaxPriority;
/// alias table access /// alias table access
EXTERNAL struct AliasDescS* GLOBAL_FileAliases; EXTERNAL struct AliasDescS* GLOBAL_FileAliases;
EXTERNAL int GLOBAL_NOfFileAliases; EXTERNAL int GLOBAL_NOfFileAliases;
EXTERNAL int GLOBAL_SzOfFileAliases; EXTERNAL int GLOBAL_SzOfFileAliases;
EXTERNAL struct vfs* GLOBAL_VFS; EXTERNAL struct vfs* GLOBAL_VFS;

View File

@ -1,296 +1,295 @@
/* This file, d0hstruct.h, was generated automatically by "yap -L misc/buildlocalglobal" /* This file, d0hstruct.h, was generated automatically by "yap -L misc/buildlocalglobal"
please do not update, update H/HEAPFIELDS instead */ please do not update, update H/HEAPFIELDS instead */
// //
// File defining fields in the Yap_heap_codes global structure // File defining fields in the Yap_heap_codes global structure
// //
// these fields used to spread all over the place, because they must be used in 4 ways: // these fields used to spread all over the place, because they must be used in 4 ways:
// - they must be defined somewhere // - they must be defined somewhere
// - they have an #ifdef to get a shorter name // - they have an #ifdef to get a shorter name
// - they must be initialised somewhere // - they must be initialised somewhere
// - they must be restorable and collectable (from the atom gc). // - they must be restorable and collectable (from the atom gc).
// //
// //
// The defs include 4+ components: // The defs include 4+ components:
// Type // Type
// name in structured // name in structured
// global name // global name
// init code and restore code (optional) // init code and restore code (optional)
// //
// //
// //
// MkAT (MkAtomTerm) cvts from a predefined atom to a term // MkAT (MkAtomTerm) cvts from a predefined atom to a term
// MkPred constructs a pred_entry // MkPred constructs a pred_entry
// MkOp gets an opcode // MkOp gets an opcode
// void does nothing // void does nothing
// =VALUE inits as VALUE // =VALUE inits as VALUE
// Init... sets up call to InitFunc // Init... sets up call to InitFunc
// Restore... sets up call to RestoreFunc // Restore... sets up call to RestoreFunc
// //
/* memory management */ /* memory management */
EXTERNAL UInt Yap_HoleSize; EXTERNAL UInt Yap_HoleSize;
#if USE_DL_MALLOC #if USE_DL_MALLOC
EXTERNAL struct malloc_state *Yap_av; EXTERNAL struct malloc_state *Yap_av;
EXTERNAL struct memory_hole Yap_MemoryHoles[MAX_DLMALLOC_HOLES]; EXTERNAL struct memory_hole Yap_MemoryHoles[MAX_DLMALLOC_HOLES];
EXTERNAL UInt Yap_NOfMemoryHoles; EXTERNAL UInt Yap_NOfMemoryHoles;
#if defined(YAPOR) || defined(THREADS) #if defined(YAPOR) || defined(THREADS)
EXTERNAL lockvar DLMallocLock; EXTERNAL lockvar DLMallocLock;
#endif #endif
#endif #endif
#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO) #if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
#ifndef HeapUsed #ifndef HeapUsed
#define HeapUsed Yap_givemallinfo() #define HeapUsed Yap_givemallinfo()
#endif #endif
EXTERNAL Int NotHeapUsed; EXTERNAL Int NotHeapUsed;
#else #else
EXTERNAL Int HeapUsed; EXTERNAL Int HeapUsed;
#endif #endif
EXTERNAL Int HeapMax; EXTERNAL Int HeapMax;
EXTERNAL ADDR HeapTop; EXTERNAL ADDR HeapTop;
EXTERNAL ADDR HeapLim; EXTERNAL ADDR HeapLim;
EXTERNAL struct FREEB *FreeBlocks; EXTERNAL struct FREEB *FreeBlocks;
#if defined(YAPOR) || defined(THREADS) #if defined(YAPOR) || defined(THREADS)
EXTERNAL lockvar FreeBlocksLock; EXTERNAL lockvar FreeBlocksLock;
EXTERNAL lockvar HeapUsedLock; EXTERNAL lockvar HeapUsedLock;
EXTERNAL lockvar HeapTopLock; EXTERNAL lockvar HeapTopLock;
EXTERNAL int HeapTopOwner; EXTERNAL int HeapTopOwner;
#endif #endif
EXTERNAL UInt MaxStack; EXTERNAL UInt MaxStack;
EXTERNAL UInt MaxTrail; EXTERNAL UInt MaxTrail;
/* execution info */ /* execution info */
/* OPCODE REVERSE TABLE, needed to recover op tables */ /* OPCODE REVERSE TABLE, needed to recover op tables */
#if USE_THREADED_CODE #if USE_THREADED_CODE
EXTERNAL op_entry *OP_RTABLE; EXTERNAL op_entry *OP_RTABLE;
#endif #endif
/* popular opcodes */ /* popular opcodes */
EXTERNAL OPCODE EXECUTE_CPRED_OP_CODE; EXTERNAL OPCODE EXECUTE_CPRED_OP_CODE;
EXTERNAL OPCODE EXPAND_OP_CODE; EXTERNAL OPCODE EXPAND_OP_CODE;
EXTERNAL OPCODE FAIL_OPCODE; EXTERNAL OPCODE FAIL_OPCODE;
EXTERNAL OPCODE INDEX_OPCODE; EXTERNAL OPCODE INDEX_OPCODE;
EXTERNAL OPCODE LOCKPRED_OPCODE; EXTERNAL OPCODE LOCKPRED_OPCODE;
EXTERNAL OPCODE ORLAST_OPCODE; EXTERNAL OPCODE ORLAST_OPCODE;
EXTERNAL OPCODE UNDEF_OPCODE; EXTERNAL OPCODE UNDEF_OPCODE;
EXTERNAL OPCODE RETRY_USERC_OPCODE; EXTERNAL OPCODE RETRY_USERC_OPCODE;
EXTERNAL OPCODE EXECUTE_CPRED_OPCODE; EXTERNAL OPCODE EXECUTE_CPRED_OPCODE;
/* atom tables */ /* atom tables */
EXTERNAL UInt NOfAtoms; EXTERNAL UInt NOfAtoms;
EXTERNAL UInt AtomHashTableSize; EXTERNAL UInt AtomHashTableSize;
EXTERNAL UInt WideAtomHashTableSize; EXTERNAL UInt WideAtomHashTableSize;
EXTERNAL UInt NOfWideAtoms; EXTERNAL UInt NOfWideAtoms;
EXTERNAL AtomHashEntry INVISIBLECHAIN; EXTERNAL AtomHashEntry INVISIBLECHAIN;
EXTERNAL AtomHashEntry *WideHashChain; EXTERNAL AtomHashEntry *WideHashChain;
EXTERNAL AtomHashEntry *HashChain; EXTERNAL AtomHashEntry *HashChain;
/* use atom defs here */ /* use atom defs here */
#include "tatoms.h" #include "tatoms.h"
#ifdef EUROTRA #ifdef EUROTRA
EXTERNAL Term TermDollarU; EXTERNAL Term TermDollarU;
#endif #endif
EXTERNAL Term TermAnswer; //modules
//modules EXTERNAL Term USER_MODULE;
EXTERNAL Term USER_MODULE; EXTERNAL Term IDB_MODULE;
EXTERNAL Term IDB_MODULE; EXTERNAL Term ATTRIBUTES_MODULE;
EXTERNAL Term ATTRIBUTES_MODULE; EXTERNAL Term CHARSIO_MODULE;
EXTERNAL Term CHARSIO_MODULE; EXTERNAL Term CHTYPE_MODULE;
EXTERNAL Term CHTYPE_MODULE; EXTERNAL Term TERMS_MODULE;
EXTERNAL Term TERMS_MODULE; EXTERNAL Term SYSTEM_MODULE;
EXTERNAL Term SYSTEM_MODULE; EXTERNAL Term READUTIL_MODULE;
EXTERNAL Term READUTIL_MODULE; EXTERNAL Term HACKS_MODULE;
EXTERNAL Term HACKS_MODULE; EXTERNAL Term ARG_MODULE;
EXTERNAL Term ARG_MODULE; EXTERNAL Term GLOBALS_MODULE;
EXTERNAL Term GLOBALS_MODULE; EXTERNAL Term SWI_MODULE;
EXTERNAL Term SWI_MODULE; EXTERNAL Term DBLOAD_MODULE;
EXTERNAL Term DBLOAD_MODULE; EXTERNAL Term RANGE_MODULE;
EXTERNAL Term RANGE_MODULE; EXTERNAL Term ERROR_MODULE;
EXTERNAL Term ERROR_MODULE; //
// // Module list
// Module list //
// EXTERNAL struct mod_entry *CurrentModules;
EXTERNAL struct mod_entry *CurrentModules; // make sure we have the modules set at this point.
// make sure we have the modules set at this point. // don't actually want to define a field
// don't actually want to define a field
// hidden predicates
// hidden predicates EXTERNAL Prop HIDDEN_PREDICATES;
EXTERNAL Prop HIDDEN_PREDICATES; // make sure we have the streams set at this point.
// make sure we have the streams set at this point. // don't actually want to define a field
// don't actually want to define a field
EXTERNAL union flagTerm* GLOBAL_Flags;
EXTERNAL union flagTerm* GLOBAL_Flags; EXTERNAL UInt GLOBAL_flagCount;
EXTERNAL UInt GLOBAL_flagCount; /* Anderson's JIT */
/* Anderson's JIT */ EXTERNAL yap_exec_mode Yap_ExecutionMode;
EXTERNAL yap_exec_mode Yap_ExecutionMode; /* The Predicate Hash Table: fast access to predicates. */
/* The Predicate Hash Table: fast access to predicates. */ EXTERNAL UInt PredsInHashTable;
EXTERNAL UInt PredsInHashTable; EXTERNAL uint64_t PredHashTableSize;
EXTERNAL uint64_t PredHashTableSize; EXTERNAL struct pred_entry **PredHash;
EXTERNAL struct pred_entry **PredHash; #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) EXTERNAL rwlock_t PredHashRWLock;
EXTERNAL rwlock_t PredHashRWLock; #endif
#endif /* Well-Known Predicates */
/* Well-Known Predicates */ EXTERNAL struct pred_entry *CreepCode;
EXTERNAL struct pred_entry *CreepCode; EXTERNAL struct pred_entry *UndefCode;
EXTERNAL struct pred_entry *UndefCode; EXTERNAL struct pred_entry *SpyCode;
EXTERNAL struct pred_entry *SpyCode; EXTERNAL struct pred_entry *PredFail;
EXTERNAL struct pred_entry *PredFail; EXTERNAL struct pred_entry *PredTrue;
EXTERNAL struct pred_entry *PredTrue; #ifdef COROUTINING
#ifdef COROUTINING EXTERNAL struct pred_entry *WakeUpCode;
EXTERNAL struct pred_entry *WakeUpCode; #endif
#endif EXTERNAL struct pred_entry *PredDollarCatch;
EXTERNAL struct pred_entry *PredDollarCatch; #ifdef YAPOR
#ifdef YAPOR EXTERNAL struct pred_entry *PredGetwork;
EXTERNAL struct pred_entry *PredGetwork; #endif /* YAPOR */
#endif /* YAPOR */ EXTERNAL struct pred_entry *PredGoalExpansion;
EXTERNAL struct pred_entry *PredGoalExpansion; EXTERNAL struct pred_entry *PredHandleThrow;
EXTERNAL struct pred_entry *PredHandleThrow; EXTERNAL struct pred_entry *PredIs;
EXTERNAL struct pred_entry *PredIs; EXTERNAL struct pred_entry *PredLogUpdClause;
EXTERNAL struct pred_entry *PredLogUpdClause; EXTERNAL struct pred_entry *PredLogUpdClauseErase;
EXTERNAL struct pred_entry *PredLogUpdClauseErase; EXTERNAL struct pred_entry *PredLogUpdClause0;
EXTERNAL struct pred_entry *PredLogUpdClause0; EXTERNAL struct pred_entry *PredMetaCall;
EXTERNAL struct pred_entry *PredMetaCall; EXTERNAL struct pred_entry *PredProtectStack;
EXTERNAL struct pred_entry *PredProtectStack; EXTERNAL struct pred_entry *PredRecordedWithKey;
EXTERNAL struct pred_entry *PredRecordedWithKey; EXTERNAL struct pred_entry *PredRestoreRegs;
EXTERNAL struct pred_entry *PredRestoreRegs; EXTERNAL struct pred_entry *PredSafeCallCleanup;
EXTERNAL struct pred_entry *PredSafeCallCleanup; EXTERNAL struct pred_entry *PredStaticClause;
EXTERNAL struct pred_entry *PredStaticClause; EXTERNAL struct pred_entry *PredThrow;
EXTERNAL struct pred_entry *PredThrow; EXTERNAL struct pred_entry *PredTraceMetaCall;
EXTERNAL struct pred_entry *PredTraceMetaCall; EXTERNAL struct pred_entry *PredCommentHook;
EXTERNAL struct pred_entry *PredCommentHook; EXTERNAL struct pred_entry *PredProcedure;
EXTERNAL struct pred_entry *PredProcedure; EXTERNAL struct pred_entry *PredUndefinedQuery;
EXTERNAL struct pred_entry *PredUndefinedQuery; /* low-level tracer */
/* low-level tracer */ #ifdef LOW_LEVEL_TRACER
#ifdef LOW_LEVEL_TRACER EXTERNAL int Yap_do_low_level_trace;
EXTERNAL int Yap_do_low_level_trace; #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) EXTERNAL lockvar Yap_low_level_trace_lock;
EXTERNAL lockvar Yap_low_level_trace_lock; #endif
#endif #endif
#endif /* code management info */
/* code management info */ EXTERNAL UInt Yap_ClauseSpace;
EXTERNAL UInt Yap_ClauseSpace; EXTERNAL UInt Yap_IndexSpace_Tree;
EXTERNAL UInt Yap_IndexSpace_Tree; EXTERNAL UInt Yap_IndexSpace_EXT;
EXTERNAL UInt Yap_IndexSpace_EXT; EXTERNAL UInt Yap_IndexSpace_SW;
EXTERNAL UInt Yap_IndexSpace_SW; EXTERNAL UInt Yap_LUClauseSpace;
EXTERNAL UInt Yap_LUClauseSpace; EXTERNAL UInt Yap_LUIndexSpace_Tree;
EXTERNAL UInt Yap_LUIndexSpace_Tree; EXTERNAL UInt Yap_LUIndexSpace_CP;
EXTERNAL UInt Yap_LUIndexSpace_CP; EXTERNAL UInt Yap_LUIndexSpace_EXT;
EXTERNAL UInt Yap_LUIndexSpace_EXT; EXTERNAL UInt Yap_LUIndexSpace_SW;
EXTERNAL UInt Yap_LUIndexSpace_SW; /* static code: may be shared by many predicate or may be used for meta-execution */
/* static code: may be shared by many predicate or may be used for meta-execution */ EXTERNAL yamop COMMA_CODE[5];
EXTERNAL yamop COMMA_CODE[5]; EXTERNAL yamop DUMMYCODE[1];
EXTERNAL yamop DUMMYCODE[1]; EXTERNAL yamop FAILCODE[1];
EXTERNAL yamop FAILCODE[1]; EXTERNAL yamop NOCODE[1];
EXTERNAL yamop NOCODE[1]; EXTERNAL yamop ENV_FOR_TRUSTFAIL[2];
EXTERNAL yamop ENV_FOR_TRUSTFAIL[2]; EXTERNAL yamop *TRUSTFAILCODE;
EXTERNAL yamop *TRUSTFAILCODE; EXTERNAL yamop ENV_FOR_YESCODE[2];
EXTERNAL yamop ENV_FOR_YESCODE[2]; EXTERNAL yamop *YESCODE;
EXTERNAL yamop *YESCODE; EXTERNAL yamop RTRYCODE[1];
EXTERNAL yamop RTRYCODE[1]; #ifdef BEAM
#ifdef BEAM EXTERNAL yamop BEAM_RETRY_CODE[1];
EXTERNAL yamop BEAM_RETRY_CODE[1]; #endif /* BEAM */
#endif /* BEAM */ #ifdef YAPOR
#ifdef YAPOR EXTERNAL yamop GETWORK[1];
EXTERNAL yamop GETWORK[1]; EXTERNAL yamop GETWORK_SEQ[1];
EXTERNAL yamop GETWORK_SEQ[1]; EXTERNAL yamop GETWORK_FIRST_TIME[1];
EXTERNAL yamop GETWORK_FIRST_TIME[1]; #endif /* YAPOR */
#endif /* YAPOR */ #ifdef TABLING
#ifdef TABLING EXTERNAL yamop LOAD_ANSWER[1];
EXTERNAL yamop LOAD_ANSWER[1]; EXTERNAL yamop TRY_ANSWER[1];
EXTERNAL yamop TRY_ANSWER[1]; EXTERNAL yamop ANSWER_RESOLUTION[1];
EXTERNAL yamop ANSWER_RESOLUTION[1]; EXTERNAL yamop COMPLETION[1];
EXTERNAL yamop COMPLETION[1]; #ifdef THREADS_CONSUMER_SHARING
#ifdef THREADS_CONSUMER_SHARING EXTERNAL yamop ANSWER_RESOLUTION_COMPLETION[1];
EXTERNAL yamop ANSWER_RESOLUTION_COMPLETION[1]; #endif /* THREADS_CONSUMER_SHARING */
#endif /* THREADS_CONSUMER_SHARING */ #endif /* TABLING */
#endif /* TABLING */ /* */
/* */ /* PREG just before we enter $spy. We use that to find out the clause which */
/* PREG just before we enter $spy. We use that to find out the clause which */ /* was calling the debugged goal. */
/* was calling the debugged goal. */ /* */
/* */ EXTERNAL yamop *P_before_spy;
EXTERNAL yamop *P_before_spy; /* support recorded_k */
/* support recorded_k */ EXTERNAL yamop *RETRY_C_RECORDEDP_CODE;
EXTERNAL yamop *RETRY_C_RECORDEDP_CODE; EXTERNAL yamop *RETRY_C_RECORDED_K_CODE;
EXTERNAL yamop *RETRY_C_RECORDED_K_CODE; /* compiler flags */
/* compiler flags */ EXTERNAL int PROFILING;
EXTERNAL int PROFILING; EXTERNAL int CALL_COUNTING;
EXTERNAL int CALL_COUNTING; EXTERNAL int optimizer_on;
EXTERNAL int optimizer_on; EXTERNAL int compile_mode;
EXTERNAL int compile_mode; EXTERNAL int profiling;
EXTERNAL int profiling; EXTERNAL int call_counting;
EXTERNAL int call_counting; /********* whether we should try to compile array references ******************/
/********* whether we should try to compile array references ******************/ EXTERNAL int compile_arrays;
EXTERNAL int compile_arrays; /* DBTerms: pre-compiled ground terms */
/* DBTerms: pre-compiled ground terms */ #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) EXTERNAL lockvar DBTermsListLock;
EXTERNAL lockvar DBTermsListLock; #endif
#endif EXTERNAL struct dbterm_list *DBTermsList;
EXTERNAL struct dbterm_list *DBTermsList; /* JITI support */
/* JITI support */ EXTERNAL yamop *ExpandClausesFirst;
EXTERNAL yamop *ExpandClausesFirst; EXTERNAL yamop *ExpandClausesLast;
EXTERNAL yamop *ExpandClausesLast; EXTERNAL UInt Yap_ExpandClauses;
EXTERNAL UInt Yap_ExpandClauses; #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) EXTERNAL lockvar ExpandClausesListLock;
EXTERNAL lockvar ExpandClausesListLock; EXTERNAL lockvar OpListLock;
EXTERNAL lockvar OpListLock; #endif
#endif /* instrumentation */
/* instrumentation */ #ifdef DEBUG
#ifdef DEBUG EXTERNAL UInt Yap_NewCps;
EXTERNAL UInt Yap_NewCps; EXTERNAL UInt Yap_LiveCps;
EXTERNAL UInt Yap_LiveCps; EXTERNAL UInt Yap_DirtyCps;
EXTERNAL UInt Yap_DirtyCps; EXTERNAL UInt Yap_FreedCps;
EXTERNAL UInt Yap_FreedCps; #endif
#endif EXTERNAL UInt Yap_expand_clauses_sz;
EXTERNAL UInt Yap_expand_clauses_sz; /* UDI support */
/* UDI support */ EXTERNAL struct udi_info *UdiControlBlocks;
EXTERNAL struct udi_info *UdiControlBlocks; /* data-base statistics */
/* data-base statistics */ /* system boots in compile mode */
/* system boots in compile mode */ EXTERNAL Int STATIC_PREDICATES_MARKED;
EXTERNAL Int STATIC_PREDICATES_MARKED; /* Internal Database */
/* Internal Database */ EXTERNAL Prop *INT_KEYS;
EXTERNAL Prop *INT_KEYS; EXTERNAL Prop *INT_LU_KEYS;
EXTERNAL Prop *INT_LU_KEYS; EXTERNAL Prop *INT_BB_KEYS;
EXTERNAL Prop *INT_BB_KEYS; /* Internal Database Statistics */
/* Internal Database Statistics */ EXTERNAL UInt INT_KEYS_SIZE;
EXTERNAL UInt INT_KEYS_SIZE; EXTERNAL UInt INT_KEYS_TIMESTAMP;
EXTERNAL UInt INT_KEYS_TIMESTAMP; EXTERNAL UInt INT_BB_KEYS_SIZE;
EXTERNAL UInt INT_BB_KEYS_SIZE; /* Internal Data-Base Control */
/* Internal Data-Base Control */ EXTERNAL int UPDATE_MODE;
EXTERNAL int UPDATE_MODE; /* nasty IDB stuff */
/* nasty IDB stuff */ EXTERNAL struct DB_STRUCT *DBErasedMarker;
EXTERNAL struct DB_STRUCT *DBErasedMarker; EXTERNAL struct logic_upd_clause *LogDBErasedMarker;
EXTERNAL struct logic_upd_clause *LogDBErasedMarker; /* Dead clauses and IDB entries */
/* Dead clauses and IDB entries */ EXTERNAL struct static_clause *DeadStaticClauses;
EXTERNAL struct static_clause *DeadStaticClauses; EXTERNAL struct static_mega_clause *DeadMegaClauses;
EXTERNAL struct static_mega_clause *DeadMegaClauses; EXTERNAL struct static_index *DeadStaticIndices;
EXTERNAL struct static_index *DeadStaticIndices; EXTERNAL struct logic_upd_clause *DBErasedList;
EXTERNAL struct logic_upd_clause *DBErasedList; EXTERNAL struct logic_upd_index *DBErasedIList;
EXTERNAL struct logic_upd_index *DBErasedIList; #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) EXTERNAL lockvar DeadStaticClausesLock;
EXTERNAL lockvar DeadStaticClausesLock; EXTERNAL lockvar DeadMegaClausesLock;
EXTERNAL lockvar DeadMegaClausesLock; EXTERNAL lockvar DeadStaticIndicesLock;
EXTERNAL lockvar DeadStaticIndicesLock; #endif
#endif #ifdef COROUTINING
#ifdef COROUTINING /* number of attribute modules */
/* number of attribute modules */ EXTERNAL int NUM_OF_ATTS;
EXTERNAL int NUM_OF_ATTS; /* initialised by memory allocator */
/* initialised by memory allocator */ EXTERNAL UInt Yap_AttsSize;
EXTERNAL UInt Yap_AttsSize; #endif
#endif /* Operators */
/* Operators */ EXTERNAL struct operator_entry *OpList;
EXTERNAL struct operator_entry *OpList; /* foreign code loaded */
/* foreign code loaded */ EXTERNAL struct ForeignLoadItem *ForeignCodeLoaded;
EXTERNAL struct ForeignLoadItem *ForeignCodeLoaded; EXTERNAL ADDR ForeignCodeBase;
EXTERNAL ADDR ForeignCodeBase; EXTERNAL ADDR ForeignCodeTop;
EXTERNAL ADDR ForeignCodeTop; EXTERNAL ADDR ForeignCodeMax;
EXTERNAL ADDR ForeignCodeMax; /* recorded terms */
/* recorded terms */ EXTERNAL struct record_list *Yap_Records;
EXTERNAL struct record_list *Yap_Records; EXTERNAL Atom EmptyWakeups[MAX_EMPTY_WAKEUPS];
EXTERNAL Atom EmptyWakeups[MAX_EMPTY_WAKEUPS]; EXTERNAL int MaxEmptyWakeups;
EXTERNAL int MaxEmptyWakeups; /* SWI blobs */
/* SWI blobs */ EXTERNAL struct YAP_blob_t *BlobTypes;
EXTERNAL struct YAP_blob_t *BlobTypes; EXTERNAL struct AtomEntryStruct *Blobs;
EXTERNAL struct AtomEntryStruct *Blobs; EXTERNAL UInt NOfBlobs;
EXTERNAL UInt NOfBlobs; EXTERNAL UInt NOfBlobsMax;
EXTERNAL UInt NOfBlobsMax; #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) EXTERNAL lockvar Blobs_Lock;
EXTERNAL lockvar Blobs_Lock; #endif
#endif

View File

@ -1,144 +1,144 @@
/* This file, hglobals.h, was generated automatically by "yap -L misc/buildlocalglobal" /* This file, hglobals.h, was generated automatically by "yap -L misc/buildlocalglobal"
please do not update, update H/GLOBALS instead */ please do not update, update H/GLOBALS instead */
// //
// File defining fields in the Yap_GLOBAL global structure // File defining fields in the Yap_GLOBAL global structure
// //
// these fields used to spread all over the place, because they must be used in 3 ways: // these fields used to spread all over the place, because they must be used in 3 ways:
// - they must be defined somewhere // - they must be defined somewhere
// - they have an #ifdef to get a shorter name // - they have an #ifdef to get a shorter name
// - they must be initialised somewhere // - they must be initialised somewhere
// - they may be of interest to restore // - they may be of interest to restore
// //
// The defs include 3+ components: // The defs include 3+ components:
// Type // Type
// name in structured / global name // name in structured / global name
// init code (optional) // init code (optional)
// restore code (optional) // restore code (optional)
// //
// Stuff that must be shared by all threads or workers // Stuff that must be shared by all threads or workers
typedef struct global_data { typedef struct global_data {
// initialization: tell whether the system has been initialised and by whom. // initialization: tell whether the system has been initialised and by whom.
int Initialised_; int Initialised_;
int InitialisedFromPL_; int InitialisedFromPL_;
int PL_Argc_; int PL_Argc_;
char** PL_Argv_; char** PL_Argv_;
bool FAST_BOOT_FLAG_; bool FAST_BOOT_FLAG_;
// halt hooks // halt hooks
struct halt_hook* HaltHooks_; struct halt_hook* HaltHooks_;
fptr_t JIT_finalizer_; fptr_t JIT_finalizer_;
// stack overflow expansion/gc control // stack overflow expansion/gc control
int AllowLocalExpansion_; int AllowLocalExpansion_;
int AllowGlobalExpansion_; int AllowGlobalExpansion_;
int AllowTrailExpansion_; int AllowTrailExpansion_;
UInt SizeOfOverflow_; UInt SizeOfOverflow_;
// amount of space recovered in all garbage collections // amount of space recovered in all garbage collections
UInt AGcThreshold_; UInt AGcThreshold_;
Agc_hook AGCHook_; Agc_hook AGCHook_;
/* multi-thread support */ /* multi-thread support */
#if THREADS #if THREADS
/* number of threads and processes in system */ /* number of threads and processes in system */
UInt NOfThreads_; UInt NOfThreads_;
/* number of threads created since start */ /* number of threads created since start */
UInt NOfThreadsCreated_; UInt NOfThreadsCreated_;
/* total run time for dead threads */ /* total run time for dead threads */
UInt ThreadsTotalTime_; UInt ThreadsTotalTime_;
// Threads Array // Threads Array
lockvar ThreadHandlesLock_; lockvar ThreadHandlesLock_;
#endif #endif
#if defined(YAPOR) || defined(THREADS) #if defined(YAPOR) || defined(THREADS)
// protect long critical regions // protect long critical regions
lockvar BGL_; lockvar BGL_;
#endif #endif
#if defined(YAPOR) || defined(TABLING) #if defined(YAPOR) || defined(TABLING)
struct global_optyap_data optyap_data_; struct global_optyap_data optyap_data_;
#endif /* YAPOR || TABLING */ #endif /* YAPOR || TABLING */
// whether Yap is responsible for signal handling // whether Yap is responsible for signal handling
int PrologShouldHandleInterrupts_; int PrologShouldHandleInterrupts_;
/* This is the guy who actually started the system, and who has the correct registers */ /* This is the guy who actually started the system, and who has the correct registers */
#if defined(THREADS) #if defined(THREADS)
pthread_t master_thread_; pthread_t master_thread_;
struct thread_mbox* named_mboxes_; struct thread_mbox* named_mboxes_;
lockvar mboxq_lock_; lockvar mboxq_lock_;
UInt mbox_count_; UInt mbox_count_;
struct swi_mutex* WithMutex_; struct swi_mutex* WithMutex_;
#endif /* THREADS */ #endif /* THREADS */
// streams // streams
struct stream_desc* Stream_; struct stream_desc* Stream_;
#if defined(THREADS)||defined(YAPOR) #if defined(THREADS)||defined(YAPOR)
lockvar StreamDescLock_; lockvar StreamDescLock_;
#endif #endif
// access to yap initial arguments // access to yap initial arguments
char** argv_; char** argv_;
int argc_; int argc_;
// extensions to Terms // extensions to Terms
#ifdef COROUTINING #ifdef COROUTINING
/* array with the ops for your favourite extensions */ /* array with the ops for your favourite extensions */
ext_op attas_[attvars_ext+1]; ext_op attas_[attvars_ext+1];
#endif #endif
// agc.c // agc.c
int agc_calls_; int agc_calls_;
YAP_ULONG_LONG agc_collected_; YAP_ULONG_LONG agc_collected_;
/* total time spent in GC */ /* total time spent in GC */
Int tot_agc_time_; Int tot_agc_time_;
/* number of heap objects in all garbage collections */ /* number of heap objects in all garbage collections */
Int tot_agc_recovered_; Int tot_agc_recovered_;
//arrays.c //arrays.c
#if HAVE_MMAP #if HAVE_MMAP
struct MMAP_ARRAY_BLOCK* mmap_arrays_; struct MMAP_ARRAY_BLOCK* mmap_arrays_;
#endif #endif
#ifdef DEBUG #ifdef DEBUG
//computils.c //computils.c
char Option_[20]; char Option_[20];
YP_FILE* logfile_; YP_FILE* logfile_;
//init.c //init.c
//int output_msg =FALSE //int output_msg =FALSE
#endif #endif
#if defined(COFF) || defined(A_OUT) #if defined(COFF) || defined(A_OUT)
// loada_coff.c && load_aout.c // loada_coff.c && load_aout.c
char Executable_[YAP_FILENAME_MAX]; char Executable_[YAP_FILENAME_MAX];
#endif #endif
int OpaqueHandlersCount_; int OpaqueHandlersCount_;
struct opaque_handler_struct* OpaqueHandlers_; struct opaque_handler_struct* OpaqueHandlers_;
#if __simplescalar__ #if __simplescalar__
char pwd_[YAP_FILENAME_MAX]; char pwd_[YAP_FILENAME_MAX];
#endif #endif
//udi.c //udi.c
//struct udi_control_block RtreeCmd void //struct udi_control_block RtreeCmd void
const char* RestoreFile_; const char* RestoreFile_;
//gprof.c //gprof.c
Int ProfCalls_; Int ProfCalls_;
Int ProfGCs_; Int ProfGCs_;
Int ProfHGrows_; Int ProfHGrows_;
Int ProfSGrows_; Int ProfSGrows_;
Int ProfMallocs_; Int ProfMallocs_;
Int ProfIndexing_; Int ProfIndexing_;
Int ProfOn_; Int ProfOn_;
Int ProfOns_; Int ProfOns_;
struct RB_red_blk_node* ProfilerRoot_; struct RB_red_blk_node* ProfilerRoot_;
struct RB_red_blk_node* ProfilerNil_; struct RB_red_blk_node* ProfilerNil_;
char* DIRNAME_; char* DIRNAME_;
#if LOW_PROF #if LOW_PROF
int ProfilerOn_; int ProfilerOn_;
FILE* FProf_; FILE* FProf_;
FILE* FPreds_; FILE* FPreds_;
#endif /* LOW_PROF */ #endif /* LOW_PROF */
// Mutexes // Mutexes
#if THREADS #if THREADS
struct swi_mutex* FreeMutexes_; struct swi_mutex* FreeMutexes_;
struct swi_mutex* mutex_backbone_; struct swi_mutex* mutex_backbone_;
lockvar MUT_ACCESS_; lockvar MUT_ACCESS_;
#endif #endif
char* Home_; char* Home_;
/* ISO char conversion: I will make no comments */ /* ISO char conversion: I will make no comments */
char* CharConversionTable_; char* CharConversionTable_;
char* CharConversionTable2_; char* CharConversionTable2_;
/* max priority */ /* max priority */
int MaxPriority_; int MaxPriority_;
/// alias table access /// alias table access
struct AliasDescS* FileAliases_; struct AliasDescS* FileAliases_;
int NOfFileAliases_; int NOfFileAliases_;
int SzOfFileAliases_; int SzOfFileAliases_;
struct vfs* VFS_; struct vfs* VFS_;
} w_shared; } w_shared;

View File

@ -1,272 +1,272 @@
/* This file, hlocals.h, was generated automatically by "yap -L misc/buildlocalglobal" /* This file, hlocals.h, was generated automatically by "yap -L misc/buildlocalglobal"
please do not update, update H/LOCALS instead */ please do not update, update H/LOCALS instead */
// Stuff that must be considered local to a thread or worker // Stuff that must be considered local to a thread or worker
typedef struct worker_local { typedef struct worker_local {
// Streams // Streams
int c_input_stream_; int c_input_stream_;
int c_output_stream_; int c_output_stream_;
int c_error_stream_; int c_error_stream_;
bool sockets_io_; bool sockets_io_;
bool within_print_message_; bool within_print_message_;
// //
// Used by the prompts to check if they are after a newline, and then a // Used by the prompts to check if they are after a newline, and then a
// prompt should be output, or if we are in the middle of a line. // prompt should be output, or if we are in the middle of a line.
// //
bool newline_; bool newline_;
Atom AtPrompt_; Atom AtPrompt_;
char Prompt_[MAX_PROMPT+1]; char Prompt_[MAX_PROMPT+1];
encoding_t encoding_; encoding_t encoding_;
bool quasi_quotations_; bool quasi_quotations_;
UInt default_priority_; UInt default_priority_;
bool eot_before_eof_; bool eot_before_eof_;
UInt max_depth_; UInt max_depth_;
UInt max_list_; UInt max_list_;
UInt max_write_args_; UInt max_write_args_;
// Restore info // Restore info
CELL* OldASP_; CELL* OldASP_;
CELL* OldLCL0_; CELL* OldLCL0_;
tr_fr_ptr OldTR_; tr_fr_ptr OldTR_;
CELL* OldGlobalBase_; CELL* OldGlobalBase_;
CELL* OldH_; CELL* OldH_;
CELL* OldH0_; CELL* OldH0_;
ADDR OldTrailBase_; ADDR OldTrailBase_;
ADDR OldTrailTop_; ADDR OldTrailTop_;
ADDR OldHeapBase_; ADDR OldHeapBase_;
ADDR OldHeapTop_; ADDR OldHeapTop_;
Int ClDiff_; Int ClDiff_;
Int GDiff_; Int GDiff_;
Int HDiff_; Int HDiff_;
Int GDiff0_; Int GDiff0_;
CELL* GSplit_; CELL* GSplit_;
Int LDiff_; Int LDiff_;
Int TrDiff_; Int TrDiff_;
Int XDiff_; Int XDiff_;
Int DelayDiff_; Int DelayDiff_;
Int BaseDiff_; Int BaseDiff_;
// Reduction counters // Reduction counters
YAP_ULONG_LONG ReductionsCounter_; YAP_ULONG_LONG ReductionsCounter_;
YAP_ULONG_LONG PredEntriesCounter_; YAP_ULONG_LONG PredEntriesCounter_;
YAP_ULONG_LONG RetriesCounter_; YAP_ULONG_LONG RetriesCounter_;
int ReductionsCounterOn_; int ReductionsCounterOn_;
int PredEntriesCounterOn_; int PredEntriesCounterOn_;
int RetriesCounterOn_; int RetriesCounterOn_;
// support for consulting files // support for consulting files
/* current consult stack */ /* current consult stack */
union CONSULT_OBJ* ConsultSp_; union CONSULT_OBJ* ConsultSp_;
/* current maximum number of cells in consult stack */ /* current maximum number of cells in consult stack */
UInt ConsultCapacity_; UInt ConsultCapacity_;
/* top of consult stack */ /* top of consult stack */
union CONSULT_OBJ* ConsultBase_; union CONSULT_OBJ* ConsultBase_;
/* low-water mark for consult */ /* low-water mark for consult */
union CONSULT_OBJ* ConsultLow_; union CONSULT_OBJ* ConsultLow_;
Term VarNames_; Term VarNames_;
Atom SourceFileName_; Atom SourceFileName_;
UInt SourceFileLineno_; UInt SourceFileLineno_;
//global variables //global variables
Term GlobalArena_; Term GlobalArena_;
UInt GlobalArenaOverflows_; UInt GlobalArenaOverflows_;
Int ArenaOverflows_; Int ArenaOverflows_;
Int DepthArenas_; Int DepthArenas_;
struct pred_entry* LastAssertedPred_; struct pred_entry* LastAssertedPred_;
struct pred_entry* TmpPred_; struct pred_entry* TmpPred_;
char* ScannerStack_; char* ScannerStack_;
struct scanner_extra_alloc* ScannerExtraBlocks_; struct scanner_extra_alloc* ScannerExtraBlocks_;
/// worker control information /// worker control information
/// stack limit after which the stack is managed by C-code. /// stack limit after which the stack is managed by C-code.
Int CBorder_; Int CBorder_;
/// max number of signals (uint64_t) /// max number of signals (uint64_t)
UInt MaxActiveSignals_; UInt MaxActiveSignals_;
/// actual life signals /// actual life signals
uint64_t Signals_; uint64_t Signals_;
/// indexing help data? /// indexing help data?
UInt IPredArity_; UInt IPredArity_;
yamop* ProfEnd_; yamop* ProfEnd_;
int DoingUndefp_; int DoingUndefp_;
Int StartCharCount_; Int StartCharCount_;
Int StartLineCount_; Int StartLineCount_;
Int StartLinePos_; Int StartLinePos_;
scratch_block ScratchPad_; scratch_block ScratchPad_;
#ifdef COROUTINING #ifdef COROUTINING
Term WokenGoals_; Term WokenGoals_;
Term AttsMutableList_; Term AttsMutableList_;
#endif #endif
// gc_stuff // gc_stuff
Term GcGeneration_; Term GcGeneration_;
Term GcPhase_; Term GcPhase_;
UInt GcCurrentPhase_; UInt GcCurrentPhase_;
UInt GcCalls_; UInt GcCalls_;
Int TotGcTime_; Int TotGcTime_;
YAP_ULONG_LONG TotGcRecovered_; YAP_ULONG_LONG TotGcRecovered_;
Int LastGcTime_; Int LastGcTime_;
Int LastSSTime_; Int LastSSTime_;
CELL* OpenArray_; CELL* OpenArray_;
/* in a single gc */ /* in a single gc */
Int total_marked_; Int total_marked_;
Int total_oldies_; Int total_oldies_;
struct choicept* current_B_; struct choicept* current_B_;
CELL* prev_HB_; CELL* prev_HB_;
CELL* HGEN_; CELL* HGEN_;
CELL** iptop_; CELL** iptop_;
#if defined(GC_NO_TAGS) #if defined(GC_NO_TAGS)
char* bp_; char* bp_;
#endif #endif
tr_fr_ptr sTR_; tr_fr_ptr sTR_;
tr_fr_ptr sTR0_; tr_fr_ptr sTR0_;
tr_fr_ptr new_TR_; tr_fr_ptr new_TR_;
struct gc_mark_continuation* cont_top0_; struct gc_mark_continuation* cont_top0_;
struct gc_mark_continuation* cont_top_; struct gc_mark_continuation* cont_top_;
int discard_trail_entries_; int discard_trail_entries_;
gc_ma_hash_entry gc_ma_hash_table_[GC_MAVARS_HASH_SIZE]; gc_ma_hash_entry gc_ma_hash_table_[GC_MAVARS_HASH_SIZE];
gc_ma_hash_entry* gc_ma_h_top_; gc_ma_hash_entry* gc_ma_h_top_;
gc_ma_hash_entry* gc_ma_h_list_; gc_ma_hash_entry* gc_ma_h_list_;
UInt gc_timestamp_; UInt gc_timestamp_;
ADDR db_vec_; ADDR db_vec_;
ADDR db_vec0_; ADDR db_vec0_;
struct RB_red_blk_node* db_root_; struct RB_red_blk_node* db_root_;
struct RB_red_blk_node* db_nil_; struct RB_red_blk_node* db_nil_;
sigjmp_buf* gc_restore_; sigjmp_buf* gc_restore_;
CELL* extra_gc_cells_; CELL* extra_gc_cells_;
CELL* extra_gc_cells_base_; CELL* extra_gc_cells_base_;
CELL* extra_gc_cells_top_; CELL* extra_gc_cells_top_;
UInt extra_gc_cells_size_; UInt extra_gc_cells_size_;
struct array_entry* DynamicArrays_; struct array_entry* DynamicArrays_;
struct static_array_entry* StaticArrays_; struct static_array_entry* StaticArrays_;
struct global_entry* GlobalVariables_; struct global_entry* GlobalVariables_;
int AllowRestart_; int AllowRestart_;
// Thread Local Area for Fast Storage of Intermediate Compiled Code // Thread Local Area for Fast Storage of Intermediate Compiled Code
struct mem_blk* CMemFirstBlock_; struct mem_blk* CMemFirstBlock_;
UInt CMemFirstBlockSz_; UInt CMemFirstBlockSz_;
// Variable used by the compiler to store number of permanent vars in a clause // Variable used by the compiler to store number of permanent vars in a clause
int nperm_; int nperm_;
int jMP_; int jMP_;
// Thread Local Area for Labels // Thread Local Area for Labels
Int* LabelFirstArray_; Int* LabelFirstArray_;
UInt LabelFirstArraySz_; UInt LabelFirstArraySz_;
// Thread Local Area for SWI-Prolog emulation routines. // Thread Local Area for SWI-Prolog emulation routines.
// struct PL_local_data* PL_local_data_p =Yap_InitThreadIO(wid) // struct PL_local_data* PL_local_data_p =Yap_InitThreadIO(wid)
#ifdef THREADS #ifdef THREADS
struct thandle ThreadHandle_; struct thandle ThreadHandle_;
#endif /* THREADS */ #endif /* THREADS */
#if defined(YAPOR) || defined(TABLING) #if defined(YAPOR) || defined(TABLING)
struct local_optyap_data optyap_data_; struct local_optyap_data optyap_data_;
UInt TabMode_; UInt TabMode_;
#endif /* YAPOR || TABLING */ #endif /* YAPOR || TABLING */
int InterruptsDisabled_; int InterruptsDisabled_;
struct open_query_struct* execution_; struct open_query_struct* execution_;
#if LOW_LEVEL_TRACER #if LOW_LEVEL_TRACER
Int total_choicepoints_; Int total_choicepoints_;
#endif #endif
int consult_level_; int consult_level_;
// Variables related to memory allocation // Variables related to memory allocation
ADDR LocalBase_; ADDR LocalBase_;
ADDR GlobalBase_; ADDR GlobalBase_;
ADDR TrailBase_; ADDR TrailBase_;
ADDR TrailTop_; ADDR TrailTop_;
/* error handling info, designed to be easy to pass to the foreign world */ /* error handling info, designed to be easy to pass to the foreign world */
yap_error_descriptor_t* ActiveError_; yap_error_descriptor_t* ActiveError_;
/// pointer to an exception term, from throw /// pointer to an exception term, from throw
jmp_buf* IOBotch_; jmp_buf* IOBotch_;
TokEntry* tokptr_; TokEntry* tokptr_;
TokEntry* toktide_; TokEntry* toktide_;
VarEntry* VarTable_; VarEntry* VarTable_;
VarEntry* AnonVarTable_; VarEntry* AnonVarTable_;
Term Comments_; Term Comments_;
CELL* CommentsTail_; CELL* CommentsTail_;
CELL* CommentsNextChar_; CELL* CommentsNextChar_;
wchar_t* CommentsBuff_; wchar_t* CommentsBuff_;
size_t CommentsBuffPos_; size_t CommentsBuffPos_;
size_t CommentsBuffLim_; size_t CommentsBuffLim_;
sigjmp_buf* RestartEnv_; sigjmp_buf* RestartEnv_;
char FileNameBuf_[YAP_FILENAME_MAX+1]; char FileNameBuf_[YAP_FILENAME_MAX+1];
char FileNameBuf2_[YAP_FILENAME_MAX+1]; char FileNameBuf2_[YAP_FILENAME_MAX+1];
struct TextBuffer_manager* TextBuffer_; struct TextBuffer_manager* TextBuffer_;
// Prolog State // Prolog State
UInt BreakLevel_; UInt BreakLevel_;
Int PrologMode_; Int PrologMode_;
int CritLocks_; int CritLocks_;
// Prolog execution and state flags // Prolog execution and state flags
union flagTerm* Flags_; union flagTerm* Flags_;
UInt flagCount_; UInt flagCount_;
//analyst.c //analyst.c
/* used to find out how many instructions of each kind are executed */ /* used to find out how many instructions of each kind are executed */
#ifdef ANALYST #ifdef ANALYST
YAP_ULONG_LONG opcount_[_std_top+1]; YAP_ULONG_LONG opcount_[_std_top+1];
YAP_ULONG_LONG 2opcount[_std_top+1][_std_top+1]_; YAP_ULONG_LONG 2opcount[_std_top+1][_std_top+1]_;
#endif /* ANALYST */ #endif /* ANALYST */
//dbase.c //dbase.c
struct db_globs* s_dbg_; struct db_globs* s_dbg_;
//eval.c //eval.c
Term mathtt_; Term mathtt_;
char* mathstring_; char* mathstring_;
//grow.c //grow.c
int heap_overflows_; int heap_overflows_;
Int total_heap_overflow_time_; Int total_heap_overflow_time_;
int stack_overflows_; int stack_overflows_;
Int total_stack_overflow_time_; Int total_stack_overflow_time_;
int delay_overflows_; int delay_overflows_;
Int total_delay_overflow_time_; Int total_delay_overflow_time_;
int trail_overflows_; int trail_overflows_;
Int total_trail_overflow_time_; Int total_trail_overflow_time_;
int atom_table_overflows_; int atom_table_overflows_;
Int total_atom_table_overflow_time_; Int total_atom_table_overflow_time_;
//load_dyld //load_dyld
#ifdef LOAD_DYLD #ifdef LOAD_DYLD
int dl_errno_; int dl_errno_;
#endif #endif
//tracer.c //tracer.c
#ifdef LOW_LEVEL_TRACER #ifdef LOW_LEVEL_TRACER
int do_trace_primitives_; int do_trace_primitives_;
#endif #endif
//quick loader //quick loader
struct export_atom_hash_entry_struct *ExportAtomHashChain_; struct export_atom_hash_entry_struct *ExportAtomHashChain_;
UInt ExportAtomHashTableSize_; UInt ExportAtomHashTableSize_;
UInt ExportAtomHashTableNum_; UInt ExportAtomHashTableNum_;
struct export_functor_hash_entry_struct *ExportFunctorHashChain_; struct export_functor_hash_entry_struct *ExportFunctorHashChain_;
UInt ExportFunctorHashTableSize_; UInt ExportFunctorHashTableSize_;
UInt ExportFunctorHashTableNum_; UInt ExportFunctorHashTableNum_;
struct export_pred_entry_hash_entry_struct *ExportPredEntryHashChain_; struct export_pred_entry_hash_entry_struct *ExportPredEntryHashChain_;
UInt ExportPredEntryHashTableSize_; UInt ExportPredEntryHashTableSize_;
UInt ExportPredEntryHashTableNum_; UInt ExportPredEntryHashTableNum_;
struct export_dbref_hash_entry_struct *ExportDBRefHashChain_; struct export_dbref_hash_entry_struct *ExportDBRefHashChain_;
UInt ExportDBRefHashTableSize_; UInt ExportDBRefHashTableSize_;
UInt ExportDBRefHashTableNum_; UInt ExportDBRefHashTableNum_;
struct import_atom_hash_entry_struct **ImportAtomHashChain_; struct import_atom_hash_entry_struct **ImportAtomHashChain_;
UInt ImportAtomHashTableSize_; UInt ImportAtomHashTableSize_;
UInt ImportAtomHashTableNum_; UInt ImportAtomHashTableNum_;
struct import_functor_hash_entry_struct **ImportFunctorHashChain_; struct import_functor_hash_entry_struct **ImportFunctorHashChain_;
UInt ImportFunctorHashTableSize_; UInt ImportFunctorHashTableSize_;
UInt ImportFunctorHashTableNum_; UInt ImportFunctorHashTableNum_;
struct import_opcode_hash_entry_struct **ImportOPCODEHashChain_; struct import_opcode_hash_entry_struct **ImportOPCODEHashChain_;
UInt ImportOPCODEHashTableSize_; UInt ImportOPCODEHashTableSize_;
struct import_pred_entry_hash_entry_struct **ImportPredEntryHashChain_; struct import_pred_entry_hash_entry_struct **ImportPredEntryHashChain_;
UInt ImportPredEntryHashTableSize_; UInt ImportPredEntryHashTableSize_;
UInt ImportPredEntryHashTableNum_; UInt ImportPredEntryHashTableNum_;
struct import_dbref_hash_entry_struct **ImportDBRefHashChain_; struct import_dbref_hash_entry_struct **ImportDBRefHashChain_;
UInt ImportDBRefHashTableSize_; UInt ImportDBRefHashTableSize_;
UInt ImportDBRefHashTableNum_; UInt ImportDBRefHashTableNum_;
yamop *ImportFAILCODE_; yamop *ImportFAILCODE_;
// exo indexing // exo indexing
UInt ibnds_[256]; UInt ibnds_[256];
struct index_t* exo_it_; struct index_t* exo_it_;
CELL* exo_base_; CELL* exo_base_;
UInt exo_arity_; UInt exo_arity_;
UInt exo_arg_; UInt exo_arg_;
// atom completion // atom completion
struct scan_atoms* search_atoms_; struct scan_atoms* search_atoms_;
struct pred_entry* SearchPreds_; struct pred_entry* SearchPreds_;
/// Slots Status /// Slots Status
yhandle_t CurSlot_; yhandle_t CurSlot_;
yhandle_t FrozenHandles_; yhandle_t FrozenHandles_;
yhandle_t NSlots_; yhandle_t NSlots_;
CELL* SlotBase_; CELL* SlotBase_;
// Mutexes // Mutexes
struct swi_mutex* Mutexes_; struct swi_mutex* Mutexes_;
Term SourceModule_; Term SourceModule_;
Term Including_; Term Including_;
size_t MAX_SIZE_; size_t MAX_SIZE_;
/* last call to walltime. */ /* last call to walltime. */
uint64_t LastWTime_; uint64_t LastWTime_;
void* shared_; void* shared_;
} w_local; } w_local;

View File

@ -1,296 +1,295 @@
/* This file, hstruct.h, was generated automatically by "yap -L misc/buildlocalglobal" /* This file, hstruct.h, was generated automatically by "yap -L misc/buildlocalglobal"
please do not update, update H/HEAPFIELDS instead */ please do not update, update H/HEAPFIELDS instead */
// //
// File defining fields in the Yap_heap_codes global structure // File defining fields in the Yap_heap_codes global structure
// //
// these fields used to spread all over the place, because they must be used in 4 ways: // these fields used to spread all over the place, because they must be used in 4 ways:
// - they must be defined somewhere // - they must be defined somewhere
// - they have an #ifdef to get a shorter name // - they have an #ifdef to get a shorter name
// - they must be initialised somewhere // - they must be initialised somewhere
// - they must be restorable and collectable (from the atom gc). // - they must be restorable and collectable (from the atom gc).
// //
// //
// The defs include 4+ components: // The defs include 4+ components:
// Type // Type
// name in structured // name in structured
// global name // global name
// init code and restore code (optional) // init code and restore code (optional)
// //
// //
// //
// MkAT (MkAtomTerm) cvts from a predefined atom to a term // MkAT (MkAtomTerm) cvts from a predefined atom to a term
// MkPred constructs a pred_entry // MkPred constructs a pred_entry
// MkOp gets an opcode // MkOp gets an opcode
// void does nothing // void does nothing
// =VALUE inits as VALUE // =VALUE inits as VALUE
// Init... sets up call to InitFunc // Init... sets up call to InitFunc
// Restore... sets up call to RestoreFunc // Restore... sets up call to RestoreFunc
// //
/* memory management */ /* memory management */
UInt Yap_HoleSize_; UInt Yap_HoleSize_;
#if USE_DL_MALLOC #if USE_DL_MALLOC
struct malloc_state *Yap_av_; struct malloc_state *Yap_av_;
struct memory_hole Yap_MemoryHoles[MAX_DLMALLOC_HOLES]_; struct memory_hole Yap_MemoryHoles[MAX_DLMALLOC_HOLES]_;
UInt Yap_NOfMemoryHoles_; UInt Yap_NOfMemoryHoles_;
#if defined(YAPOR) || defined(THREADS) #if defined(YAPOR) || defined(THREADS)
lockvar DLMallocLock_; lockvar DLMallocLock_;
#endif #endif
#endif #endif
#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO) #if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
#ifndef HeapUsed #ifndef HeapUsed
#define HeapUsed Yap_givemallinfo() #define HeapUsed Yap_givemallinfo()
#endif #endif
Int NotHeapUsed_; Int NotHeapUsed_;
#else #else
Int HeapUsed_; Int HeapUsed_;
#endif #endif
Int HeapMax_; Int HeapMax_;
ADDR HeapTop_; ADDR HeapTop_;
ADDR HeapLim_; ADDR HeapLim_;
struct FREEB *FreeBlocks_; struct FREEB *FreeBlocks_;
#if defined(YAPOR) || defined(THREADS) #if defined(YAPOR) || defined(THREADS)
lockvar FreeBlocksLock_; lockvar FreeBlocksLock_;
lockvar HeapUsedLock_; lockvar HeapUsedLock_;
lockvar HeapTopLock_; lockvar HeapTopLock_;
int HeapTopOwner_; int HeapTopOwner_;
#endif #endif
UInt MaxStack_; UInt MaxStack_;
UInt MaxTrail_; UInt MaxTrail_;
/* execution info */ /* execution info */
/* OPCODE REVERSE TABLE, needed to recover op tables */ /* OPCODE REVERSE TABLE, needed to recover op tables */
#if USE_THREADED_CODE #if USE_THREADED_CODE
op_entry *OP_RTABLE_; op_entry *OP_RTABLE_;
#endif #endif
/* popular opcodes */ /* popular opcodes */
OPCODE EXECUTE_CPRED_OP_CODE_; OPCODE EXECUTE_CPRED_OP_CODE_;
OPCODE EXPAND_OP_CODE_; OPCODE EXPAND_OP_CODE_;
OPCODE FAIL_OPCODE_; OPCODE FAIL_OPCODE_;
OPCODE INDEX_OPCODE_; OPCODE INDEX_OPCODE_;
OPCODE LOCKPRED_OPCODE_; OPCODE LOCKPRED_OPCODE_;
OPCODE ORLAST_OPCODE_; OPCODE ORLAST_OPCODE_;
OPCODE UNDEF_OPCODE_; OPCODE UNDEF_OPCODE_;
OPCODE RETRY_USERC_OPCODE_; OPCODE RETRY_USERC_OPCODE_;
OPCODE EXECUTE_CPRED_OPCODE_; OPCODE EXECUTE_CPRED_OPCODE_;
/* atom tables */ /* atom tables */
UInt NOfAtoms_; UInt NOfAtoms_;
UInt AtomHashTableSize_; UInt AtomHashTableSize_;
UInt WideAtomHashTableSize_; UInt WideAtomHashTableSize_;
UInt NOfWideAtoms_; UInt NOfWideAtoms_;
AtomHashEntry INVISIBLECHAIN_; AtomHashEntry INVISIBLECHAIN_;
AtomHashEntry *WideHashChain_; AtomHashEntry *WideHashChain_;
AtomHashEntry *HashChain_; AtomHashEntry *HashChain_;
/* use atom defs here */ /* use atom defs here */
#include "tatoms.h" #include "tatoms.h"
#ifdef EUROTRA #ifdef EUROTRA
Term TermDollarU_; Term TermDollarU_;
#endif #endif
Term TermAnswer_; //modules
//modules Term USER_MODULE_;
Term USER_MODULE_; Term IDB_MODULE_;
Term IDB_MODULE_; Term ATTRIBUTES_MODULE_;
Term ATTRIBUTES_MODULE_; Term CHARSIO_MODULE_;
Term CHARSIO_MODULE_; Term CHTYPE_MODULE_;
Term CHTYPE_MODULE_; Term TERMS_MODULE_;
Term TERMS_MODULE_; Term SYSTEM_MODULE_;
Term SYSTEM_MODULE_; Term READUTIL_MODULE_;
Term READUTIL_MODULE_; Term HACKS_MODULE_;
Term HACKS_MODULE_; Term ARG_MODULE_;
Term ARG_MODULE_; Term GLOBALS_MODULE_;
Term GLOBALS_MODULE_; Term SWI_MODULE_;
Term SWI_MODULE_; Term DBLOAD_MODULE_;
Term DBLOAD_MODULE_; Term RANGE_MODULE_;
Term RANGE_MODULE_; Term ERROR_MODULE_;
Term ERROR_MODULE_; //
// // Module list
// Module list //
// struct mod_entry *CurrentModules_;
struct mod_entry *CurrentModules_; // make sure we have the modules set at this point.
// make sure we have the modules set at this point. // don't actually want to define a field
// don't actually want to define a field
// hidden predicates
// hidden predicates Prop HIDDEN_PREDICATES_;
Prop HIDDEN_PREDICATES_; // make sure we have the streams set at this point.
// make sure we have the streams set at this point. // don't actually want to define a field
// don't actually want to define a field
union flagTerm* GLOBAL_Flags_;
union flagTerm* GLOBAL_Flags_; UInt GLOBAL_flagCount_;
UInt GLOBAL_flagCount_; /* Anderson's JIT */
/* Anderson's JIT */ yap_exec_mode Yap_ExecutionMode_;
yap_exec_mode Yap_ExecutionMode_; /* The Predicate Hash Table: fast access to predicates. */
/* The Predicate Hash Table: fast access to predicates. */ UInt PredsInHashTable_;
UInt PredsInHashTable_; uint64_t PredHashTableSize_;
uint64_t PredHashTableSize_; struct pred_entry **PredHash_;
struct pred_entry **PredHash_; #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) rwlock_t PredHashRWLock_;
rwlock_t PredHashRWLock_; #endif
#endif /* Well-Known Predicates */
/* Well-Known Predicates */ struct pred_entry *CreepCode_;
struct pred_entry *CreepCode_; struct pred_entry *UndefCode_;
struct pred_entry *UndefCode_; struct pred_entry *SpyCode_;
struct pred_entry *SpyCode_; struct pred_entry *PredFail_;
struct pred_entry *PredFail_; struct pred_entry *PredTrue_;
struct pred_entry *PredTrue_; #ifdef COROUTINING
#ifdef COROUTINING struct pred_entry *WakeUpCode_;
struct pred_entry *WakeUpCode_; #endif
#endif struct pred_entry *PredDollarCatch_;
struct pred_entry *PredDollarCatch_; #ifdef YAPOR
#ifdef YAPOR struct pred_entry *PredGetwork_;
struct pred_entry *PredGetwork_; #endif /* YAPOR */
#endif /* YAPOR */ struct pred_entry *PredGoalExpansion_;
struct pred_entry *PredGoalExpansion_; struct pred_entry *PredHandleThrow_;
struct pred_entry *PredHandleThrow_; struct pred_entry *PredIs_;
struct pred_entry *PredIs_; struct pred_entry *PredLogUpdClause_;
struct pred_entry *PredLogUpdClause_; struct pred_entry *PredLogUpdClauseErase_;
struct pred_entry *PredLogUpdClauseErase_; struct pred_entry *PredLogUpdClause0_;
struct pred_entry *PredLogUpdClause0_; struct pred_entry *PredMetaCall_;
struct pred_entry *PredMetaCall_; struct pred_entry *PredProtectStack_;
struct pred_entry *PredProtectStack_; struct pred_entry *PredRecordedWithKey_;
struct pred_entry *PredRecordedWithKey_; struct pred_entry *PredRestoreRegs_;
struct pred_entry *PredRestoreRegs_; struct pred_entry *PredSafeCallCleanup_;
struct pred_entry *PredSafeCallCleanup_; struct pred_entry *PredStaticClause_;
struct pred_entry *PredStaticClause_; struct pred_entry *PredThrow_;
struct pred_entry *PredThrow_; struct pred_entry *PredTraceMetaCall_;
struct pred_entry *PredTraceMetaCall_; struct pred_entry *PredCommentHook_;
struct pred_entry *PredCommentHook_; struct pred_entry *PredProcedure_;
struct pred_entry *PredProcedure_; struct pred_entry *PredUndefinedQuery_;
struct pred_entry *PredUndefinedQuery_; /* low-level tracer */
/* low-level tracer */ #ifdef LOW_LEVEL_TRACER
#ifdef LOW_LEVEL_TRACER int Yap_do_low_level_trace_;
int Yap_do_low_level_trace_; #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) lockvar Yap_low_level_trace_lock_;
lockvar Yap_low_level_trace_lock_; #endif
#endif #endif
#endif /* code management info */
/* code management info */ UInt Yap_ClauseSpace_;
UInt Yap_ClauseSpace_; UInt Yap_IndexSpace_Tree_;
UInt Yap_IndexSpace_Tree_; UInt Yap_IndexSpace_EXT_;
UInt Yap_IndexSpace_EXT_; UInt Yap_IndexSpace_SW_;
UInt Yap_IndexSpace_SW_; UInt Yap_LUClauseSpace_;
UInt Yap_LUClauseSpace_; UInt Yap_LUIndexSpace_Tree_;
UInt Yap_LUIndexSpace_Tree_; UInt Yap_LUIndexSpace_CP_;
UInt Yap_LUIndexSpace_CP_; UInt Yap_LUIndexSpace_EXT_;
UInt Yap_LUIndexSpace_EXT_; UInt Yap_LUIndexSpace_SW_;
UInt Yap_LUIndexSpace_SW_; /* static code: may be shared by many predicate or may be used for meta-execution */
/* static code: may be shared by many predicate or may be used for meta-execution */ yamop COMMA_CODE_[5];
yamop COMMA_CODE_[5]; yamop DUMMYCODE_[1];
yamop DUMMYCODE_[1]; yamop FAILCODE_[1];
yamop FAILCODE_[1]; yamop NOCODE_[1];
yamop NOCODE_[1]; yamop ENV_FOR_TRUSTFAIL_[2];
yamop ENV_FOR_TRUSTFAIL_[2]; yamop *TRUSTFAILCODE_;
yamop *TRUSTFAILCODE_; yamop ENV_FOR_YESCODE_[2];
yamop ENV_FOR_YESCODE_[2]; yamop *YESCODE_;
yamop *YESCODE_; yamop RTRYCODE_[1];
yamop RTRYCODE_[1]; #ifdef BEAM
#ifdef BEAM yamop BEAM_RETRY_CODE_[1];
yamop BEAM_RETRY_CODE_[1]; #endif /* BEAM */
#endif /* BEAM */ #ifdef YAPOR
#ifdef YAPOR yamop GETWORK_[1];
yamop GETWORK_[1]; yamop GETWORK_SEQ_[1];
yamop GETWORK_SEQ_[1]; yamop GETWORK_FIRST_TIME_[1];
yamop GETWORK_FIRST_TIME_[1]; #endif /* YAPOR */
#endif /* YAPOR */ #ifdef TABLING
#ifdef TABLING yamop LOAD_ANSWER_[1];
yamop LOAD_ANSWER_[1]; yamop TRY_ANSWER_[1];
yamop TRY_ANSWER_[1]; yamop ANSWER_RESOLUTION_[1];
yamop ANSWER_RESOLUTION_[1]; yamop COMPLETION_[1];
yamop COMPLETION_[1]; #ifdef THREADS_CONSUMER_SHARING
#ifdef THREADS_CONSUMER_SHARING yamop ANSWER_RESOLUTION_COMPLETION_[1];
yamop ANSWER_RESOLUTION_COMPLETION_[1]; #endif /* THREADS_CONSUMER_SHARING */
#endif /* THREADS_CONSUMER_SHARING */ #endif /* TABLING */
#endif /* TABLING */ /* */
/* */ /* PREG just before we enter $spy. We use that to find out the clause which */
/* PREG just before we enter $spy. We use that to find out the clause which */ /* was calling the debugged goal. */
/* was calling the debugged goal. */ /* */
/* */ yamop *P_before_spy_;
yamop *P_before_spy_; /* support recorded_k */
/* support recorded_k */ yamop *RETRY_C_RECORDEDP_CODE_;
yamop *RETRY_C_RECORDEDP_CODE_; yamop *RETRY_C_RECORDED_K_CODE_;
yamop *RETRY_C_RECORDED_K_CODE_; /* compiler flags */
/* compiler flags */ int PROFILING_;
int PROFILING_; int CALL_COUNTING_;
int CALL_COUNTING_; int optimizer_on_;
int optimizer_on_; int compile_mode_;
int compile_mode_; int profiling_;
int profiling_; int call_counting_;
int call_counting_; /********* whether we should try to compile array references ******************/
/********* whether we should try to compile array references ******************/ int compile_arrays_;
int compile_arrays_; /* DBTerms: pre-compiled ground terms */
/* DBTerms: pre-compiled ground terms */ #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) lockvar DBTermsListLock_;
lockvar DBTermsListLock_; #endif
#endif struct dbterm_list *DBTermsList_;
struct dbterm_list *DBTermsList_; /* JITI support */
/* JITI support */ yamop *ExpandClausesFirst_;
yamop *ExpandClausesFirst_; yamop *ExpandClausesLast_;
yamop *ExpandClausesLast_; UInt Yap_ExpandClauses_;
UInt Yap_ExpandClauses_; #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) lockvar ExpandClausesListLock_;
lockvar ExpandClausesListLock_; lockvar OpListLock_;
lockvar OpListLock_; #endif
#endif /* instrumentation */
/* instrumentation */ #ifdef DEBUG
#ifdef DEBUG UInt Yap_NewCps_;
UInt Yap_NewCps_; UInt Yap_LiveCps_;
UInt Yap_LiveCps_; UInt Yap_DirtyCps_;
UInt Yap_DirtyCps_; UInt Yap_FreedCps_;
UInt Yap_FreedCps_; #endif
#endif UInt Yap_expand_clauses_sz_;
UInt Yap_expand_clauses_sz_; /* UDI support */
/* UDI support */ struct udi_info *UdiControlBlocks_;
struct udi_info *UdiControlBlocks_; /* data-base statistics */
/* data-base statistics */ /* system boots in compile mode */
/* system boots in compile mode */ Int STATIC_PREDICATES_MARKED_;
Int STATIC_PREDICATES_MARKED_; /* Internal Database */
/* Internal Database */ Prop *INT_KEYS_;
Prop *INT_KEYS_; Prop *INT_LU_KEYS_;
Prop *INT_LU_KEYS_; Prop *INT_BB_KEYS_;
Prop *INT_BB_KEYS_; /* Internal Database Statistics */
/* Internal Database Statistics */ UInt INT_KEYS_SIZE_;
UInt INT_KEYS_SIZE_; UInt INT_KEYS_TIMESTAMP_;
UInt INT_KEYS_TIMESTAMP_; UInt INT_BB_KEYS_SIZE_;
UInt INT_BB_KEYS_SIZE_; /* Internal Data-Base Control */
/* Internal Data-Base Control */ int UPDATE_MODE_;
int UPDATE_MODE_; /* nasty IDB stuff */
/* nasty IDB stuff */ struct DB_STRUCT *DBErasedMarker_;
struct DB_STRUCT *DBErasedMarker_; struct logic_upd_clause *LogDBErasedMarker_;
struct logic_upd_clause *LogDBErasedMarker_; /* Dead clauses and IDB entries */
/* Dead clauses and IDB entries */ struct static_clause *DeadStaticClauses_;
struct static_clause *DeadStaticClauses_; struct static_mega_clause *DeadMegaClauses_;
struct static_mega_clause *DeadMegaClauses_; struct static_index *DeadStaticIndices_;
struct static_index *DeadStaticIndices_; struct logic_upd_clause *DBErasedList_;
struct logic_upd_clause *DBErasedList_; struct logic_upd_index *DBErasedIList_;
struct logic_upd_index *DBErasedIList_; #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) lockvar DeadStaticClausesLock_;
lockvar DeadStaticClausesLock_; lockvar DeadMegaClausesLock_;
lockvar DeadMegaClausesLock_; lockvar DeadStaticIndicesLock_;
lockvar DeadStaticIndicesLock_; #endif
#endif #ifdef COROUTINING
#ifdef COROUTINING /* number of attribute modules */
/* number of attribute modules */ int NUM_OF_ATTS_;
int NUM_OF_ATTS_; /* initialised by memory allocator */
/* initialised by memory allocator */ UInt Yap_AttsSize_;
UInt Yap_AttsSize_; #endif
#endif /* Operators */
/* Operators */ struct operator_entry *OpList_;
struct operator_entry *OpList_; /* foreign code loaded */
/* foreign code loaded */ struct ForeignLoadItem *ForeignCodeLoaded_;
struct ForeignLoadItem *ForeignCodeLoaded_; ADDR ForeignCodeBase_;
ADDR ForeignCodeBase_; ADDR ForeignCodeTop_;
ADDR ForeignCodeTop_; ADDR ForeignCodeMax_;
ADDR ForeignCodeMax_; /* recorded terms */
/* recorded terms */ struct record_list *Yap_Records_;
struct record_list *Yap_Records_; Atom EmptyWakeups_[MAX_EMPTY_WAKEUPS];
Atom EmptyWakeups_[MAX_EMPTY_WAKEUPS]; int MaxEmptyWakeups_;
int MaxEmptyWakeups_; /* SWI blobs */
/* SWI blobs */ struct YAP_blob_t *BlobTypes_;
struct YAP_blob_t *BlobTypes_; struct AtomEntryStruct *Blobs_;
struct AtomEntryStruct *Blobs_; UInt NOfBlobs_;
UInt NOfBlobs_; UInt NOfBlobsMax_;
UInt NOfBlobsMax_; #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) lockvar Blobs_Lock_;
lockvar Blobs_Lock_; #endif
#endif

View File

@ -1,144 +1,144 @@
/* This file, iglobals.h, was generated automatically by "yap -L misc/buildlocalglobal" /* This file, iglobals.h, was generated automatically by "yap -L misc/buildlocalglobal"
please do not update, update H/GLOBALS instead */ please do not update, update H/GLOBALS instead */
static void InitGlobal(void) { static void InitGlobal(void) {
GLOBAL_Initialised = FALSE; GLOBAL_Initialised = FALSE;
GLOBAL_InitialisedFromPL = FALSE; GLOBAL_InitialisedFromPL = FALSE;
GLOBAL_PL_Argc = 0; GLOBAL_PL_Argc = 0;
GLOBAL_PL_Argv = NULL; GLOBAL_PL_Argv = NULL;
GLOBAL_FAST_BOOT_FLAG = false; GLOBAL_FAST_BOOT_FLAG = false;
GLOBAL_HaltHooks = NULL; GLOBAL_HaltHooks = NULL;
GLOBAL_JIT_finalizer = NULL; GLOBAL_JIT_finalizer = NULL;
GLOBAL_AllowLocalExpansion = TRUE; GLOBAL_AllowLocalExpansion = TRUE;
GLOBAL_AllowGlobalExpansion = TRUE; GLOBAL_AllowGlobalExpansion = TRUE;
GLOBAL_AllowTrailExpansion = TRUE; GLOBAL_AllowTrailExpansion = TRUE;
GLOBAL_SizeOfOverflow = 0; GLOBAL_SizeOfOverflow = 0;
GLOBAL_AGcThreshold = 10000; GLOBAL_AGcThreshold = 10000;
GLOBAL_AGCHook = NULL; GLOBAL_AGCHook = NULL;
#if THREADS #if THREADS
GLOBAL_NOfThreads = 1; GLOBAL_NOfThreads = 1;
GLOBAL_NOfThreadsCreated = 1; GLOBAL_NOfThreadsCreated = 1;
GLOBAL_ThreadsTotalTime = 0L; GLOBAL_ThreadsTotalTime = 0L;
INIT_LOCK(GLOBAL_ThreadHandlesLock); INIT_LOCK(GLOBAL_ThreadHandlesLock);
#endif #endif
#if defined(YAPOR) || defined(THREADS) #if defined(YAPOR) || defined(THREADS)
INIT_LOCK(GLOBAL_BGL); INIT_LOCK(GLOBAL_BGL);
#endif #endif
#if defined(YAPOR) || defined(TABLING) #if defined(YAPOR) || defined(TABLING)
#endif /* YAPOR || TABLING */ #endif /* YAPOR || TABLING */
#if defined(THREADS) #if defined(THREADS)
GLOBAL_named_mboxes = NULL; GLOBAL_named_mboxes = NULL;
INIT_LOCK(GLOBAL_mboxq_lock); INIT_LOCK(GLOBAL_mboxq_lock);
GLOBAL_mbox_count = 0; GLOBAL_mbox_count = 0;
#endif /* THREADS */ #endif /* THREADS */
#if defined(THREADS)||defined(YAPOR) #if defined(THREADS)||defined(YAPOR)
INIT_LOCK(GLOBAL_StreamDescLock); INIT_LOCK(GLOBAL_StreamDescLock);
#endif #endif
#ifdef COROUTINING #ifdef COROUTINING
#endif #endif
GLOBAL_tot_agc_time = 0; GLOBAL_tot_agc_time = 0;
GLOBAL_tot_agc_recovered = 0; GLOBAL_tot_agc_recovered = 0;
#if HAVE_MMAP #if HAVE_MMAP
GLOBAL_mmap_arrays = NULL; GLOBAL_mmap_arrays = NULL;
#endif #endif
#ifdef DEBUG #ifdef DEBUG
#endif #endif
#if defined(COFF) || defined(A_OUT) #if defined(COFF) || defined(A_OUT)
#endif #endif
GLOBAL_OpaqueHandlersCount = 0; GLOBAL_OpaqueHandlersCount = 0;
GLOBAL_OpaqueHandlers = NULL; GLOBAL_OpaqueHandlers = NULL;
#if __simplescalar__ #if __simplescalar__
#endif #endif
GLOBAL_DIRNAME = NULL; GLOBAL_DIRNAME = NULL;
#if LOW_PROF #if LOW_PROF
GLOBAL_ProfilerOn = FALSE; GLOBAL_ProfilerOn = FALSE;
GLOBAL_FProf = NULL; GLOBAL_FProf = NULL;
GLOBAL_FPreds = NULL; GLOBAL_FPreds = NULL;
#endif /* LOW_PROF */ #endif /* LOW_PROF */
#if THREADS #if THREADS
GLOBAL_FreeMutexes = NULL; GLOBAL_FreeMutexes = NULL;
GLOBAL_mutex_backbone = NULL; GLOBAL_mutex_backbone = NULL;
INIT_LOCK(GLOBAL_MUT_ACCESS); INIT_LOCK(GLOBAL_MUT_ACCESS);
#endif #endif
GLOBAL_Home = NULL; GLOBAL_Home = NULL;
GLOBAL_CharConversionTable = NULL; GLOBAL_CharConversionTable = NULL;
GLOBAL_CharConversionTable2 = NULL; GLOBAL_CharConversionTable2 = NULL;
GLOBAL_MaxPriority = 1200; GLOBAL_MaxPriority = 1200;
GLOBAL_FileAliases = Yap_InitStandardAliases(); GLOBAL_FileAliases = Yap_InitStandardAliases();
GLOBAL_VFS = Yap_InitAssetManager(); GLOBAL_VFS = Yap_InitAssetManager();
} }

View File

@ -1,292 +1,291 @@
/* This file, ihstruct.h, was generated automatically by "yap -L misc/buildlocalglobal" /* This file, ihstruct.h, was generated automatically by "yap -L misc/buildlocalglobal"
please do not update, update H/HEAPFIELDS instead */ please do not update, update H/HEAPFIELDS instead */
#if USE_DL_MALLOC #if USE_DL_MALLOC
#if defined(YAPOR) || defined(THREADS) #if defined(YAPOR) || defined(THREADS)
INIT_LOCK(DLMallocLock); INIT_LOCK(DLMallocLock);
#endif #endif
#endif #endif
#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO) #if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
#ifndef HeapUsed #ifndef HeapUsed
#define HeapUsed Yap_givemallinfo() #define HeapUsed Yap_givemallinfo()
#endif #endif
#else #else
#endif #endif
#if defined(YAPOR) || defined(THREADS) #if defined(YAPOR) || defined(THREADS)
INIT_LOCK(FreeBlocksLock); INIT_LOCK(FreeBlocksLock);
INIT_LOCK(HeapUsedLock); INIT_LOCK(HeapUsedLock);
INIT_LOCK(HeapTopLock); INIT_LOCK(HeapTopLock);
HeapTopOwner = -1; HeapTopOwner = -1;
#endif #endif
MaxStack = 0; MaxStack = 0;
MaxTrail = 0; MaxTrail = 0;
#if USE_THREADED_CODE #if USE_THREADED_CODE
#endif #endif
EXECUTE_CPRED_OP_CODE = Yap_opcode(_execute_cpred); EXECUTE_CPRED_OP_CODE = Yap_opcode(_execute_cpred);
EXPAND_OP_CODE = Yap_opcode(_expand_index); EXPAND_OP_CODE = Yap_opcode(_expand_index);
FAIL_OPCODE = Yap_opcode(_op_fail); FAIL_OPCODE = Yap_opcode(_op_fail);
INDEX_OPCODE = Yap_opcode(_index_pred); INDEX_OPCODE = Yap_opcode(_index_pred);
LOCKPRED_OPCODE = Yap_opcode(_lock_pred); LOCKPRED_OPCODE = Yap_opcode(_lock_pred);
ORLAST_OPCODE = Yap_opcode(_or_last); ORLAST_OPCODE = Yap_opcode(_or_last);
UNDEF_OPCODE = Yap_opcode(_undef_p); UNDEF_OPCODE = Yap_opcode(_undef_p);
RETRY_USERC_OPCODE = Yap_opcode(_retry_userc); RETRY_USERC_OPCODE = Yap_opcode(_retry_userc);
EXECUTE_CPRED_OPCODE = Yap_opcode(_execute_cpred); EXECUTE_CPRED_OPCODE = Yap_opcode(_execute_cpred);
InitInvisibleAtoms(); InitInvisibleAtoms();
InitWideAtoms(); InitWideAtoms();
InitAtoms(); InitAtoms();
#include "iatoms.h" #include "iatoms.h"
#ifdef EUROTRA #ifdef EUROTRA
TermDollarU = MkAtomTerm(AtomDollarU); TermDollarU = MkAtomTerm(AtomDollarU);
#endif #endif
TermAnswer = MkAtomTerm(AtomAnswer);
USER_MODULE = MkAtomTerm(AtomUser);
USER_MODULE = MkAtomTerm(AtomUser); IDB_MODULE = MkAtomTerm(AtomIDB);
IDB_MODULE = MkAtomTerm(AtomIDB); ATTRIBUTES_MODULE = MkAtomTerm(AtomAttributes);
ATTRIBUTES_MODULE = MkAtomTerm(AtomAttributes); CHARSIO_MODULE = MkAtomTerm(AtomCharsio);
CHARSIO_MODULE = MkAtomTerm(AtomCharsio); CHTYPE_MODULE = MkAtomTerm(AtomChType);
CHTYPE_MODULE = MkAtomTerm(AtomChType); TERMS_MODULE = MkAtomTerm(AtomTerms);
TERMS_MODULE = MkAtomTerm(AtomTerms); SYSTEM_MODULE = MkAtomTerm(AtomSystem);
SYSTEM_MODULE = MkAtomTerm(AtomSystem); READUTIL_MODULE = MkAtomTerm(AtomReadutil);
READUTIL_MODULE = MkAtomTerm(AtomReadutil); HACKS_MODULE = MkAtomTerm(AtomYapHacks);
HACKS_MODULE = MkAtomTerm(AtomYapHacks); ARG_MODULE = MkAtomTerm(AtomArg);
ARG_MODULE = MkAtomTerm(AtomArg); GLOBALS_MODULE = MkAtomTerm(AtomNb);
GLOBALS_MODULE = MkAtomTerm(AtomNb); SWI_MODULE = MkAtomTerm(AtomSwi);
SWI_MODULE = MkAtomTerm(AtomSwi); DBLOAD_MODULE = MkAtomTerm(AtomDBLoad);
DBLOAD_MODULE = MkAtomTerm(AtomDBLoad); RANGE_MODULE = MkAtomTerm(AtomRange);
RANGE_MODULE = MkAtomTerm(AtomRange); ERROR_MODULE = MkAtomTerm(AtomError);
ERROR_MODULE = MkAtomTerm(AtomError);
CurrentModules = NULL;
CurrentModules = NULL;
Yap_InitModules();
Yap_InitModules();
HIDDEN_PREDICATES = NULL;
HIDDEN_PREDICATES = NULL;
Yap_InitPlIO(yapi);
Yap_InitPlIO(yapi); GLOBAL_Flags = 0;
GLOBAL_Flags = 0; Yap_InitFlags(true);
Yap_InitFlags(true);
Yap_ExecutionMode = INTERPRETED;
Yap_ExecutionMode = INTERPRETED;
PredsInHashTable = 0;
PredsInHashTable = 0; PredHashTableSize = 0;
PredHashTableSize = 0; InitPredHash();
InitPredHash(); #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS)
#endif
#endif
CreepCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomCreep,1),PROLOG_MODULE));
CreepCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomCreep,1),PROLOG_MODULE)); UndefCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomUndefp0,2),PROLOG_MODULE));
UndefCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomUndefp0,2),PROLOG_MODULE)); SpyCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomSpy,1),PROLOG_MODULE));
SpyCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomSpy,1),PROLOG_MODULE)); PredFail = RepPredProp(PredPropByAtom(AtomFail,PROLOG_MODULE));
PredFail = RepPredProp(PredPropByAtom(AtomFail,PROLOG_MODULE)); PredTrue = RepPredProp(PredPropByAtom(AtomTrue,PROLOG_MODULE));
PredTrue = RepPredProp(PredPropByAtom(AtomTrue,PROLOG_MODULE)); #ifdef COROUTINING
#ifdef COROUTINING WakeUpCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomWakeUpGoal,2),PROLOG_MODULE));
WakeUpCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomWakeUpGoal,2),PROLOG_MODULE)); #endif
#endif PredDollarCatch = RepPredProp(PredPropByFunc(FunctorCatch,PROLOG_MODULE));
PredDollarCatch = RepPredProp(PredPropByFunc(FunctorCatch,PROLOG_MODULE)); #ifdef YAPOR
#ifdef YAPOR PredGetwork = RepPredProp(PredPropByAtom(AtomGetwork,PROLOG_MODULE));
PredGetwork = RepPredProp(PredPropByAtom(AtomGetwork,PROLOG_MODULE)); #endif /* YAPOR */
#endif /* YAPOR */ PredGoalExpansion = RepPredProp(PredPropByFunc(FunctorGoalExpansion,USER_MODULE));
PredGoalExpansion = RepPredProp(PredPropByFunc(FunctorGoalExpansion,USER_MODULE)); PredHandleThrow = RepPredProp(PredPropByFunc(FunctorHandleThrow,PROLOG_MODULE));
PredHandleThrow = RepPredProp(PredPropByFunc(FunctorHandleThrow,PROLOG_MODULE)); PredIs = RepPredProp(PredPropByFunc(FunctorIs,PROLOG_MODULE));
PredIs = RepPredProp(PredPropByFunc(FunctorIs,PROLOG_MODULE)); PredLogUpdClause = RepPredProp(PredPropByFunc(FunctorDoLogUpdClause,PROLOG_MODULE));
PredLogUpdClause = RepPredProp(PredPropByFunc(FunctorDoLogUpdClause,PROLOG_MODULE)); PredLogUpdClauseErase = RepPredProp(PredPropByFunc(FunctorDoLogUpdClauseErase,PROLOG_MODULE));
PredLogUpdClauseErase = RepPredProp(PredPropByFunc(FunctorDoLogUpdClauseErase,PROLOG_MODULE)); PredLogUpdClause0 = RepPredProp(PredPropByFunc(FunctorDoLogUpdClause,PROLOG_MODULE));
PredLogUpdClause0 = RepPredProp(PredPropByFunc(FunctorDoLogUpdClause,PROLOG_MODULE)); PredMetaCall = RepPredProp(PredPropByFunc(FunctorMetaCall,PROLOG_MODULE));
PredMetaCall = RepPredProp(PredPropByFunc(FunctorMetaCall,PROLOG_MODULE)); PredProtectStack = RepPredProp(PredPropByFunc(FunctorProtectStack,PROLOG_MODULE));
PredProtectStack = RepPredProp(PredPropByFunc(FunctorProtectStack,PROLOG_MODULE)); PredRecordedWithKey = RepPredProp(PredPropByFunc(FunctorRecordedWithKey,PROLOG_MODULE));
PredRecordedWithKey = RepPredProp(PredPropByFunc(FunctorRecordedWithKey,PROLOG_MODULE)); PredRestoreRegs = RepPredProp(PredPropByFunc(FunctorRestoreRegs,PROLOG_MODULE));
PredRestoreRegs = RepPredProp(PredPropByFunc(FunctorRestoreRegs,PROLOG_MODULE)); PredSafeCallCleanup = RepPredProp(PredPropByFunc(FunctorSafeCallCleanup,PROLOG_MODULE));
PredSafeCallCleanup = RepPredProp(PredPropByFunc(FunctorSafeCallCleanup,PROLOG_MODULE)); PredStaticClause = RepPredProp(PredPropByFunc(FunctorDoStaticClause,PROLOG_MODULE));
PredStaticClause = RepPredProp(PredPropByFunc(FunctorDoStaticClause,PROLOG_MODULE)); PredThrow = RepPredProp(PredPropByFunc(FunctorThrow,PROLOG_MODULE));
PredThrow = RepPredProp(PredPropByFunc(FunctorThrow,PROLOG_MODULE)); PredTraceMetaCall = RepPredProp(PredPropByFunc(FunctorTraceMetaCall,PROLOG_MODULE));
PredTraceMetaCall = RepPredProp(PredPropByFunc(FunctorTraceMetaCall,PROLOG_MODULE)); PredCommentHook = RepPredProp(PredPropByFunc(FunctorCommentHook,PROLOG_MODULE));
PredCommentHook = RepPredProp(PredPropByFunc(FunctorCommentHook,PROLOG_MODULE)); PredProcedure = Yap_MkLogPred(RepPredProp(PredPropByFunc(FunctorProcedure,PROLOG_MODULE)));
PredProcedure = Yap_MkLogPred(RepPredProp(PredPropByFunc(FunctorProcedure,PROLOG_MODULE))); PredUndefinedQuery = RepPredProp(PredPropByFunc(FunctorUndefinedQuery,PROLOG_MODULE));
PredUndefinedQuery = RepPredProp(PredPropByFunc(FunctorUndefinedQuery,PROLOG_MODULE));
#ifdef LOW_LEVEL_TRACER
#ifdef LOW_LEVEL_TRACER Yap_do_low_level_trace = FALSE;
Yap_do_low_level_trace = FALSE; #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) INIT_LOCK(Yap_low_level_trace_lock);
INIT_LOCK(Yap_low_level_trace_lock); #endif
#endif #endif
#endif
Yap_ClauseSpace = 0;
Yap_ClauseSpace = 0; Yap_IndexSpace_Tree = 0;
Yap_IndexSpace_Tree = 0; Yap_IndexSpace_EXT = 0;
Yap_IndexSpace_EXT = 0; Yap_IndexSpace_SW = 0;
Yap_IndexSpace_SW = 0; Yap_LUClauseSpace = 0;
Yap_LUClauseSpace = 0; Yap_LUIndexSpace_Tree = 0;
Yap_LUIndexSpace_Tree = 0; Yap_LUIndexSpace_CP = 0;
Yap_LUIndexSpace_CP = 0; Yap_LUIndexSpace_EXT = 0;
Yap_LUIndexSpace_EXT = 0; Yap_LUIndexSpace_SW = 0;
Yap_LUIndexSpace_SW = 0;
DUMMYCODE->opc = Yap_opcode(_op_fail);
DUMMYCODE->opc = Yap_opcode(_op_fail); FAILCODE->opc = Yap_opcode(_op_fail);
FAILCODE->opc = Yap_opcode(_op_fail); NOCODE->opc = Yap_opcode(_Nstop);
NOCODE->opc = Yap_opcode(_Nstop); InitEnvInst(ENV_FOR_TRUSTFAIL,&TRUSTFAILCODE,_trust_fail,PredFail);
InitEnvInst(ENV_FOR_TRUSTFAIL,&TRUSTFAILCODE,_trust_fail,PredFail);
InitEnvInst(ENV_FOR_YESCODE,&YESCODE,_Ystop,PredFail);
InitEnvInst(ENV_FOR_YESCODE,&YESCODE,_Ystop,PredFail);
InitOtaplInst(RTRYCODE,_retry_and_mark,PredFail);
InitOtaplInst(RTRYCODE,_retry_and_mark,PredFail); #ifdef BEAM
#ifdef BEAM BEAM_RETRY_CODE->opc = Yap_opcode(_beam_retry_code);
BEAM_RETRY_CODE->opc = Yap_opcode(_beam_retry_code); #endif /* BEAM */
#endif /* BEAM */ #ifdef YAPOR
#ifdef YAPOR InitOtaplInst(GETWORK,_getwork,PredGetwork);
InitOtaplInst(GETWORK,_getwork,PredGetwork); InitOtaplInst(GETWORK_SEQ,_getwork_seq,PredGetworkSeq);
InitOtaplInst(GETWORK_SEQ,_getwork_seq,PredGetworkSeq); GETWORK_FIRST_TIME->opc = Yap_opcode(_getwork_first_time);
GETWORK_FIRST_TIME->opc = Yap_opcode(_getwork_first_time); #endif /* YAPOR */
#endif /* YAPOR */ #ifdef TABLING
#ifdef TABLING InitOtaplInst(LOAD_ANSWER,_table_load_answer,PredFail);
InitOtaplInst(LOAD_ANSWER,_table_load_answer,PredFail); InitOtaplInst(TRY_ANSWER,_table_try_answer,PredFail);
InitOtaplInst(TRY_ANSWER,_table_try_answer,PredFail); InitOtaplInst(ANSWER_RESOLUTION,_table_answer_resolution,PredFail);
InitOtaplInst(ANSWER_RESOLUTION,_table_answer_resolution,PredFail); InitOtaplInst(COMPLETION,_table_completion,PredFail);
InitOtaplInst(COMPLETION,_table_completion,PredFail); #ifdef THREADS_CONSUMER_SHARING
#ifdef THREADS_CONSUMER_SHARING InitOtaplInst(ANSWER_RESOLUTION_COMPLETION,_table_answer_resolution_completion,PredFail);
InitOtaplInst(ANSWER_RESOLUTION_COMPLETION,_table_answer_resolution_completion,PredFail); #endif /* THREADS_CONSUMER_SHARING */
#endif /* THREADS_CONSUMER_SHARING */ #endif /* TABLING */
#endif /* TABLING */
P_before_spy = NULL;
P_before_spy = NULL;
RETRY_C_RECORDEDP_CODE = NULL;
RETRY_C_RECORDEDP_CODE = NULL; RETRY_C_RECORDED_K_CODE = NULL;
RETRY_C_RECORDED_K_CODE = NULL;
PROFILING = FALSE;
PROFILING = FALSE; CALL_COUNTING = FALSE;
CALL_COUNTING = FALSE; optimizer_on = TRUE;
optimizer_on = TRUE; compile_mode = 0;
compile_mode = 0; profiling = FALSE;
profiling = FALSE; call_counting = FALSE;
call_counting = FALSE;
compile_arrays = FALSE;
compile_arrays = FALSE;
#if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) INIT_LOCK(DBTermsListLock);
INIT_LOCK(DBTermsListLock); #endif
#endif DBTermsList = NULL;
DBTermsList = NULL;
ExpandClausesFirst = NULL;
ExpandClausesFirst = NULL; ExpandClausesLast = NULL;
ExpandClausesLast = NULL; Yap_ExpandClauses = 0;
Yap_ExpandClauses = 0; #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) INIT_LOCK(ExpandClausesListLock);
INIT_LOCK(ExpandClausesListLock); INIT_LOCK(OpListLock);
INIT_LOCK(OpListLock); #endif
#endif
#ifdef DEBUG
#ifdef DEBUG Yap_NewCps = 0L;
Yap_NewCps = 0L; Yap_LiveCps = 0L;
Yap_LiveCps = 0L; Yap_DirtyCps = 0L;
Yap_DirtyCps = 0L; Yap_FreedCps = 0L;
Yap_FreedCps = 0L; #endif
#endif Yap_expand_clauses_sz = 0L;
Yap_expand_clauses_sz = 0L;
UdiControlBlocks = NULL;
UdiControlBlocks = NULL;
STATIC_PREDICATES_MARKED = FALSE;
STATIC_PREDICATES_MARKED = FALSE;
INT_KEYS = NULL;
INT_KEYS = NULL; INT_LU_KEYS = NULL;
INT_LU_KEYS = NULL; INT_BB_KEYS = NULL;
INT_BB_KEYS = NULL;
INT_KEYS_SIZE = INT_KEYS_DEFAULT_SIZE;
INT_KEYS_SIZE = INT_KEYS_DEFAULT_SIZE; INT_KEYS_TIMESTAMP = 0L;
INT_KEYS_TIMESTAMP = 0L; INT_BB_KEYS_SIZE = INT_KEYS_DEFAULT_SIZE;
INT_BB_KEYS_SIZE = INT_KEYS_DEFAULT_SIZE;
UPDATE_MODE = UPDATE_MODE_LOGICAL;
UPDATE_MODE = UPDATE_MODE_LOGICAL;
InitDBErasedMarker();
InitDBErasedMarker(); InitLogDBErasedMarker();
InitLogDBErasedMarker();
DeadStaticClauses = NULL;
DeadStaticClauses = NULL; DeadMegaClauses = NULL;
DeadMegaClauses = NULL; DeadStaticIndices = NULL;
DeadStaticIndices = NULL; DBErasedList = NULL;
DBErasedList = NULL; DBErasedIList = NULL;
DBErasedIList = NULL; #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) INIT_LOCK(DeadStaticClausesLock);
INIT_LOCK(DeadStaticClausesLock); INIT_LOCK(DeadMegaClausesLock);
INIT_LOCK(DeadMegaClausesLock); INIT_LOCK(DeadStaticIndicesLock);
INIT_LOCK(DeadStaticIndicesLock); #endif
#endif #ifdef COROUTINING
#ifdef COROUTINING
NUM_OF_ATTS = 1;
NUM_OF_ATTS = 1;
#endif
#endif
OpList = NULL;
OpList = NULL;
ForeignCodeLoaded = NULL;
ForeignCodeLoaded = NULL; ForeignCodeBase = NULL;
ForeignCodeBase = NULL; ForeignCodeTop = NULL;
ForeignCodeTop = NULL; ForeignCodeMax = NULL;
ForeignCodeMax = NULL;
Yap_Records = NULL;
Yap_Records = NULL; InitEmptyWakeups();
InitEmptyWakeups(); MaxEmptyWakeups = 0;
MaxEmptyWakeups = 0;
BlobTypes = NULL;
BlobTypes = NULL; Blobs = NULL;
Blobs = NULL; NOfBlobs = 0;
NOfBlobs = 0; NOfBlobsMax = 256;
NOfBlobsMax = 256; #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) INIT_LOCK(Blobs_Lock);
INIT_LOCK(Blobs_Lock); #endif
#endif

View File

@ -1,272 +1,272 @@
/* This file, ilocals.h, was generated automatically by "yap -L misc/buildlocalglobal" /* This file, ilocals.h, was generated automatically by "yap -L misc/buildlocalglobal"
please do not update, update H/LOCALS instead */ please do not update, update H/LOCALS instead */
static void InitWorker(int wid) { static void InitWorker(int wid) {
REMOTE_c_input_stream(wid) = 0; REMOTE_c_input_stream(wid) = 0;
REMOTE_c_output_stream(wid) = 1; REMOTE_c_output_stream(wid) = 1;
REMOTE_c_error_stream(wid) = 2; REMOTE_c_error_stream(wid) = 2;
REMOTE_sockets_io(wid) = false; REMOTE_sockets_io(wid) = false;
REMOTE_within_print_message(wid) = false; REMOTE_within_print_message(wid) = false;
REMOTE_newline(wid) = true; REMOTE_newline(wid) = true;
REMOTE_AtPrompt(wid) = AtomNil; REMOTE_AtPrompt(wid) = AtomNil;
REMOTE_encoding(wid) = Yap_DefaultEncoding(); REMOTE_encoding(wid) = Yap_DefaultEncoding();
REMOTE_quasi_quotations(wid) = false; REMOTE_quasi_quotations(wid) = false;
REMOTE_default_priority(wid) = 1200; REMOTE_default_priority(wid) = 1200;
REMOTE_eot_before_eof(wid) = false; REMOTE_eot_before_eof(wid) = false;
REMOTE_max_depth(wid) = 0; REMOTE_max_depth(wid) = 0;
REMOTE_max_list(wid) = 0; REMOTE_max_list(wid) = 0;
REMOTE_max_write_args(wid) = 0; REMOTE_max_write_args(wid) = 0;
REMOTE_OldASP(wid) = NULL; REMOTE_OldASP(wid) = NULL;
REMOTE_OldLCL0(wid) = NULL; REMOTE_OldLCL0(wid) = NULL;
REMOTE_OldTR(wid) = NULL; REMOTE_OldTR(wid) = NULL;
REMOTE_OldGlobalBase(wid) = NULL; REMOTE_OldGlobalBase(wid) = NULL;
REMOTE_OldH(wid) = NULL; REMOTE_OldH(wid) = NULL;
REMOTE_OldH0(wid) = NULL; REMOTE_OldH0(wid) = NULL;
REMOTE_OldTrailBase(wid) = NULL; REMOTE_OldTrailBase(wid) = NULL;
REMOTE_OldTrailTop(wid) = NULL; REMOTE_OldTrailTop(wid) = NULL;
REMOTE_OldHeapBase(wid) = NULL; REMOTE_OldHeapBase(wid) = NULL;
REMOTE_OldHeapTop(wid) = NULL; REMOTE_OldHeapTop(wid) = NULL;
REMOTE_ClDiff(wid) = 0L; REMOTE_ClDiff(wid) = 0L;
REMOTE_GDiff(wid) = 0L; REMOTE_GDiff(wid) = 0L;
REMOTE_HDiff(wid) = 0L; REMOTE_HDiff(wid) = 0L;
REMOTE_GDiff0(wid) = 0L; REMOTE_GDiff0(wid) = 0L;
REMOTE_GSplit(wid) = NULL; REMOTE_GSplit(wid) = NULL;
REMOTE_LDiff(wid) = 0L; REMOTE_LDiff(wid) = 0L;
REMOTE_TrDiff(wid) = 0L; REMOTE_TrDiff(wid) = 0L;
REMOTE_XDiff(wid) = 0L; REMOTE_XDiff(wid) = 0L;
REMOTE_DelayDiff(wid) = 0L; REMOTE_DelayDiff(wid) = 0L;
REMOTE_BaseDiff(wid) = 0L; REMOTE_BaseDiff(wid) = 0L;
REMOTE_ReductionsCounter(wid) = 0L; REMOTE_ReductionsCounter(wid) = 0L;
REMOTE_PredEntriesCounter(wid) = 0L; REMOTE_PredEntriesCounter(wid) = 0L;
REMOTE_RetriesCounter(wid) = 0L; REMOTE_RetriesCounter(wid) = 0L;
REMOTE_ReductionsCounterOn(wid) = 0L; REMOTE_ReductionsCounterOn(wid) = 0L;
REMOTE_PredEntriesCounterOn(wid) = 0L; REMOTE_PredEntriesCounterOn(wid) = 0L;
REMOTE_RetriesCounterOn(wid) = 0L; REMOTE_RetriesCounterOn(wid) = 0L;
REMOTE_ConsultSp(wid) = NULL; REMOTE_ConsultSp(wid) = NULL;
REMOTE_ConsultBase(wid) = NULL; REMOTE_ConsultBase(wid) = NULL;
REMOTE_ConsultLow(wid) = NULL; REMOTE_ConsultLow(wid) = NULL;
REMOTE_VarNames(wid) = ((Term)0); REMOTE_VarNames(wid) = ((Term)0);
REMOTE_SourceFileName(wid) = NULL; REMOTE_SourceFileName(wid) = NULL;
REMOTE_SourceFileLineno(wid) = 0; REMOTE_SourceFileLineno(wid) = 0;
REMOTE_GlobalArena(wid) = 0L; REMOTE_GlobalArena(wid) = 0L;
REMOTE_GlobalArenaOverflows(wid) = 0L; REMOTE_GlobalArenaOverflows(wid) = 0L;
REMOTE_ArenaOverflows(wid) = 0L; REMOTE_ArenaOverflows(wid) = 0L;
REMOTE_DepthArenas(wid) = 0; REMOTE_DepthArenas(wid) = 0;
REMOTE_LastAssertedPred(wid) = NULL; REMOTE_LastAssertedPred(wid) = NULL;
REMOTE_TmpPred(wid) = NULL; REMOTE_TmpPred(wid) = NULL;
REMOTE_ScannerStack(wid) = NULL; REMOTE_ScannerStack(wid) = NULL;
REMOTE_ScannerExtraBlocks(wid) = NULL; REMOTE_ScannerExtraBlocks(wid) = NULL;
REMOTE_CBorder(wid) = 0; REMOTE_CBorder(wid) = 0;
REMOTE_MaxActiveSignals(wid) = 64L; REMOTE_MaxActiveSignals(wid) = 64L;
REMOTE_Signals(wid) = 0L; REMOTE_Signals(wid) = 0L;
REMOTE_IPredArity(wid) = 0L; REMOTE_IPredArity(wid) = 0L;
REMOTE_ProfEnd(wid) = NULL; REMOTE_ProfEnd(wid) = NULL;
REMOTE_DoingUndefp(wid) = FALSE; REMOTE_DoingUndefp(wid) = FALSE;
REMOTE_StartCharCount(wid) = 0L; REMOTE_StartCharCount(wid) = 0L;
REMOTE_StartLineCount(wid) = 0L; REMOTE_StartLineCount(wid) = 0L;
REMOTE_StartLinePos(wid) = 0L; REMOTE_StartLinePos(wid) = 0L;
InitScratchPad(wid); InitScratchPad(wid);
#ifdef COROUTINING #ifdef COROUTINING
REMOTE_WokenGoals(wid) = 0L; REMOTE_WokenGoals(wid) = 0L;
REMOTE_AttsMutableList(wid) = 0L; REMOTE_AttsMutableList(wid) = 0L;
#endif #endif
REMOTE_GcGeneration(wid) = 0L; REMOTE_GcGeneration(wid) = 0L;
REMOTE_GcPhase(wid) = 0L; REMOTE_GcPhase(wid) = 0L;
REMOTE_GcCurrentPhase(wid) = 0L; REMOTE_GcCurrentPhase(wid) = 0L;
REMOTE_GcCalls(wid) = 0L; REMOTE_GcCalls(wid) = 0L;
REMOTE_TotGcTime(wid) = 0L; REMOTE_TotGcTime(wid) = 0L;
REMOTE_TotGcRecovered(wid) = 0L; REMOTE_TotGcRecovered(wid) = 0L;
REMOTE_LastGcTime(wid) = 0L; REMOTE_LastGcTime(wid) = 0L;
REMOTE_LastSSTime(wid) = 0L; REMOTE_LastSSTime(wid) = 0L;
REMOTE_OpenArray(wid) = NULL; REMOTE_OpenArray(wid) = NULL;
REMOTE_total_marked(wid) = 0L; REMOTE_total_marked(wid) = 0L;
REMOTE_total_oldies(wid) = 0L; REMOTE_total_oldies(wid) = 0L;
REMOTE_current_B(wid) = NULL; REMOTE_current_B(wid) = NULL;
REMOTE_prev_HB(wid) = NULL; REMOTE_prev_HB(wid) = NULL;
REMOTE_HGEN(wid) = NULL; REMOTE_HGEN(wid) = NULL;
REMOTE_iptop(wid) = NULL; REMOTE_iptop(wid) = NULL;
#if defined(GC_NO_TAGS) #if defined(GC_NO_TAGS)
REMOTE_bp(wid) = NULL; REMOTE_bp(wid) = NULL;
#endif #endif
REMOTE_sTR(wid) = NULL; REMOTE_sTR(wid) = NULL;
REMOTE_sTR0(wid) = NULL; REMOTE_sTR0(wid) = NULL;
REMOTE_new_TR(wid) = NULL; REMOTE_new_TR(wid) = NULL;
REMOTE_cont_top0(wid) = NULL; REMOTE_cont_top0(wid) = NULL;
REMOTE_cont_top(wid) = NULL; REMOTE_cont_top(wid) = NULL;
REMOTE_discard_trail_entries(wid) = 0; REMOTE_discard_trail_entries(wid) = 0;
REMOTE_gc_ma_h_top(wid) = NULL; REMOTE_gc_ma_h_top(wid) = NULL;
REMOTE_gc_ma_h_list(wid) = NULL; REMOTE_gc_ma_h_list(wid) = NULL;
REMOTE_gc_timestamp(wid) = 0L; REMOTE_gc_timestamp(wid) = 0L;
REMOTE_db_vec(wid) = NULL; REMOTE_db_vec(wid) = NULL;
REMOTE_db_vec0(wid) = NULL; REMOTE_db_vec0(wid) = NULL;
REMOTE_db_root(wid) = NULL; REMOTE_db_root(wid) = NULL;
REMOTE_db_nil(wid) = NULL; REMOTE_db_nil(wid) = NULL;
REMOTE_extra_gc_cells_size(wid) = 256; REMOTE_extra_gc_cells_size(wid) = 256;
REMOTE_DynamicArrays(wid) = NULL; REMOTE_DynamicArrays(wid) = NULL;
REMOTE_StaticArrays(wid) = NULL; REMOTE_StaticArrays(wid) = NULL;
REMOTE_GlobalVariables(wid) = NULL; REMOTE_GlobalVariables(wid) = NULL;
REMOTE_AllowRestart(wid) = FALSE; REMOTE_AllowRestart(wid) = FALSE;
REMOTE_CMemFirstBlock(wid) = NULL; REMOTE_CMemFirstBlock(wid) = NULL;
REMOTE_CMemFirstBlockSz(wid) = 0L; REMOTE_CMemFirstBlockSz(wid) = 0L;
REMOTE_nperm(wid) = 0; REMOTE_nperm(wid) = 0;
REMOTE_jMP(wid) = 0; REMOTE_jMP(wid) = 0;
REMOTE_LabelFirstArray(wid) = NULL; REMOTE_LabelFirstArray(wid) = NULL;
REMOTE_LabelFirstArraySz(wid) = 0L; REMOTE_LabelFirstArraySz(wid) = 0L;
#ifdef THREADS #ifdef THREADS
InitThreadHandle(wid); InitThreadHandle(wid);
#endif /* THREADS */ #endif /* THREADS */
#if defined(YAPOR) || defined(TABLING) #if defined(YAPOR) || defined(TABLING)
Yap_init_local_optyap_data(wid); Yap_init_local_optyap_data(wid);
REMOTE_TabMode(wid) = 0L; REMOTE_TabMode(wid) = 0L;
#endif /* YAPOR || TABLING */ #endif /* YAPOR || TABLING */
REMOTE_InterruptsDisabled(wid) = FALSE; REMOTE_InterruptsDisabled(wid) = FALSE;
REMOTE_execution(wid) = NULL; REMOTE_execution(wid) = NULL;
#if LOW_LEVEL_TRACER #if LOW_LEVEL_TRACER
REMOTE_total_choicepoints(wid) = 0; REMOTE_total_choicepoints(wid) = 0;
#endif #endif
REMOTE_consult_level(wid) = 0; REMOTE_consult_level(wid) = 0;
REMOTE_ActiveError(wid) = calloc(sizeof(yap_error_descriptor_t),1); REMOTE_ActiveError(wid) = calloc(sizeof(yap_error_descriptor_t),1);
REMOTE_TextBuffer(wid) = Yap_InitTextAllocator(); REMOTE_TextBuffer(wid) = Yap_InitTextAllocator();
REMOTE_BreakLevel(wid) = 0; REMOTE_BreakLevel(wid) = 0;
REMOTE_PrologMode(wid) = BootMode; REMOTE_PrologMode(wid) = BootMode;
REMOTE_CritLocks(wid) = 0; REMOTE_CritLocks(wid) = 0;
#ifdef ANALYST #ifdef ANALYST
#endif /* ANALYST */ #endif /* ANALYST */
REMOTE_mathstring(wid) = NULL; REMOTE_mathstring(wid) = NULL;
REMOTE_heap_overflows(wid) = 0; REMOTE_heap_overflows(wid) = 0;
REMOTE_total_heap_overflow_time(wid) = 0; REMOTE_total_heap_overflow_time(wid) = 0;
REMOTE_stack_overflows(wid) = 0; REMOTE_stack_overflows(wid) = 0;
REMOTE_total_stack_overflow_time(wid) = 0; REMOTE_total_stack_overflow_time(wid) = 0;
REMOTE_delay_overflows(wid) = 0; REMOTE_delay_overflows(wid) = 0;
REMOTE_total_delay_overflow_time(wid) = 0; REMOTE_total_delay_overflow_time(wid) = 0;
REMOTE_trail_overflows(wid) = 0; REMOTE_trail_overflows(wid) = 0;
REMOTE_total_trail_overflow_time(wid) = 0; REMOTE_total_trail_overflow_time(wid) = 0;
REMOTE_atom_table_overflows(wid) = 0; REMOTE_atom_table_overflows(wid) = 0;
REMOTE_total_atom_table_overflow_time(wid) = 0; REMOTE_total_atom_table_overflow_time(wid) = 0;
#ifdef LOAD_DYLD #ifdef LOAD_DYLD
REMOTE_dl_errno(wid) = 0; REMOTE_dl_errno(wid) = 0;
#endif #endif
#ifdef LOW_LEVEL_TRACER #ifdef LOW_LEVEL_TRACER
REMOTE_do_trace_primitives(wid) = TRUE; REMOTE_do_trace_primitives(wid) = TRUE;
#endif #endif
REMOTE_ExportAtomHashChain(wid) = NULL; REMOTE_ExportAtomHashChain(wid) = NULL;
REMOTE_ExportAtomHashTableSize(wid) = 0; REMOTE_ExportAtomHashTableSize(wid) = 0;
REMOTE_ExportAtomHashTableNum(wid) = 0; REMOTE_ExportAtomHashTableNum(wid) = 0;
REMOTE_ExportFunctorHashChain(wid) = NULL; REMOTE_ExportFunctorHashChain(wid) = NULL;
REMOTE_ExportFunctorHashTableSize(wid) = 0; REMOTE_ExportFunctorHashTableSize(wid) = 0;
REMOTE_ExportFunctorHashTableNum(wid) = 0; REMOTE_ExportFunctorHashTableNum(wid) = 0;
REMOTE_ExportPredEntryHashChain(wid) = NULL; REMOTE_ExportPredEntryHashChain(wid) = NULL;
REMOTE_ExportPredEntryHashTableSize(wid) = 0; REMOTE_ExportPredEntryHashTableSize(wid) = 0;
REMOTE_ExportPredEntryHashTableNum(wid) = 0; REMOTE_ExportPredEntryHashTableNum(wid) = 0;
REMOTE_ExportDBRefHashChain(wid) = NULL; REMOTE_ExportDBRefHashChain(wid) = NULL;
REMOTE_ExportDBRefHashTableSize(wid) = 0; REMOTE_ExportDBRefHashTableSize(wid) = 0;
REMOTE_ExportDBRefHashTableNum(wid) = 0; REMOTE_ExportDBRefHashTableNum(wid) = 0;
REMOTE_ImportAtomHashChain(wid) = NULL; REMOTE_ImportAtomHashChain(wid) = NULL;
REMOTE_ImportAtomHashTableSize(wid) = 0; REMOTE_ImportAtomHashTableSize(wid) = 0;
REMOTE_ImportAtomHashTableNum(wid) = 0; REMOTE_ImportAtomHashTableNum(wid) = 0;
REMOTE_ImportFunctorHashChain(wid) = NULL; REMOTE_ImportFunctorHashChain(wid) = NULL;
REMOTE_ImportFunctorHashTableSize(wid) = 0; REMOTE_ImportFunctorHashTableSize(wid) = 0;
REMOTE_ImportFunctorHashTableNum(wid) = 0; REMOTE_ImportFunctorHashTableNum(wid) = 0;
REMOTE_ImportOPCODEHashChain(wid) = NULL; REMOTE_ImportOPCODEHashChain(wid) = NULL;
REMOTE_ImportOPCODEHashTableSize(wid) = 0; REMOTE_ImportOPCODEHashTableSize(wid) = 0;
REMOTE_ImportPredEntryHashChain(wid) = NULL; REMOTE_ImportPredEntryHashChain(wid) = NULL;
REMOTE_ImportPredEntryHashTableSize(wid) = 0; REMOTE_ImportPredEntryHashTableSize(wid) = 0;
REMOTE_ImportPredEntryHashTableNum(wid) = 0; REMOTE_ImportPredEntryHashTableNum(wid) = 0;
REMOTE_ImportDBRefHashChain(wid) = NULL; REMOTE_ImportDBRefHashChain(wid) = NULL;
REMOTE_ImportDBRefHashTableSize(wid) = 0; REMOTE_ImportDBRefHashTableSize(wid) = 0;
REMOTE_ImportDBRefHashTableNum(wid) = 0; REMOTE_ImportDBRefHashTableNum(wid) = 0;
REMOTE_ImportFAILCODE(wid) = NULL; REMOTE_ImportFAILCODE(wid) = NULL;
REMOTE_exo_it(wid) = NULL; REMOTE_exo_it(wid) = NULL;
REMOTE_exo_base(wid) = NULL; REMOTE_exo_base(wid) = NULL;
REMOTE_exo_arity(wid) = 0; REMOTE_exo_arity(wid) = 0;
REMOTE_exo_arg(wid) = 0; REMOTE_exo_arg(wid) = 0;
REMOTE_CurSlot(wid) = 0; REMOTE_CurSlot(wid) = 0;
REMOTE_FrozenHandles(wid) = 0; REMOTE_FrozenHandles(wid) = 0;
REMOTE_NSlots(wid) = 0; REMOTE_NSlots(wid) = 0;
REMOTE_SlotBase(wid) = InitHandles(wid); REMOTE_SlotBase(wid) = InitHandles(wid);
REMOTE_Mutexes(wid) = NULL; REMOTE_Mutexes(wid) = NULL;
REMOTE_SourceModule(wid) = 0; REMOTE_SourceModule(wid) = 0;
REMOTE_Including(wid) = TermNil; REMOTE_Including(wid) = TermNil;
REMOTE_MAX_SIZE(wid) = 1024L; REMOTE_MAX_SIZE(wid) = 1024L;
REMOTE_LastWTime(wid) = 0; REMOTE_LastWTime(wid) = 0;
REMOTE_shared(wid) = NULL; REMOTE_shared(wid) = NULL;
} }

View File

@ -1,292 +1,291 @@
/* This file, rhstruct.h, was generated automatically by "yap -L misc/buildlocalglobal" /* This file, rhstruct.h, was generated automatically by "yap -L misc/buildlocalglobal"
please do not update, update H/HEAPFIELDS instead */ please do not update, update H/HEAPFIELDS instead */
#if USE_DL_MALLOC #if USE_DL_MALLOC
#if defined(YAPOR) || defined(THREADS) #if defined(YAPOR) || defined(THREADS)
REINIT_LOCK(DLMallocLock); REINIT_LOCK(DLMallocLock);
#endif #endif
#endif #endif
#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO) #if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
#ifndef HeapUsed #ifndef HeapUsed
#define HeapUsed Yap_givemallinfo() #define HeapUsed Yap_givemallinfo()
#endif #endif
#else #else
#endif #endif
#if defined(YAPOR) || defined(THREADS) #if defined(YAPOR) || defined(THREADS)
REINIT_LOCK(FreeBlocksLock); REINIT_LOCK(FreeBlocksLock);
REINIT_LOCK(HeapUsedLock); REINIT_LOCK(HeapUsedLock);
REINIT_LOCK(HeapTopLock); REINIT_LOCK(HeapTopLock);
#endif #endif
#if USE_THREADED_CODE #if USE_THREADED_CODE
OP_RTABLE = OpRTableAdjust(OP_RTABLE); OP_RTABLE = OpRTableAdjust(OP_RTABLE);
#endif #endif
EXECUTE_CPRED_OP_CODE = Yap_opcode(_execute_cpred); EXECUTE_CPRED_OP_CODE = Yap_opcode(_execute_cpred);
EXPAND_OP_CODE = Yap_opcode(_expand_index); EXPAND_OP_CODE = Yap_opcode(_expand_index);
FAIL_OPCODE = Yap_opcode(_op_fail); FAIL_OPCODE = Yap_opcode(_op_fail);
INDEX_OPCODE = Yap_opcode(_index_pred); INDEX_OPCODE = Yap_opcode(_index_pred);
LOCKPRED_OPCODE = Yap_opcode(_lock_pred); LOCKPRED_OPCODE = Yap_opcode(_lock_pred);
ORLAST_OPCODE = Yap_opcode(_or_last); ORLAST_OPCODE = Yap_opcode(_or_last);
UNDEF_OPCODE = Yap_opcode(_undef_p); UNDEF_OPCODE = Yap_opcode(_undef_p);
RETRY_USERC_OPCODE = Yap_opcode(_retry_userc); RETRY_USERC_OPCODE = Yap_opcode(_retry_userc);
EXECUTE_CPRED_OPCODE = Yap_opcode(_execute_cpred); EXECUTE_CPRED_OPCODE = Yap_opcode(_execute_cpred);
RestoreInvisibleAtoms(); RestoreInvisibleAtoms();
RestoreWideAtoms(); RestoreWideAtoms();
RestoreAtoms(); RestoreAtoms();
#include "ratoms.h" #include "ratoms.h"
#ifdef EUROTRA #ifdef EUROTRA
TermDollarU = AtomTermAdjust(TermDollarU); TermDollarU = AtomTermAdjust(TermDollarU);
#endif #endif
TermAnswer = AtomTermAdjust(TermAnswer);
USER_MODULE = AtomTermAdjust(USER_MODULE);
USER_MODULE = AtomTermAdjust(USER_MODULE); IDB_MODULE = AtomTermAdjust(IDB_MODULE);
IDB_MODULE = AtomTermAdjust(IDB_MODULE); ATTRIBUTES_MODULE = AtomTermAdjust(ATTRIBUTES_MODULE);
ATTRIBUTES_MODULE = AtomTermAdjust(ATTRIBUTES_MODULE); CHARSIO_MODULE = AtomTermAdjust(CHARSIO_MODULE);
CHARSIO_MODULE = AtomTermAdjust(CHARSIO_MODULE); CHTYPE_MODULE = AtomTermAdjust(CHTYPE_MODULE);
CHTYPE_MODULE = AtomTermAdjust(CHTYPE_MODULE); TERMS_MODULE = AtomTermAdjust(TERMS_MODULE);
TERMS_MODULE = AtomTermAdjust(TERMS_MODULE); SYSTEM_MODULE = AtomTermAdjust(SYSTEM_MODULE);
SYSTEM_MODULE = AtomTermAdjust(SYSTEM_MODULE); READUTIL_MODULE = AtomTermAdjust(READUTIL_MODULE);
READUTIL_MODULE = AtomTermAdjust(READUTIL_MODULE); HACKS_MODULE = AtomTermAdjust(HACKS_MODULE);
HACKS_MODULE = AtomTermAdjust(HACKS_MODULE); ARG_MODULE = AtomTermAdjust(ARG_MODULE);
ARG_MODULE = AtomTermAdjust(ARG_MODULE); GLOBALS_MODULE = AtomTermAdjust(GLOBALS_MODULE);
GLOBALS_MODULE = AtomTermAdjust(GLOBALS_MODULE); SWI_MODULE = AtomTermAdjust(SWI_MODULE);
SWI_MODULE = AtomTermAdjust(SWI_MODULE); DBLOAD_MODULE = AtomTermAdjust(DBLOAD_MODULE);
DBLOAD_MODULE = AtomTermAdjust(DBLOAD_MODULE); RANGE_MODULE = AtomTermAdjust(RANGE_MODULE);
RANGE_MODULE = AtomTermAdjust(RANGE_MODULE); ERROR_MODULE = AtomTermAdjust(ERROR_MODULE);
ERROR_MODULE = AtomTermAdjust(ERROR_MODULE);
CurrentModules = ModEntryPtrAdjust(CurrentModules);
CurrentModules = ModEntryPtrAdjust(CurrentModules);
RestoreHiddenPredicates();
RestoreHiddenPredicates();
RestoreFlags(GLOBAL_flagCount);
RestoreFlags(GLOBAL_flagCount);
RestorePredHash();
RestorePredHash(); #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS)
#endif
#endif
CreepCode = PtoPredAdjust(CreepCode);
CreepCode = PtoPredAdjust(CreepCode); UndefCode = PtoPredAdjust(UndefCode);
UndefCode = PtoPredAdjust(UndefCode); SpyCode = PtoPredAdjust(SpyCode);
SpyCode = PtoPredAdjust(SpyCode); PredFail = PtoPredAdjust(PredFail);
PredFail = PtoPredAdjust(PredFail); PredTrue = PtoPredAdjust(PredTrue);
PredTrue = PtoPredAdjust(PredTrue); #ifdef COROUTINING
#ifdef COROUTINING WakeUpCode = PtoPredAdjust(WakeUpCode);
WakeUpCode = PtoPredAdjust(WakeUpCode); #endif
#endif PredDollarCatch = PtoPredAdjust(PredDollarCatch);
PredDollarCatch = PtoPredAdjust(PredDollarCatch); #ifdef YAPOR
#ifdef YAPOR PredGetwork = PtoPredAdjust(PredGetwork);
PredGetwork = PtoPredAdjust(PredGetwork); #endif /* YAPOR */
#endif /* YAPOR */ PredGoalExpansion = PtoPredAdjust(PredGoalExpansion);
PredGoalExpansion = PtoPredAdjust(PredGoalExpansion); PredHandleThrow = PtoPredAdjust(PredHandleThrow);
PredHandleThrow = PtoPredAdjust(PredHandleThrow); PredIs = PtoPredAdjust(PredIs);
PredIs = PtoPredAdjust(PredIs); PredLogUpdClause = PtoPredAdjust(PredLogUpdClause);
PredLogUpdClause = PtoPredAdjust(PredLogUpdClause); PredLogUpdClauseErase = PtoPredAdjust(PredLogUpdClauseErase);
PredLogUpdClauseErase = PtoPredAdjust(PredLogUpdClauseErase); PredLogUpdClause0 = PtoPredAdjust(PredLogUpdClause0);
PredLogUpdClause0 = PtoPredAdjust(PredLogUpdClause0); PredMetaCall = PtoPredAdjust(PredMetaCall);
PredMetaCall = PtoPredAdjust(PredMetaCall); PredProtectStack = PtoPredAdjust(PredProtectStack);
PredProtectStack = PtoPredAdjust(PredProtectStack); PredRecordedWithKey = PtoPredAdjust(PredRecordedWithKey);
PredRecordedWithKey = PtoPredAdjust(PredRecordedWithKey); PredRestoreRegs = PtoPredAdjust(PredRestoreRegs);
PredRestoreRegs = PtoPredAdjust(PredRestoreRegs); PredSafeCallCleanup = PtoPredAdjust(PredSafeCallCleanup);
PredSafeCallCleanup = PtoPredAdjust(PredSafeCallCleanup); PredStaticClause = PtoPredAdjust(PredStaticClause);
PredStaticClause = PtoPredAdjust(PredStaticClause); PredThrow = PtoPredAdjust(PredThrow);
PredThrow = PtoPredAdjust(PredThrow); PredTraceMetaCall = PtoPredAdjust(PredTraceMetaCall);
PredTraceMetaCall = PtoPredAdjust(PredTraceMetaCall); PredCommentHook = PtoPredAdjust(PredCommentHook);
PredCommentHook = PtoPredAdjust(PredCommentHook); PredProcedure = PtoPredAdjust(PredProcedure);
PredProcedure = PtoPredAdjust(PredProcedure); PredUndefinedQuery = PtoPredAdjust(PredUndefinedQuery);
PredUndefinedQuery = PtoPredAdjust(PredUndefinedQuery);
#ifdef LOW_LEVEL_TRACER
#ifdef LOW_LEVEL_TRACER
#if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) REINIT_LOCK(Yap_low_level_trace_lock);
REINIT_LOCK(Yap_low_level_trace_lock); #endif
#endif #endif
#endif
DUMMYCODE->opc = Yap_opcode(_op_fail);
DUMMYCODE->opc = Yap_opcode(_op_fail); FAILCODE->opc = Yap_opcode(_op_fail);
FAILCODE->opc = Yap_opcode(_op_fail); NOCODE->opc = Yap_opcode(_Nstop);
NOCODE->opc = Yap_opcode(_Nstop); RestoreEnvInst(ENV_FOR_TRUSTFAIL,&TRUSTFAILCODE,_trust_fail,PredFail);
RestoreEnvInst(ENV_FOR_TRUSTFAIL,&TRUSTFAILCODE,_trust_fail,PredFail);
RestoreEnvInst(ENV_FOR_YESCODE,&YESCODE,_Ystop,PredFail);
RestoreEnvInst(ENV_FOR_YESCODE,&YESCODE,_Ystop,PredFail);
RestoreOtaplInst(RTRYCODE,_retry_and_mark,PredFail);
RestoreOtaplInst(RTRYCODE,_retry_and_mark,PredFail); #ifdef BEAM
#ifdef BEAM BEAM_RETRY_CODE->opc = Yap_opcode(_beam_retry_code);
BEAM_RETRY_CODE->opc = Yap_opcode(_beam_retry_code); #endif /* BEAM */
#endif /* BEAM */ #ifdef YAPOR
#ifdef YAPOR RestoreOtaplInst(GETWORK,_getwork,PredGetwork);
RestoreOtaplInst(GETWORK,_getwork,PredGetwork); RestoreOtaplInst(GETWORK_SEQ,_getwork_seq,PredGetworkSeq);
RestoreOtaplInst(GETWORK_SEQ,_getwork_seq,PredGetworkSeq); GETWORK_FIRST_TIME->opc = Yap_opcode(_getwork_first_time);
GETWORK_FIRST_TIME->opc = Yap_opcode(_getwork_first_time); #endif /* YAPOR */
#endif /* YAPOR */ #ifdef TABLING
#ifdef TABLING RestoreOtaplInst(LOAD_ANSWER,_table_load_answer,PredFail);
RestoreOtaplInst(LOAD_ANSWER,_table_load_answer,PredFail); RestoreOtaplInst(TRY_ANSWER,_table_try_answer,PredFail);
RestoreOtaplInst(TRY_ANSWER,_table_try_answer,PredFail); RestoreOtaplInst(ANSWER_RESOLUTION,_table_answer_resolution,PredFail);
RestoreOtaplInst(ANSWER_RESOLUTION,_table_answer_resolution,PredFail); RestoreOtaplInst(COMPLETION,_table_completion,PredFail);
RestoreOtaplInst(COMPLETION,_table_completion,PredFail); #ifdef THREADS_CONSUMER_SHARING
#ifdef THREADS_CONSUMER_SHARING RestoreOtaplInst(ANSWER_RESOLUTION_COMPLETION,_table_answer_resolution_completion,PredFail);
RestoreOtaplInst(ANSWER_RESOLUTION_COMPLETION,_table_answer_resolution_completion,PredFail); #endif /* THREADS_CONSUMER_SHARING */
#endif /* THREADS_CONSUMER_SHARING */ #endif /* TABLING */
#endif /* TABLING */
P_before_spy = PtoOpAdjust(P_before_spy);
P_before_spy = PtoOpAdjust(P_before_spy);
RETRY_C_RECORDEDP_CODE = PtoOpAdjust(RETRY_C_RECORDEDP_CODE);
RETRY_C_RECORDEDP_CODE = PtoOpAdjust(RETRY_C_RECORDEDP_CODE); RETRY_C_RECORDED_K_CODE = PtoOpAdjust(RETRY_C_RECORDED_K_CODE);
RETRY_C_RECORDED_K_CODE = PtoOpAdjust(RETRY_C_RECORDED_K_CODE);
#if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) REINIT_LOCK(DBTermsListLock);
REINIT_LOCK(DBTermsListLock); #endif
#endif RestoreDBTermsList();
RestoreDBTermsList();
RestoreExpandList();
RestoreExpandList();
#if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) REINIT_LOCK(ExpandClausesListLock);
REINIT_LOCK(ExpandClausesListLock); REINIT_LOCK(OpListLock);
REINIT_LOCK(OpListLock); #endif
#endif
#ifdef DEBUG
#ifdef DEBUG
#endif
#endif
RestoreUdiControlBlocks();
RestoreUdiControlBlocks();
RestoreIntKeys();
RestoreIntKeys(); RestoreIntLUKeys();
RestoreIntLUKeys(); RestoreIntBBKeys();
RestoreIntBBKeys();
RestoreDBErasedMarker();
RestoreDBErasedMarker(); RestoreLogDBErasedMarker();
RestoreLogDBErasedMarker();
RestoreDeadStaticClauses();
RestoreDeadStaticClauses(); RestoreDeadMegaClauses();
RestoreDeadMegaClauses(); RestoreDeadStaticIndices();
RestoreDeadStaticIndices(); RestoreDBErasedList();
RestoreDBErasedList(); RestoreDBErasedIList();
RestoreDBErasedIList(); #if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) REINIT_LOCK(DeadStaticClausesLock);
REINIT_LOCK(DeadStaticClausesLock); REINIT_LOCK(DeadMegaClausesLock);
REINIT_LOCK(DeadMegaClausesLock); REINIT_LOCK(DeadStaticIndicesLock);
REINIT_LOCK(DeadStaticIndicesLock); #endif
#endif #ifdef COROUTINING
#ifdef COROUTINING
#endif
#endif
OpList = OpListAdjust(OpList);
OpList = OpListAdjust(OpList);
RestoreForeignCode();
RestoreForeignCode();
RestoreYapRecords();
RestoreYapRecords(); RestoreEmptyWakeups();
RestoreEmptyWakeups();
RestoreBlobTypes();
RestoreBlobTypes(); RestoreBlobs();
RestoreBlobs();
#if defined(YAPOR) || defined(THREADS)
#if defined(YAPOR) || defined(THREADS) REINIT_LOCK(Blobs_Lock);
REINIT_LOCK(Blobs_Lock); #endif
#endif

View File

@ -1,272 +1,272 @@
/* This file, rlocals.h, was generated automatically by "yap -L misc/buildlocalglobal" /* This file, rlocals.h, was generated automatically by "yap -L misc/buildlocalglobal"
please do not update, update H/LOCALS instead */ please do not update, update H/LOCALS instead */
static void RestoreWorker(int wid USES_REGS) { static void RestoreWorker(int wid USES_REGS) {
REMOTE_GlobalArena(wid) = TermToGlobalOrAtomAdjust(REMOTE_GlobalArena(wid)); REMOTE_GlobalArena(wid) = TermToGlobalOrAtomAdjust(REMOTE_GlobalArena(wid));
#ifdef COROUTINING #ifdef COROUTINING
REMOTE_WokenGoals(wid) = TermToGlobalAdjust(REMOTE_WokenGoals(wid)); REMOTE_WokenGoals(wid) = TermToGlobalAdjust(REMOTE_WokenGoals(wid));
REMOTE_AttsMutableList(wid) = TermToGlobalAdjust(REMOTE_AttsMutableList(wid)); REMOTE_AttsMutableList(wid) = TermToGlobalAdjust(REMOTE_AttsMutableList(wid));
#endif #endif
REMOTE_GcGeneration(wid) = TermToGlobalAdjust(REMOTE_GcGeneration(wid)); REMOTE_GcGeneration(wid) = TermToGlobalAdjust(REMOTE_GcGeneration(wid));
REMOTE_GcPhase(wid) = TermToGlobalAdjust(REMOTE_GcPhase(wid)); REMOTE_GcPhase(wid) = TermToGlobalAdjust(REMOTE_GcPhase(wid));
#if defined(GC_NO_TAGS) #if defined(GC_NO_TAGS)
#endif #endif
REMOTE_DynamicArrays(wid) = PtoArrayEAdjust(REMOTE_DynamicArrays(wid)); REMOTE_DynamicArrays(wid) = PtoArrayEAdjust(REMOTE_DynamicArrays(wid));
REMOTE_StaticArrays(wid) = PtoArraySAdjust(REMOTE_StaticArrays(wid)); REMOTE_StaticArrays(wid) = PtoArraySAdjust(REMOTE_StaticArrays(wid));
REMOTE_GlobalVariables(wid) = PtoGlobalEAdjust(REMOTE_GlobalVariables(wid)); REMOTE_GlobalVariables(wid) = PtoGlobalEAdjust(REMOTE_GlobalVariables(wid));
#ifdef THREADS #ifdef THREADS
#endif /* THREADS */ #endif /* THREADS */
#if defined(YAPOR) || defined(TABLING) #if defined(YAPOR) || defined(TABLING)
#endif /* YAPOR || TABLING */ #endif /* YAPOR || TABLING */
#if LOW_LEVEL_TRACER #if LOW_LEVEL_TRACER
#endif #endif
#ifdef ANALYST #ifdef ANALYST
#endif /* ANALYST */ #endif /* ANALYST */
#ifdef LOAD_DYLD #ifdef LOAD_DYLD
#endif #endif
#ifdef LOW_LEVEL_TRACER #ifdef LOW_LEVEL_TRACER
#endif #endif
} }

View File

@ -1,6 +1,16 @@
set (Python_ADDITIONAL_VERSIONS 3.7 3.6 3.5 3.6 3.4 ) set (Python_ADDITIONAL_VERSIONS 3.7 3.6 3.5 3.6 3.4 )
set (PythonInterp_FIND_VERSION 3)
find_package(PythonInterp) find_package(PythonInterp)
get_filename_component( d ${PYTHON_EXECUTABLE} DIRECTORY )
get_filename_component( s ${PYTHON_EXECUTABLE} EXT )
get_filename_component( n ${PYTHON_EXECUTABLE} NAME_WE )
set( o ${d}/${n}3${s} )
if (EXISTS o)
set (PYTHON_EXECUTABLE ${o})
endif()
find_package(PythonLibs) find_package(PythonLibs)
@ -29,6 +39,7 @@ ENDIF()
if (PYTHONLIBS_FOUND AND SWIG_FOUND) if (PYTHONLIBS_FOUND AND SWIG_FOUND)
add_subdirectory(packages/python/swig) add_subdirectory(packages/python/swig)
include(FindPythonModule) include(FindPythonModule)
find_python_module( jupyter ) find_python_module( jupyter )

View File

@ -2052,24 +2052,5 @@ calls it, or to nothing if 'inline' is not supported under any name. */
#endif #endif
#endif #endif
/**
* X_API macro
*
* @brief Linux exports all symbols by default, but WIN32 does
* not. cmake can enable exports, using CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
*
* @param _WIN32
*
* @return
*/
#if _WIN32 && !defined(YAP_KERNEL)
#define X_API __declspec(dllimport)
#else
#define X_API
#endif
#define O_API
#endif #endif

View File

@ -81,7 +81,7 @@ typedef struct vfs {
/// in this space, usual w,r,a,b flags plus B (store in a buffer) /// in this space, usual w,r,a,b flags plus B (store in a buffer)
bool (*close)(int sno); /// close the object bool (*close)(int sno); /// close the object
int (*get_char)(int sno); /// get an octet to the stream int (*get_char)(int sno); /// get an octet to the stream
int (*put_char)(int sno, wchar_t ch); /// output an octet to the stream int (*put_char)(int sno, int ch); /// output an octet to the stream
void (*flush)(int sno); /// flush a stream void (*flush)(int sno); /// flush a stream
int64_t (*seek)(int sno, int64_t offset, int64_t (*seek)(int sno, int64_t offset,
int whence); /// jump around the stream int whence); /// jump around the stream

View File

@ -18,6 +18,36 @@
#define _YAPDEFS_H 1 #define _YAPDEFS_H 1
/**
* X_API macro
*
* @brief Linux exports all symbols by default, but WIN32 does
* not. cmake can enable exports, using CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
*
* @param _WIN32
*
* @return
*/
#if _WIN32
#if defined(_EXPORT_KERNEL)
// __declspec(dllexport)
#define X_API
#else
// __declspec(dllimport)
#define X_API
#endif
// __declspec(dllexport)
#define O_API
// __declspec(dllimport)
#define I_API
#else
#define O_API
#define I_API
#define X_API
#endif
#include <setjmp.h> #include <setjmp.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>

View File

@ -22,6 +22,7 @@
* @addtogroup swi-c-interface * @addtogroup swi-c-interface
* *
*/ */
#define _EXPORT_KERNEL 1
#include <Yap.h> #include <Yap.h>
#include <Yatom.h> #include <Yatom.h>
@ -44,7 +45,7 @@
static PL_blob_t unregistered_blob_atom = { static PL_blob_t unregistered_blob_atom = {
PL_BLOB_MAGIC, PL_BLOB_NOCOPY | PL_BLOB_TEXT, "unregistered"}; PL_BLOB_MAGIC, PL_BLOB_NOCOPY | PL_BLOB_TEXT, "unregistered"};
int PL_is_blob(term_t t, PL_blob_t **type) { X_API int PL_is_blob(term_t t, PL_blob_t **type) {
CACHE_REGS CACHE_REGS
Term yt = Yap_GetFromSlot(t); Term yt = Yap_GetFromSlot(t);
Atom a; Atom a;

View File

@ -20,6 +20,7 @@ Moyle. All rights reserved.
*/ */
#define PL_KERNEL 1 #define PL_KERNEL 1
#define _EXPORT_KERNEL 1
//=== includes =============================================================== //=== includes ===============================================================
#include <assert.h> #include <assert.h>

View File

@ -1858,8 +1858,8 @@ void Yap_InitPlIO(struct yap_boot_params *argi) {
Yap_stdout = fdopen(argi->out-1, "a"); Yap_stdout = fdopen(argi->out-1, "a");
else if (argi->out) else if (argi->out)
Yap_stdout = NULL; Yap_stdout = NULL;
else else
Yap_stdout = stdout; Yap_stdout = stdout;
if (argi->err >0 ) if (argi->err >0 )
Yap_stderr = fdopen(argi->err-1, "a"); Yap_stderr = fdopen(argi->err-1, "a");
else if (argi->out) else if (argi->out)

View File

@ -7,7 +7,10 @@ set (PYTHON_HEADERS python.h)
set (CMAKE_POSITION_INDEPENDENT_CODE TRUE) set (CMAKE_POSITION_INDEPENDENT_CODE TRUE)
add_library (YAPPython SHARED ${PYTHON_SOURCES}) add_library (YAPPython0 OBJECT ${PYTHON_SOURCES})
if (WIN32)
add_library (YAPPython SHARED pyload.c )
endif()
# arithmetic hassle. # arithmetic hassle.
set_property(TARGET YAPPython PROPERTY CXX_STANDARD 11) set_property(TARGET YAPPython PROPERTY CXX_STANDARD 11)

View File

@ -1,5 +1,5 @@
#include "python.h" #include "py4yap.h"
static foreign_t array_to_python_list(term_t addr, term_t type, term_t szt, static foreign_t array_to_python_list(term_t addr, term_t type, term_t szt,
term_t py) { term_t py) {

View File

@ -1,6 +1,6 @@
#include "python.h" #include "py4yap.h"
extern PyObject *py_Local, *py_Global; extern PyObject *py_Local, *py_Global;

View File

@ -1,5 +1,5 @@
#include "python.h" #include "py4yap.h"
static foreign_t repr_term(PyObject *pVal, term_t t) { static foreign_t repr_term(PyObject *pVal, term_t t) {
term_t to = PL_new_term_ref(), t1 = PL_new_term_ref(); term_t to = PL_new_term_ref(), t1 = PL_new_term_ref();

View File

@ -23,6 +23,12 @@
#define EXTRA_MESSSAGES 1 #define EXTRA_MESSSAGES 1
#ifndef PYTHON_H #ifndef PYTHON_H
#define X_API
#define I_API
#define O_API
#define PYTHON_H 1 #define PYTHON_H 1
PyObject *find_obj(PyObject *ob, term_t lhs, bool eval); PyObject *find_obj(PyObject *ob, term_t lhs, bool eval);

View File

@ -1,4 +1,4 @@
#include "python.h" #include "py4yap.h"
/** /**
* *
@ -700,6 +700,7 @@ static PyObject *structseq_repr(PyObject *iobj) {
} }
#endif #endif
PyObject *term_to_nametuple(const char *s, arity_t arity, PyObject *tuple) { PyObject *term_to_nametuple(const char *s, arity_t arity, PyObject *tuple) {
PyObject *o; PyObject *o;
#if PY_MAJOR_VERSION >= 3 #if PY_MAJOR_VERSION >= 3
@ -722,7 +723,7 @@ PyObject *term_to_nametuple(const char *s, arity_t arity, PyObject *tuple) {
return NULL; return NULL;
typp->tp_flags &= ~Py_TPFLAGS_HEAPTYPE; typp->tp_flags &= ~Py_TPFLAGS_HEAPTYPE;
// typp->tp_str = structseq_str; // typp->tp_str = structseq_str;
// typp->tp_repr = structseq_repr; typp->tp_repr = structseq_repr;
// typp = PyStructSequence_NewType(desc); // typp = PyStructSequence_NewType(desc);
// don't do this: we cannot add a type as an atribute. // don't do this: we cannot add a type as an atribute.
//PyModule_AddObject(py_Main, s, (PyObject *)typp); //PyModule_AddObject(py_Main, s, (PyObject *)typp);

27
packages/python/pyload.c Normal file
View File

@ -0,0 +1,27 @@
#include "py4yap.h"
X_API bool init_python(void) {
return true;
}
#ifdef _WIN32
#include <windows.h>
int WINAPI win_python(HANDLE, DWORD, LPVOID);
int WINAPI win_python(HANDLE hinst, DWORD reason, LPVOID reserved) {
switch (reason) {
case DLL_PROCESS_ATTACH:
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
return 1;
}
#endif

View File

@ -1,5 +1,5 @@
#include "python.h" #include "py4yap.h"
PyObject *py_Main; PyObject *py_Main;

View File

@ -1,6 +1,5 @@
#include "python.h" #include "py4yap.h"
#include <YapStreams.h>
#include <VFS.h> #include <VFS.h>
atom_t ATOM_true, ATOM_false, ATOM_colon, ATOM_dot, ATOM_none, ATOM_t, atom_t ATOM_true, ATOM_false, ATOM_colon, ATOM_dot, ATOM_none, ATOM_t,
@ -207,29 +206,3 @@ X_API bool do_init_python(void) {
return true; return true;
} }
X_API bool init_python(void) {
if (python_in_python)
return true;
return do_init_python();
}
#ifdef _WIN32
#include <windows.h>
int WINAPI win_python(HANDLE, DWORD, LPVOID);
int WINAPI win_python(HANDLE hinst, DWORD reason, LPVOID reserved) {
switch (reason) {
case DLL_PROCESS_ATTACH:
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
return 1;
}
#endif

View File

@ -1,7 +1,7 @@
# This is a CMake example for Python # This is a CMake example for Python
INCLUDE(NewUseSWIG) #INCLUDE(NewUseSWIG)
include(FindPythonModule) include(FindPythonModule)
@ -23,22 +23,6 @@ SET_SOURCE_FILES_PROPERTIES(../../swig/yap.i PROPERTIES SWIG_FLAGS "-O;-py3")
SET_SOURCE_FILES_PROPERTIES(../../swiyap.i PROPERTIES SWIG_MODULE_NAME yap) SET_SOURCE_FILES_PROPERTIES(../../swiyap.i PROPERTIES SWIG_MODULE_NAME yap)
#SET_SOURCE_FILES_PROPERTIES(../../swi/yap.i PROPERTIES OUTPUT_NAME yap) #SET_SOURCE_FILES_PROPERTIES(../../swi/yap.i PROPERTIES OUTPUT_NAME yap)
SWIG_ADD_LIBRARY(Py2YAP LANGUAGE python SHARED SOURCES ../../swig/yap.i )
if (WIN32)
SWIG_LINK_LIBRARIES(Py2YAP YAPPython libYap ${PYTHON_LIBRARIES} )
else()
SWIG_LINK_LIBRARIES( Py2YAP libYap YAP++ YAPPython ${PYTHON_LIBRARIES} )
endif()
set_target_properties ( ${SWIG_MODULE_Py2YAP_REAL_NAME}
PROPERTIES
NO_SONAME ON
CXXFLAGS "-include cmath "
OUTPUT_NAME _yap
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
DEPENDS YAPPython YAPPython YAP++
)
SET( CMAKE_CXX_FLAGS " -include cmath ${CMAKE_CXX_FLAGS} " )
# inform we are compiling YAP # inform we are compiling YAP
# s used in MSYS # s used in MSYS
@ -65,9 +49,12 @@ endif()
set (PL ${pl_library} ${PROLOG_SOURCES} ) set (PL ${pl_library} ${PROLOG_SOURCES} )
add_custom_target( YAP4PY_SETUP add_custom_target( YAP4PY_SETUP
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/yap4py COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/yap.py
COMMAND ${CMAKE_COMMAND} -E copy ${dlls} ${CMAKE_BINARY_DIR}/libYap${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_BINARY_DIR}/${YAP_STARTUP} ${PYTHON_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/yap4py COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/packages/swig/yap.i ${CMAKE_CURRENT_BINARY_DIR}/yap.i
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/yap4py
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/yap4py
COMMAND ${CMAKE_COMMAND} -E copy ${dlls} ${CMAKE_BINARY_DIR}/libYap${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_BINARY_DIR}/${YAP_STARTUP} ${PYTHON_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/yap4py
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/yap4py/prolog COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/yap4py/prolog
COMMAND ${CMAKE_COMMAND} -E copy ${PL} ${CMAKE_CURRENT_BINARY_DIR}/yap4py/prolog COMMAND ${CMAKE_COMMAND} -E copy ${PL} ${CMAKE_CURRENT_BINARY_DIR}/yap4py/prolog
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/yap4py/prolog/pl COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/yap4py/prolog/pl

View File

@ -1,3 +0,0 @@
// make Python happy...

View File

@ -6,7 +6,7 @@
from __future__ import print_function from __future__ import print_function
from setuptools import setup from setuptools import setup
from setuptools.extension import Extension from setuptools.extension import Extension
from codecs import open from codecs import open
from os import path, makedirs, walk from os import path, makedirs, walk
from shutil import copytree, rmtree, copy2, move from shutil import copytree, rmtree, copy2, move
@ -18,23 +18,23 @@ import os.path
# the name of the package # the name of the package
name = 'YAP4PY' name = 'YAP4PY'
#----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Minimal Python version sanity check # Minimal Python version sanity check
#----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
import sys import sys
v = sys.version_info v = sys.version_info
if v[:2] < (2,7) or (v[0] >= 3 and v[:2] < (3,3)): if v[:2] < (2, 7) or (v[0] >= 3 and v[:2] < (3, 3)):
error = "ERROR: %s requires Python version 2.7 or 3.3 or above." % name error = "ERROR: %s requires Python version 2.7 or 3.3 or above." % name
print(error, file=sys.stderr) print(error, file=sys.stderr)
sys.exit(1) sys.exit(1)
PY3 = (sys.version_info[0] >= 3) PY3 = (sys.version_info[0] >= 3)
#----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# get on with it # get on with it
#----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
from codecs import open from codecs import open
from os import path, makedirs, walk from os import path, makedirs, walk
from shutil import copytree, rmtree, copy2, move from shutil import copytree, rmtree, copy2, move
@ -53,85 +53,86 @@ pkg_root = pjoin(here, name)
my_extra_link_args = [] my_extra_link_args = []
if platform.system() == 'Darwin': if platform.system() == 'Darwin':
my_extra_link_args = ['-Wl,-rpath','-Wl,${_ABS_PYTHON_MODULE_PATH}'] my_extra_link_args = ['-Wl,-rpath', '-Wl,${_ABS_PYTHON_MODULE_PATH}']
so = 'dylib' # or dll in glob('yap/dlls/*'):
#or dll in glob('yap/dlls/*'):
# move( dll ,'lib' ) # move( dll ,'lib' )
elif platform.system() == 'Windows':
my_extra_link_args = ['-Wl,-export-all-symbols','-Wl,-enable-auto-import','-Wl,-enable-runtime-pseudo-relocs']
cplus = ['']
bpy2yap = ['${CMAKE_SOURCE_DIR}/packages/python/python.c',
'${CMAKE_SOURCE_DIR}/packages/python/pl2py.c',
'${CMAKE_SOURCE_DIR}/packages/python/pybips.c',
'${CMAKE_SOURCE_DIR}/packages/python/py2pl.c',
'${CMAKE_SOURCE_DIR}/packages/python/pl2pl.c',
'${CMAKE_SOURCE_DIR}/packages/python/pypreds.c'
]
cplus=['${RELATIVE_SOURCE}CXX/yapi.cpp'] native_sources = ['yap.i']
py2yap=['${RELATIVE_SOURCE}packages/python/python.c',
'${RELATIVE_SOURCE}packages/python/pl2py.c',
'${RELATIVE_SOURCE}packages/python/pybips.c',
'${RELATIVE_SOURCE}packages/python/py2pl.c',
'${RELATIVE_SOURCE}packages/python/pl2pl.c',
'${RELATIVE_SOURCE}packages/python/pypreds.c'
]
native_sources = ['yapPYTHON_wrap.cxx']+py2yap+cplus
here = path.abspath(path.dirname(__file__)) here = path.abspath(path.dirname(__file__))
# Get the long description from the README file # Get the long description from the README file
extensions=[Extension('_yap', native_sources, extensions = [Extension('_yap', native_sources,
define_macros = [('MAJOR_VERSION', '1'), define_macros=[('MAJOR_VERSION', '1'),
('MINOR_VERSION', '0'), ('MINOR_VERSION', '0'),
('_YAP_NOT_INSTALLED_', '1'), ('_YAP_NOT_INSTALLED_', '1'),
('_GNU_SOURCE', '1'), ('_GNU_SOURCE', '1'),
('YAP_PYTHON', '1')], ('YAP_PYTHON', '1')],
runtime_library_dirs=['yap4py','${libdir}','${bindir}'], runtime_library_dirs=['yap4py', '${libdir}', '${bindir}'],
swig_opts=['-modern', '-c++', '-py3','-I${RELATIVE_SOURCE}/CXX'], swig_opts=['-modern', '-c++', '-py3', '-I${CMAKE_SOURCE_DIR}/CXX', '-I${CMAKE_SOURCE_DIR}/include',
library_dirs=['../../..','../../../CXX','../../packages/python',"${dlls}","${bindir}", '.'], '-I${CMAKE_SOURCE_DIR}/H', '-I${CMAKE_SOURCE_DIR}/H/generated',
extra_link_args=my_extra_link_args, '-I${CMAKE_SOURCE_DIR}/os', '-I${CMAKE_SOURCE_DIR}/OPTYap', '-I../../..'],
extra_compile_args=['-std=c++11','-g3','-O0'], library_dirs=['../../..', '../../../CXX', '../../packages/python', "${dlls}", "${bindir}", '.'],
libraries=['Yap','${GMP_LIBRARIES}'], extra_link_args=my_extra_link_args,
include_dirs=['../../..', libraries=['Yap', '${GMP_LIBRARIES}'],
'${GMP_INCLUDE_DIRS}', include_dirs=['../../..',
'${RELATIVE_SOURCE}H', '${GMP_INCLUDE_DIRS}',
'${RELATIVE_SOURCE}H/generated', '${CMAKE_SOURCE_DIR}/H',
'${RELATIVE_SOURCE}OPTYap', '${CMAKE_SOURCE_DIR}/H/generated',
'${RELATIVE_SOURCE}os', '${CMAKE_SOURCE_DIR}/OPTYap',
'${RELATIVE_SOURCE}include', '${CMAKE_SOURCE_DIR}/os',
'${RELATIVE_SOURCE}CXX', '.'] '${CMAKE_SOURCE_DIR}/include',
)] '${CMAKE_SOURCE_DIR}/CXX', '.']
)]
packages = ['yap4py'] packages = ['yap4py']
def visit(d0, pls): def visit(d0, pls):
for (r,ds,fs) in walk('.'): for (r, ds, fs) in walk('.'):
for f in fs: for f in fs:
f0,ext = os.path.splitext(f) f0, ext = os.path.splitext(f)
if (ext == 'yap' or ext == 'pl' or ext == 'so' or ext == 'dll' or ext == 'yss'): if (ext == 'yap' or ext == 'pl' or ext == 'so' or ext == 'dll' or ext == 'yss'):
pls += [os.path.join(r, f)] pls += [os.path.join(r, f)]
for i in ds: for i in ds:
pls = visit(os.path.join(d0, i), pls) pls = visit(os.path.join(d0, i), pls)
return pls return pls
package_data = { package_data = {
'': visit('.',[]) '': visit('.', [])
} }
version_ns = {'__version__':'6.3.5','minor-version':'6','minor-version':'3','patch':'5'} version_ns = {'__version__': '6.3.5', 'minor-version': '6', 'minor-version': '3', 'patch': '5'}
setup_args = dict( setup_args = dict(
name = name, name=name,
version = version_ns['__version__'], version=version_ns['__version__'],
scripts = glob(pjoin('scripts', '*')), scripts=glob(pjoin('scripts', '*')),
packages = packages, packages=packages,
py_modules = ['yap'], py_modules=['yap'],
package_data = package_data, package_data=package_data,
include_package_data = True, include_package_data=True,
description = "YAP in Python", description="YAP in Python",
author = 'YAP Development Team', author='YAP Development Team',
author_email = 'ipython-dev@scipy.org', author_email='ipython-dev@scipy.org',
url = 'http://ipython.org', url='http://ipython.org',
license = 'BSD', license='BSD',
ext_modules = extensions, ext_modules=extensions,
platforms = "Linux, Mac OS X, Windows", platforms="Linux, Mac OS X, Windows",
keywords = ['Interactive', 'Interpreter', 'Shell', 'Web'], keywords=['Interactive', 'Interpreter', 'Shell', 'Web'],
classifiers = [ classifiers=[
'Intended Audience :: Developers', 'Intended Audience :: Developers',
'Intended Audience :: System Administrators', 'Intended Audience :: System Administrators',
'Intended Audience :: Science/Research', 'Intended Audience :: Science/Research',

View File

@ -1,10 +0,0 @@
Metadata-Version: 1.0
Name: yapex
Version: 0.1
Summary: UNKNOWN
Home-page: UNKNOWN
Author: UNKNOWN
Author-email: UNKNOWN
License: UNKNOWN
Description: UNKNOWN
Platform: UNKNOWN

View File

@ -1,11 +0,0 @@
setup.py
/Users/vsc/Yap/yap-6.3/packages/python/yapex.py
/Users/vsc/Yap/yap-6.3/packages/python/yapex.egg-info/PKG-INFO
/Users/vsc/Yap/yap-6.3/packages/python/yapex.egg-info/SOURCES.txt
/Users/vsc/Yap/yap-6.3/packages/python/yapex.egg-info/dependency_links.txt
/Users/vsc/Yap/yap-6.3/packages/python/yapex.egg-info/top_level.txt
/Users/vsc/github/yap-6.3/packages/python/yapex.py
/Users/vsc/github/yap-6.3/packages/python/yapex.egg-info/PKG-INFO
/Users/vsc/github/yap-6.3/packages/python/yapex.egg-info/SOURCES.txt
/Users/vsc/github/yap-6.3/packages/python/yapex.egg-info/dependency_links.txt
/Users/vsc/github/yap-6.3/packages/python/yapex.egg-info/top_level.txt

View File

@ -1 +0,0 @@
yapex