X_API
This commit is contained in:
parent
c2f6d968c3
commit
0d96197ddf
@ -25,6 +25,7 @@
|
||||
#ifndef C_INTERFACE_C
|
||||
|
||||
#define C_INTERFACE_C 1
|
||||
#define _EXPORT_KERNEL 1
|
||||
|
||||
#include <stdlib.h>
|
||||
#if HAVE_UNISTD_H
|
||||
@ -1079,7 +1080,7 @@ static uintptr_t complete_exit(choiceptr ptr, int has_cp,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
Int YAP_Execute(PredEntry *pe, CPredicate exec_code) {
|
||||
X_API Int YAP_Execute(PredEntry *pe, CPredicate exec_code) {
|
||||
CACHE_REGS
|
||||
Int ret;
|
||||
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_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
|
||||
CELL ocp = LCL0 - (CELL *)B;
|
||||
/* 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) {
|
||||
CACHE_REGS
|
||||
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
|
||||
/* for slots to work */
|
||||
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;
|
||||
}
|
||||
|
||||
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);
|
||||
if (t == TermNil)
|
||||
return 0L;
|
||||
@ -2322,7 +2323,7 @@ bool Yap_embedded = true;
|
||||
/* this routine is supposed to be called from an external program
|
||||
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;
|
||||
bool do_bootstrap = (restore_result & YAP_CONSULT_MODE);
|
||||
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); }
|
||||
|
||||
/* yhandle_t YAP_VarSlotToNumber(yhandle_t) */
|
||||
yhandle_t YAP_VarSlotToNumber(yhandle_t s) {
|
||||
X_API yhandle_t YAP_VarSlotToNumber(yhandle_t s) {
|
||||
CACHE_REGS
|
||||
Term *t = (CELL *)Deref(Yap_GetFromSlot(s));
|
||||
if (t < HR)
|
||||
@ -3097,14 +3098,14 @@ yhandle_t YAP_VarSlotToNumber(yhandle_t s) {
|
||||
}
|
||||
|
||||
/* Term YAP_ModuleUser() */
|
||||
Term YAP_ModuleUser(void) { return MkAtomTerm(AtomUser); }
|
||||
X_API Term YAP_ModuleUser(void) { return MkAtomTerm(AtomUser); }
|
||||
|
||||
/* int YAP_PredicateHasClauses() */
|
||||
yhandle_t YAP_NumberOfClausesForPredicate(PredEntry *pe) {
|
||||
X_API yhandle_t YAP_NumberOfClausesForPredicate(PredEntry *pe) {
|
||||
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);
|
||||
OpEntry *info;
|
||||
WRITE_LOCK(ae->ARWLock);
|
||||
@ -3122,7 +3123,7 @@ int YAP_MaxOpPriority(Atom at, Term module) {
|
||||
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);
|
||||
OpEntry *info;
|
||||
int n;
|
||||
@ -3184,14 +3185,14 @@ int YAP_OpInfo(Atom at, Term module, int opkind, int *yap_type, int *prio) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
int YAP_Argv(char ***argvp) {
|
||||
X_API int YAP_Argv(char ***argvp) {
|
||||
if (argvp) {
|
||||
*argvp = GLOBAL_argv;
|
||||
}
|
||||
return GLOBAL_argc;
|
||||
}
|
||||
|
||||
YAP_tag_t YAP_TagOfTerm(Term t) {
|
||||
X_API YAP_tag_t YAP_TagOfTerm(Term t) {
|
||||
if (IsVarTerm(t)) {
|
||||
CELL *pt = VarOfTerm(t);
|
||||
if (IsUnboundVar(pt)) {
|
||||
@ -3246,7 +3247,7 @@ Term YAP_BPROLOG_curr_toam_status;
|
||||
*
|
||||
* @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];
|
||||
size_t sz = 0;
|
||||
|
||||
@ -3280,7 +3281,7 @@ size_t YAP_UTF8_TextLength(Term t) {
|
||||
return sz;
|
||||
}
|
||||
|
||||
Int YAP_ListLength(Term t) {
|
||||
X_API Int YAP_ListLength(Term t) {
|
||||
Term *aux;
|
||||
|
||||
Int n = Yap_SkipList(&t, &aux);
|
||||
@ -3291,14 +3292,14 @@ Int YAP_ListLength(Term t) {
|
||||
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 */
|
||||
return Yap_UnNumberTerm(t, FALSE);
|
||||
}
|
||||
|
||||
int YAP_IsNumberedVariable(Term t) {
|
||||
X_API int YAP_IsNumberedVariable(Term t) {
|
||||
return IsApplTerm(t) && FunctorOfTerm(t) == FunctorDollarVar &&
|
||||
IsIntegerTerm(ArgOfTerm(1, t));
|
||||
}
|
||||
|
@ -159,7 +159,7 @@ void jmp_deb2(void) { fprintf(stderr, "Here\n"); }
|
||||
|
||||
void jmp_deb(int i) {
|
||||
if (i)
|
||||
printf("Here we go %ld\n", old_value++);
|
||||
printf("Here we go " Int_FORMAT "\n", old_value++);
|
||||
if (old_value == 716)
|
||||
jmp_deb2();
|
||||
}
|
||||
@ -354,8 +354,8 @@ bool low_level_trace__(yap_low_level_port port, PredEntry *pred, CELL *args) {
|
||||
printf("\n");
|
||||
}
|
||||
#endif
|
||||
b += snprintf(b, top - b, "%lld %ld ", 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 " "UInt_FORMAT " ", vsc_count, LCL0 - (CELL *)B);
|
||||
b += snprintf(b, top - b, Int_FORMAT " ", LCL0 - (CELL *)Yap_REGS.CUT_C_TOP);
|
||||
#if defined(THREADS) || defined(YAPOR)
|
||||
b += snprintf(b, top - b, "(%d)", worker_id);
|
||||
#endif
|
||||
@ -482,7 +482,7 @@ static Int reset_total_choicepoints(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);
|
||||
}
|
||||
|
||||
|
@ -113,7 +113,10 @@ else()
|
||||
List (APPEND YLIBS $<TARGET_OBJECTS:Yapsqlite3> )
|
||||
List (APPEND YLIBS $<TARGET_OBJECTS:libswi> )
|
||||
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()
|
||||
|
||||
|
||||
@ -132,6 +135,9 @@ add_library( # Sets the name of the library.
|
||||
|
||||
if (WIN32)
|
||||
target_link_libraries(libYap ${WINDLLS})
|
||||
if (PYTHON_INCLUDE_DIRS AND PYTHON_LIBRARIES )
|
||||
target_link_libraries(libYap ${PYTHON_LIBRARIES})
|
||||
endif()
|
||||
endif (WIN32)
|
||||
|
||||
include(libYap NO_POLICY_SCOPE)
|
||||
|
@ -68,7 +68,7 @@ enum PropTag {
|
||||
* predicates, operators, modules, almost everything.
|
||||
*
|
||||
*/
|
||||
class YAPAtom {
|
||||
class X_API YAPAtom {
|
||||
friend class YAPEngine;
|
||||
friend class YAPModuleProp;
|
||||
friend class YAPPredicate;
|
||||
@ -104,7 +104,7 @@ public:
|
||||
* predicates, operators, modules, almost everything.
|
||||
*
|
||||
*/
|
||||
class YAPProp {
|
||||
class X_API YAPProp {
|
||||
friend class YAPModuleProp;
|
||||
friend class YAPFunctor;
|
||||
/// does nothing, p is defined by the subclass
|
||||
|
12
CXX/yapdb.hh
12
CXX/yapdb.hh
@ -43,7 +43,7 @@ class YAPModule;
|
||||
* Info about the module is in YAPModuleProp
|
||||
*
|
||||
*/
|
||||
class YAPModule : protected YAPAtomTerm {
|
||||
class X_API YAPModule : protected YAPAtomTerm {
|
||||
friend class YAPPredicate;
|
||||
friend class YAPModuleProp;
|
||||
Term t() { return gt(); }
|
||||
@ -61,7 +61,7 @@ public:
|
||||
* A YAPModuleProp controls access to a module property.
|
||||
*
|
||||
*/
|
||||
class YAPModuleProp : public YAPProp {
|
||||
class X_API YAPModuleProp : public YAPProp {
|
||||
friend class YAPPredicate;
|
||||
ModEntry *m;
|
||||
|
||||
@ -77,7 +77,7 @@ public:
|
||||
/**
|
||||
* @brief YAPFunctor represents Prolog functors Name/Arity
|
||||
*/
|
||||
class YAPFunctor : public YAPProp {
|
||||
class X_API YAPFunctor : public YAPProp {
|
||||
friend class YAPApplTerm;
|
||||
friend class YAPTerm;
|
||||
friend class YAPPredicate;
|
||||
@ -127,7 +127,7 @@ public:
|
||||
*
|
||||
* This class interfaces with PredEntry in Yatom.
|
||||
*/
|
||||
class YAPPredicate : public YAPModuleProp {
|
||||
class X_API YAPPredicate : public YAPModuleProp {
|
||||
friend class YAPQuery;
|
||||
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.
|
||||
*/
|
||||
class YAPPrologPredicate : public YAPPredicate {
|
||||
class X_API YAPPrologPredicate : public YAPPredicate {
|
||||
public:
|
||||
YAPPrologPredicate(YAPTerm t) : YAPPredicate(t){};
|
||||
YAPPrologPredicate(const char *s, arity_t arity) : YAPPredicate(s, arity){};
|
||||
@ -319,7 +319,7 @@ public:
|
||||
*
|
||||
* This class interfaces with Predicates Implemented in Prolog.
|
||||
*/
|
||||
class YAPFLIP : public YAPPredicate {
|
||||
class X_API YAPFLIP : public YAPPredicate {
|
||||
public:
|
||||
YAPFLIP(CPredicate call, YAPAtom name, uintptr_t arity,
|
||||
YAPModule module = YAPModule(), CPredicate retry = 0,
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
|
||||
#define YAP_CPP_INTERFACE 1
|
||||
#define _EXPORT_KERNEL 1
|
||||
|
||||
#include "yapi.hh"
|
||||
extern "C" {
|
||||
@ -1012,7 +1012,7 @@ YAPEngine::YAPEngine(int argc, char *argv[],
|
||||
return ap;
|
||||
}
|
||||
|
||||
X_API bool YAPPrologPredicate::assertClause(YAPTerm cl, bool last,
|
||||
bool YAPPrologPredicate::assertClause(YAPTerm cl, bool last,
|
||||
YAPTerm source)
|
||||
{
|
||||
CACHE_REGS
|
||||
|
@ -1,4 +1,4 @@
|
||||
/**
|
||||
/**
|
||||
* @file yapie.hh
|
||||
*
|
||||
* @defgroup yap-cplus-error-hanadlinge Errir Handling in the YAP interface.
|
||||
@ -23,11 +23,11 @@
|
||||
#ifndef YAPIE_HH
|
||||
#define YAPIE_HH
|
||||
|
||||
class YAPPPredicate;
|
||||
class YAPTerm;
|
||||
class X_API YAPPPredicate;
|
||||
class X_API YAPTerm;
|
||||
|
||||
/// take information on a Prolog error:
|
||||
class YAPError {
|
||||
class X_API YAPError {
|
||||
yap_error_number ID;
|
||||
std::string goal, info;
|
||||
int swigcode;
|
||||
|
@ -19,7 +19,7 @@
|
||||
#ifndef YAPQ_HH
|
||||
#define YAPQ_HH 1
|
||||
|
||||
class YAPPredicate;
|
||||
class X_API YAPPredicate;
|
||||
|
||||
/**
|
||||
Queries and engines
|
||||
@ -31,7 +31,7 @@ class YAPPredicate;
|
||||
* interface to a YAP Query;
|
||||
* uses an SWI-like status info internally.
|
||||
*/
|
||||
class YAPQuery : public YAPPredicate
|
||||
class X_API YAPQuery : public YAPPredicate
|
||||
{
|
||||
bool q_open;
|
||||
int q_state;
|
||||
@ -171,7 +171,7 @@ inline bool command()
|
||||
/// This class implements a callback Prolog-side. It will be inherited by the
|
||||
/// Java or Python
|
||||
/// class that actually implements the callback.
|
||||
class YAPCallback
|
||||
class X_API YAPCallback
|
||||
{
|
||||
public:
|
||||
virtual ~YAPCallback() {}
|
||||
@ -181,7 +181,7 @@ public:
|
||||
|
||||
|
||||
/// @brief Setup all arguments to a new engine
|
||||
class YAPEngineArgs {
|
||||
class X_API YAPEngineArgs {
|
||||
|
||||
public:
|
||||
|
||||
|
78
CXX/yapt.hh
78
CXX/yapt.hh
@ -34,7 +34,7 @@ class YAPError;
|
||||
/**
|
||||
* @brief Generic Prolog Term
|
||||
*/
|
||||
class YAPTerm {
|
||||
class X_API YAPTerm {
|
||||
friend class YAPPredicate;
|
||||
friend class YAPPrologPredicate;
|
||||
friend class YAPQuery;
|
||||
@ -254,39 +254,10 @@ public:
|
||||
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
|
||||
*/
|
||||
class YAPApplTerm : public YAPTerm {
|
||||
class X_API YAPApplTerm : public YAPTerm {
|
||||
friend class YAPTerm;
|
||||
|
||||
public:
|
||||
@ -324,7 +295,7 @@ public:
|
||||
/**
|
||||
* @brief List Constructor Term
|
||||
*/
|
||||
class YAPPairTerm : public YAPTerm {
|
||||
class X_API YAPPairTerm : public YAPTerm {
|
||||
friend class YAPTerm;
|
||||
|
||||
|
||||
@ -362,7 +333,7 @@ public:
|
||||
* @brief Number Term
|
||||
*/
|
||||
|
||||
class YAPNumberTerm : public YAPTerm {
|
||||
class X_API YAPNumberTerm : public YAPTerm {
|
||||
public:
|
||||
YAPNumberTerm(){};
|
||||
bool isTagged() { return IsIntTerm(gt()); }
|
||||
@ -372,7 +343,7 @@ public:
|
||||
* @brief Integer Term
|
||||
*/
|
||||
|
||||
class YAPIntegerTerm : public YAPNumberTerm {
|
||||
class X_API YAPIntegerTerm : public YAPNumberTerm {
|
||||
public:
|
||||
YAPIntegerTerm(intptr_t i);
|
||||
intptr_t getInteger() { return IntegerOfTerm(gt()); };
|
||||
@ -382,14 +353,14 @@ public:
|
||||
* @brief Floating Point Term
|
||||
*/
|
||||
|
||||
class YAPFloatTerm : public YAPNumberTerm {
|
||||
class X_API YAPFloatTerm : public YAPNumberTerm {
|
||||
public:
|
||||
YAPFloatTerm(double dbl) { mk(MkFloatTerm(dbl)); };
|
||||
|
||||
double getFl() { return FloatOfTerm(gt()); };
|
||||
};
|
||||
|
||||
class YAPListTerm : public YAPTerm {
|
||||
class X_API YAPListTerm : public YAPTerm {
|
||||
public:
|
||||
/// Create a list term out of a standard term. Check if a valid operation.
|
||||
///
|
||||
@ -447,7 +418,7 @@ public:
|
||||
/**
|
||||
* @brief String Term
|
||||
*/
|
||||
class YAPStringTerm : public YAPTerm {
|
||||
class X_API YAPStringTerm : public YAPTerm {
|
||||
public:
|
||||
/// your standard constructor
|
||||
YAPStringTerm(char *s);
|
||||
@ -464,7 +435,7 @@ public:
|
||||
* @brief Atom Term
|
||||
* Term Representation of an Atom
|
||||
*/
|
||||
class YAPAtomTerm : public YAPTerm {
|
||||
class X_API YAPAtomTerm : public YAPTerm {
|
||||
friend class YAPModule;
|
||||
// Constructor: receives a C-atom;
|
||||
YAPAtomTerm(Term t) : YAPTerm(t) { IsAtomTerm(t); }
|
||||
@ -498,4 +469,35 @@ public:
|
||||
};
|
||||
#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
|
||||
};
|
||||
|
||||
/// @}
|
||||
|
@ -90,7 +90,6 @@ ATOMS
|
||||
#ifdef EUROTRA
|
||||
Term TermDollarU MkAT AtomDollarU
|
||||
#endif
|
||||
Term TermAnswer MkAT AtomAnswer
|
||||
|
||||
//modules
|
||||
Term USER_MODULE MkAT AtomUser
|
||||
|
@ -1,144 +1,144 @@
|
||||
|
||||
/* This file, dglobals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/GLOBALS instead */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define GLOBAL_Initialised Yap_global->Initialised_
|
||||
#define GLOBAL_InitialisedFromPL Yap_global->InitialisedFromPL_
|
||||
#define GLOBAL_PL_Argc Yap_global->PL_Argc_
|
||||
#define GLOBAL_PL_Argv Yap_global->PL_Argv_
|
||||
#define GLOBAL_FAST_BOOT_FLAG Yap_global->FAST_BOOT_FLAG_
|
||||
|
||||
#define GLOBAL_HaltHooks Yap_global->HaltHooks_
|
||||
#define GLOBAL_JIT_finalizer Yap_global->JIT_finalizer_
|
||||
|
||||
#define GLOBAL_AllowLocalExpansion Yap_global->AllowLocalExpansion_
|
||||
#define GLOBAL_AllowGlobalExpansion Yap_global->AllowGlobalExpansion_
|
||||
#define GLOBAL_AllowTrailExpansion Yap_global->AllowTrailExpansion_
|
||||
#define GLOBAL_SizeOfOverflow Yap_global->SizeOfOverflow_
|
||||
|
||||
#define GLOBAL_AGcThreshold Yap_global->AGcThreshold_
|
||||
#define GLOBAL_AGCHook Yap_global->AGCHook_
|
||||
|
||||
#if THREADS
|
||||
|
||||
#define GLOBAL_NOfThreads Yap_global->NOfThreads_
|
||||
|
||||
#define GLOBAL_NOfThreadsCreated Yap_global->NOfThreadsCreated_
|
||||
|
||||
#define GLOBAL_ThreadsTotalTime Yap_global->ThreadsTotalTime_
|
||||
|
||||
#define GLOBAL_ThreadHandlesLock Yap_global->ThreadHandlesLock_
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
|
||||
#define GLOBAL_BGL Yap_global->BGL_
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
#define GLOBAL_optyap_data Yap_global->optyap_data_
|
||||
#endif /* YAPOR || TABLING */
|
||||
|
||||
#define GLOBAL_PrologShouldHandleInterrupts Yap_global->PrologShouldHandleInterrupts_
|
||||
|
||||
#if defined(THREADS)
|
||||
#define GLOBAL_master_thread Yap_global->master_thread_
|
||||
#define GLOBAL_named_mboxes Yap_global->named_mboxes_
|
||||
#define GLOBAL_mboxq_lock Yap_global->mboxq_lock_
|
||||
#define GLOBAL_mbox_count Yap_global->mbox_count_
|
||||
#define GLOBAL_WithMutex Yap_global->WithMutex_
|
||||
#endif /* THREADS */
|
||||
|
||||
#define GLOBAL_Stream Yap_global->Stream_
|
||||
#if defined(THREADS)||defined(YAPOR)
|
||||
#define GLOBAL_StreamDescLock Yap_global->StreamDescLock_
|
||||
#endif
|
||||
|
||||
#define GLOBAL_argv Yap_global->argv_
|
||||
#define GLOBAL_argc Yap_global->argc_
|
||||
|
||||
#ifdef COROUTINING
|
||||
|
||||
#define GLOBAL_attas Yap_global->attas_
|
||||
#endif
|
||||
|
||||
#define GLOBAL_agc_calls Yap_global->agc_calls_
|
||||
#define GLOBAL_agc_collected Yap_global->agc_collected_
|
||||
|
||||
#define GLOBAL_tot_agc_time Yap_global->tot_agc_time_
|
||||
|
||||
#define GLOBAL_tot_agc_recovered Yap_global->tot_agc_recovered_
|
||||
|
||||
#if HAVE_MMAP
|
||||
#define GLOBAL_mmap_arrays Yap_global->mmap_arrays_
|
||||
#endif
|
||||
#ifdef DEBUG
|
||||
|
||||
#define GLOBAL_Option Yap_global->Option_
|
||||
#define GLOBAL_logfile Yap_global->logfile_
|
||||
|
||||
|
||||
#endif
|
||||
#if defined(COFF) || defined(A_OUT)
|
||||
|
||||
#define GLOBAL_Executable Yap_global->Executable_
|
||||
#endif
|
||||
#define GLOBAL_OpaqueHandlersCount Yap_global->OpaqueHandlersCount_
|
||||
#define GLOBAL_OpaqueHandlers Yap_global->OpaqueHandlers_
|
||||
#if __simplescalar__
|
||||
#define GLOBAL_pwd Yap_global->pwd_
|
||||
#endif
|
||||
|
||||
|
||||
#define GLOBAL_RestoreFile Yap_global->RestoreFile_
|
||||
|
||||
#define GLOBAL_ProfCalls Yap_global->ProfCalls_
|
||||
#define GLOBAL_ProfGCs Yap_global->ProfGCs_
|
||||
#define GLOBAL_ProfHGrows Yap_global->ProfHGrows_
|
||||
#define GLOBAL_ProfSGrows Yap_global->ProfSGrows_
|
||||
#define GLOBAL_ProfMallocs Yap_global->ProfMallocs_
|
||||
#define GLOBAL_ProfIndexing Yap_global->ProfIndexing_
|
||||
#define GLOBAL_ProfOn Yap_global->ProfOn_
|
||||
#define GLOBAL_ProfOns Yap_global->ProfOns_
|
||||
#define GLOBAL_ProfilerRoot Yap_global->ProfilerRoot_
|
||||
#define GLOBAL_ProfilerNil Yap_global->ProfilerNil_
|
||||
#define GLOBAL_DIRNAME Yap_global->DIRNAME_
|
||||
#if LOW_PROF
|
||||
#define GLOBAL_ProfilerOn Yap_global->ProfilerOn_
|
||||
#define GLOBAL_FProf Yap_global->FProf_
|
||||
#define GLOBAL_FPreds Yap_global->FPreds_
|
||||
#endif /* LOW_PROF */
|
||||
|
||||
#if THREADS
|
||||
#define GLOBAL_FreeMutexes Yap_global->FreeMutexes_
|
||||
#define GLOBAL_mutex_backbone Yap_global->mutex_backbone_
|
||||
#define GLOBAL_MUT_ACCESS Yap_global->MUT_ACCESS_
|
||||
#endif
|
||||
#define GLOBAL_Home Yap_global->Home_
|
||||
|
||||
#define GLOBAL_CharConversionTable Yap_global->CharConversionTable_
|
||||
#define GLOBAL_CharConversionTable2 Yap_global->CharConversionTable2_
|
||||
|
||||
#define GLOBAL_MaxPriority Yap_global->MaxPriority_
|
||||
|
||||
#define GLOBAL_FileAliases Yap_global->FileAliases_
|
||||
#define GLOBAL_NOfFileAliases Yap_global->NOfFileAliases_
|
||||
#define GLOBAL_SzOfFileAliases Yap_global->SzOfFileAliases_
|
||||
#define GLOBAL_VFS Yap_global->VFS_
|
||||
|
||||
|
||||
/* This file, dglobals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/GLOBALS instead */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define GLOBAL_Initialised Yap_global->Initialised_
|
||||
#define GLOBAL_InitialisedFromPL Yap_global->InitialisedFromPL_
|
||||
#define GLOBAL_PL_Argc Yap_global->PL_Argc_
|
||||
#define GLOBAL_PL_Argv Yap_global->PL_Argv_
|
||||
#define GLOBAL_FAST_BOOT_FLAG Yap_global->FAST_BOOT_FLAG_
|
||||
|
||||
#define GLOBAL_HaltHooks Yap_global->HaltHooks_
|
||||
#define GLOBAL_JIT_finalizer Yap_global->JIT_finalizer_
|
||||
|
||||
#define GLOBAL_AllowLocalExpansion Yap_global->AllowLocalExpansion_
|
||||
#define GLOBAL_AllowGlobalExpansion Yap_global->AllowGlobalExpansion_
|
||||
#define GLOBAL_AllowTrailExpansion Yap_global->AllowTrailExpansion_
|
||||
#define GLOBAL_SizeOfOverflow Yap_global->SizeOfOverflow_
|
||||
|
||||
#define GLOBAL_AGcThreshold Yap_global->AGcThreshold_
|
||||
#define GLOBAL_AGCHook Yap_global->AGCHook_
|
||||
|
||||
#if THREADS
|
||||
|
||||
#define GLOBAL_NOfThreads Yap_global->NOfThreads_
|
||||
|
||||
#define GLOBAL_NOfThreadsCreated Yap_global->NOfThreadsCreated_
|
||||
|
||||
#define GLOBAL_ThreadsTotalTime Yap_global->ThreadsTotalTime_
|
||||
|
||||
#define GLOBAL_ThreadHandlesLock Yap_global->ThreadHandlesLock_
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
|
||||
#define GLOBAL_BGL Yap_global->BGL_
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
#define GLOBAL_optyap_data Yap_global->optyap_data_
|
||||
#endif /* YAPOR || TABLING */
|
||||
|
||||
#define GLOBAL_PrologShouldHandleInterrupts Yap_global->PrologShouldHandleInterrupts_
|
||||
|
||||
#if defined(THREADS)
|
||||
#define GLOBAL_master_thread Yap_global->master_thread_
|
||||
#define GLOBAL_named_mboxes Yap_global->named_mboxes_
|
||||
#define GLOBAL_mboxq_lock Yap_global->mboxq_lock_
|
||||
#define GLOBAL_mbox_count Yap_global->mbox_count_
|
||||
#define GLOBAL_WithMutex Yap_global->WithMutex_
|
||||
#endif /* THREADS */
|
||||
|
||||
#define GLOBAL_Stream Yap_global->Stream_
|
||||
#if defined(THREADS)||defined(YAPOR)
|
||||
#define GLOBAL_StreamDescLock Yap_global->StreamDescLock_
|
||||
#endif
|
||||
|
||||
#define GLOBAL_argv Yap_global->argv_
|
||||
#define GLOBAL_argc Yap_global->argc_
|
||||
|
||||
#ifdef COROUTINING
|
||||
|
||||
#define GLOBAL_attas Yap_global->attas_
|
||||
#endif
|
||||
|
||||
#define GLOBAL_agc_calls Yap_global->agc_calls_
|
||||
#define GLOBAL_agc_collected Yap_global->agc_collected_
|
||||
|
||||
#define GLOBAL_tot_agc_time Yap_global->tot_agc_time_
|
||||
|
||||
#define GLOBAL_tot_agc_recovered Yap_global->tot_agc_recovered_
|
||||
|
||||
#if HAVE_MMAP
|
||||
#define GLOBAL_mmap_arrays Yap_global->mmap_arrays_
|
||||
#endif
|
||||
#ifdef DEBUG
|
||||
|
||||
#define GLOBAL_Option Yap_global->Option_
|
||||
#define GLOBAL_logfile Yap_global->logfile_
|
||||
|
||||
|
||||
#endif
|
||||
#if defined(COFF) || defined(A_OUT)
|
||||
|
||||
#define GLOBAL_Executable Yap_global->Executable_
|
||||
#endif
|
||||
#define GLOBAL_OpaqueHandlersCount Yap_global->OpaqueHandlersCount_
|
||||
#define GLOBAL_OpaqueHandlers Yap_global->OpaqueHandlers_
|
||||
#if __simplescalar__
|
||||
#define GLOBAL_pwd Yap_global->pwd_
|
||||
#endif
|
||||
|
||||
|
||||
#define GLOBAL_RestoreFile Yap_global->RestoreFile_
|
||||
|
||||
#define GLOBAL_ProfCalls Yap_global->ProfCalls_
|
||||
#define GLOBAL_ProfGCs Yap_global->ProfGCs_
|
||||
#define GLOBAL_ProfHGrows Yap_global->ProfHGrows_
|
||||
#define GLOBAL_ProfSGrows Yap_global->ProfSGrows_
|
||||
#define GLOBAL_ProfMallocs Yap_global->ProfMallocs_
|
||||
#define GLOBAL_ProfIndexing Yap_global->ProfIndexing_
|
||||
#define GLOBAL_ProfOn Yap_global->ProfOn_
|
||||
#define GLOBAL_ProfOns Yap_global->ProfOns_
|
||||
#define GLOBAL_ProfilerRoot Yap_global->ProfilerRoot_
|
||||
#define GLOBAL_ProfilerNil Yap_global->ProfilerNil_
|
||||
#define GLOBAL_DIRNAME Yap_global->DIRNAME_
|
||||
#if LOW_PROF
|
||||
#define GLOBAL_ProfilerOn Yap_global->ProfilerOn_
|
||||
#define GLOBAL_FProf Yap_global->FProf_
|
||||
#define GLOBAL_FPreds Yap_global->FPreds_
|
||||
#endif /* LOW_PROF */
|
||||
|
||||
#if THREADS
|
||||
#define GLOBAL_FreeMutexes Yap_global->FreeMutexes_
|
||||
#define GLOBAL_mutex_backbone Yap_global->mutex_backbone_
|
||||
#define GLOBAL_MUT_ACCESS Yap_global->MUT_ACCESS_
|
||||
#endif
|
||||
#define GLOBAL_Home Yap_global->Home_
|
||||
|
||||
#define GLOBAL_CharConversionTable Yap_global->CharConversionTable_
|
||||
#define GLOBAL_CharConversionTable2 Yap_global->CharConversionTable2_
|
||||
|
||||
#define GLOBAL_MaxPriority Yap_global->MaxPriority_
|
||||
|
||||
#define GLOBAL_FileAliases Yap_global->FileAliases_
|
||||
#define GLOBAL_NOfFileAliases Yap_global->NOfFileAliases_
|
||||
#define GLOBAL_SzOfFileAliases Yap_global->SzOfFileAliases_
|
||||
#define GLOBAL_VFS Yap_global->VFS_
|
||||
|
||||
|
@ -1,292 +1,291 @@
|
||||
|
||||
/* This file, dhstruct.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/HEAPFIELDS instead */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#if USE_DL_MALLOC
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define DLMallocLock Yap_heap_regs->DLMallocLock_
|
||||
#endif
|
||||
#endif
|
||||
#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
|
||||
#ifndef HeapUsed
|
||||
#define HeapUsed Yap_givemallinfo()
|
||||
#endif
|
||||
#define NotHeapUsed Yap_heap_regs->NotHeapUsed_
|
||||
#else
|
||||
#define HeapUsed Yap_heap_regs->HeapUsed_
|
||||
#endif
|
||||
#define HeapMax Yap_heap_regs->HeapMax_
|
||||
#define HeapTop Yap_heap_regs->HeapTop_
|
||||
#define HeapLim Yap_heap_regs->HeapLim_
|
||||
#define FreeBlocks Yap_heap_regs->FreeBlocks_
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define FreeBlocksLock Yap_heap_regs->FreeBlocksLock_
|
||||
#define HeapUsedLock Yap_heap_regs->HeapUsedLock_
|
||||
#define HeapTopLock Yap_heap_regs->HeapTopLock_
|
||||
#define HeapTopOwner Yap_heap_regs->HeapTopOwner_
|
||||
#endif
|
||||
#define MaxStack Yap_heap_regs->MaxStack_
|
||||
#define MaxTrail Yap_heap_regs->MaxTrail_
|
||||
|
||||
|
||||
#if USE_THREADED_CODE
|
||||
#define OP_RTABLE Yap_heap_regs->OP_RTABLE_
|
||||
#endif
|
||||
|
||||
#define EXECUTE_CPRED_OP_CODE Yap_heap_regs->EXECUTE_CPRED_OP_CODE_
|
||||
#define EXPAND_OP_CODE Yap_heap_regs->EXPAND_OP_CODE_
|
||||
#define FAIL_OPCODE Yap_heap_regs->FAIL_OPCODE_
|
||||
#define INDEX_OPCODE Yap_heap_regs->INDEX_OPCODE_
|
||||
#define LOCKPRED_OPCODE Yap_heap_regs->LOCKPRED_OPCODE_
|
||||
#define ORLAST_OPCODE Yap_heap_regs->ORLAST_OPCODE_
|
||||
#define UNDEF_OPCODE Yap_heap_regs->UNDEF_OPCODE_
|
||||
#define RETRY_USERC_OPCODE Yap_heap_regs->RETRY_USERC_OPCODE_
|
||||
#define EXECUTE_CPRED_OPCODE Yap_heap_regs->EXECUTE_CPRED_OPCODE_
|
||||
|
||||
#define NOfAtoms Yap_heap_regs->NOfAtoms_
|
||||
#define AtomHashTableSize Yap_heap_regs->AtomHashTableSize_
|
||||
#define WideAtomHashTableSize Yap_heap_regs->WideAtomHashTableSize_
|
||||
#define NOfWideAtoms Yap_heap_regs->NOfWideAtoms_
|
||||
#define INVISIBLECHAIN Yap_heap_regs->INVISIBLECHAIN_
|
||||
#define WideHashChain Yap_heap_regs->WideHashChain_
|
||||
#define HashChain Yap_heap_regs->HashChain_
|
||||
|
||||
|
||||
#ifdef EUROTRA
|
||||
#define TermDollarU Yap_heap_regs->TermDollarU_
|
||||
#endif
|
||||
#define TermAnswer Yap_heap_regs->TermAnswer_
|
||||
|
||||
#define USER_MODULE Yap_heap_regs->USER_MODULE_
|
||||
#define IDB_MODULE Yap_heap_regs->IDB_MODULE_
|
||||
#define ATTRIBUTES_MODULE Yap_heap_regs->ATTRIBUTES_MODULE_
|
||||
#define CHARSIO_MODULE Yap_heap_regs->CHARSIO_MODULE_
|
||||
#define CHTYPE_MODULE Yap_heap_regs->CHTYPE_MODULE_
|
||||
#define TERMS_MODULE Yap_heap_regs->TERMS_MODULE_
|
||||
#define SYSTEM_MODULE Yap_heap_regs->SYSTEM_MODULE_
|
||||
#define READUTIL_MODULE Yap_heap_regs->READUTIL_MODULE_
|
||||
#define HACKS_MODULE Yap_heap_regs->HACKS_MODULE_
|
||||
#define ARG_MODULE Yap_heap_regs->ARG_MODULE_
|
||||
#define GLOBALS_MODULE Yap_heap_regs->GLOBALS_MODULE_
|
||||
#define SWI_MODULE Yap_heap_regs->SWI_MODULE_
|
||||
#define DBLOAD_MODULE Yap_heap_regs->DBLOAD_MODULE_
|
||||
#define RANGE_MODULE Yap_heap_regs->RANGE_MODULE_
|
||||
#define ERROR_MODULE Yap_heap_regs->ERROR_MODULE_
|
||||
|
||||
|
||||
|
||||
#define CurrentModules Yap_heap_regs->CurrentModules_
|
||||
|
||||
|
||||
|
||||
|
||||
#define HIDDEN_PREDICATES Yap_heap_regs->HIDDEN_PREDICATES_
|
||||
|
||||
|
||||
|
||||
#define GLOBAL_Flags Yap_heap_regs->GLOBAL_Flags_
|
||||
#define GLOBAL_flagCount Yap_heap_regs->GLOBAL_flagCount_
|
||||
|
||||
#define Yap_ExecutionMode Yap_heap_regs->Yap_ExecutionMode_
|
||||
|
||||
#define PredsInHashTable Yap_heap_regs->PredsInHashTable_
|
||||
#define PredHashTableSize Yap_heap_regs->PredHashTableSize_
|
||||
#define PredHash Yap_heap_regs->PredHash_
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define PredHashRWLock Yap_heap_regs->PredHashRWLock_
|
||||
#endif
|
||||
|
||||
#define CreepCode Yap_heap_regs->CreepCode_
|
||||
#define UndefCode Yap_heap_regs->UndefCode_
|
||||
#define SpyCode Yap_heap_regs->SpyCode_
|
||||
#define PredFail Yap_heap_regs->PredFail_
|
||||
#define PredTrue Yap_heap_regs->PredTrue_
|
||||
#ifdef COROUTINING
|
||||
#define WakeUpCode Yap_heap_regs->WakeUpCode_
|
||||
#endif
|
||||
#define PredDollarCatch Yap_heap_regs->PredDollarCatch_
|
||||
#ifdef YAPOR
|
||||
#define PredGetwork Yap_heap_regs->PredGetwork_
|
||||
#endif /* YAPOR */
|
||||
#define PredGoalExpansion Yap_heap_regs->PredGoalExpansion_
|
||||
#define PredHandleThrow Yap_heap_regs->PredHandleThrow_
|
||||
#define PredIs Yap_heap_regs->PredIs_
|
||||
#define PredLogUpdClause Yap_heap_regs->PredLogUpdClause_
|
||||
#define PredLogUpdClauseErase Yap_heap_regs->PredLogUpdClauseErase_
|
||||
#define PredLogUpdClause0 Yap_heap_regs->PredLogUpdClause0_
|
||||
#define PredMetaCall Yap_heap_regs->PredMetaCall_
|
||||
#define PredProtectStack Yap_heap_regs->PredProtectStack_
|
||||
#define PredRecordedWithKey Yap_heap_regs->PredRecordedWithKey_
|
||||
#define PredRestoreRegs Yap_heap_regs->PredRestoreRegs_
|
||||
#define PredSafeCallCleanup Yap_heap_regs->PredSafeCallCleanup_
|
||||
#define PredStaticClause Yap_heap_regs->PredStaticClause_
|
||||
#define PredThrow Yap_heap_regs->PredThrow_
|
||||
#define PredTraceMetaCall Yap_heap_regs->PredTraceMetaCall_
|
||||
#define PredCommentHook Yap_heap_regs->PredCommentHook_
|
||||
#define PredProcedure Yap_heap_regs->PredProcedure_
|
||||
#define PredUndefinedQuery Yap_heap_regs->PredUndefinedQuery_
|
||||
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
#define Yap_do_low_level_trace Yap_heap_regs->Yap_do_low_level_trace_
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define Yap_low_level_trace_lock Yap_heap_regs->Yap_low_level_trace_lock_
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define Yap_ClauseSpace Yap_heap_regs->Yap_ClauseSpace_
|
||||
#define Yap_IndexSpace_Tree Yap_heap_regs->Yap_IndexSpace_Tree_
|
||||
#define Yap_IndexSpace_EXT Yap_heap_regs->Yap_IndexSpace_EXT_
|
||||
#define Yap_IndexSpace_SW Yap_heap_regs->Yap_IndexSpace_SW_
|
||||
#define Yap_LUClauseSpace Yap_heap_regs->Yap_LUClauseSpace_
|
||||
#define Yap_LUIndexSpace_Tree Yap_heap_regs->Yap_LUIndexSpace_Tree_
|
||||
#define Yap_LUIndexSpace_CP Yap_heap_regs->Yap_LUIndexSpace_CP_
|
||||
#define Yap_LUIndexSpace_EXT Yap_heap_regs->Yap_LUIndexSpace_EXT_
|
||||
#define Yap_LUIndexSpace_SW Yap_heap_regs->Yap_LUIndexSpace_SW_
|
||||
|
||||
#define COMMA_CODE Yap_heap_regs->COMMA_CODE_
|
||||
#define DUMMYCODE Yap_heap_regs->DUMMYCODE_
|
||||
#define FAILCODE Yap_heap_regs->FAILCODE_
|
||||
#define NOCODE Yap_heap_regs->NOCODE_
|
||||
#define ENV_FOR_TRUSTFAIL Yap_heap_regs->ENV_FOR_TRUSTFAIL_
|
||||
#define TRUSTFAILCODE Yap_heap_regs->TRUSTFAILCODE_
|
||||
#define ENV_FOR_YESCODE Yap_heap_regs->ENV_FOR_YESCODE_
|
||||
#define YESCODE Yap_heap_regs->YESCODE_
|
||||
#define RTRYCODE Yap_heap_regs->RTRYCODE_
|
||||
#ifdef BEAM
|
||||
#define BEAM_RETRY_CODE Yap_heap_regs->BEAM_RETRY_CODE_
|
||||
#endif /* BEAM */
|
||||
#ifdef YAPOR
|
||||
#define GETWORK Yap_heap_regs->GETWORK_
|
||||
#define GETWORK_SEQ Yap_heap_regs->GETWORK_SEQ_
|
||||
#define GETWORK_FIRST_TIME Yap_heap_regs->GETWORK_FIRST_TIME_
|
||||
#endif /* YAPOR */
|
||||
#ifdef TABLING
|
||||
#define LOAD_ANSWER Yap_heap_regs->LOAD_ANSWER_
|
||||
#define TRY_ANSWER Yap_heap_regs->TRY_ANSWER_
|
||||
#define ANSWER_RESOLUTION Yap_heap_regs->ANSWER_RESOLUTION_
|
||||
#define COMPLETION Yap_heap_regs->COMPLETION_
|
||||
#ifdef THREADS_CONSUMER_SHARING
|
||||
#define ANSWER_RESOLUTION_COMPLETION Yap_heap_regs->ANSWER_RESOLUTION_COMPLETION_
|
||||
#endif /* THREADS_CONSUMER_SHARING */
|
||||
#endif /* TABLING */
|
||||
|
||||
|
||||
|
||||
|
||||
#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_RECORDED_K_CODE Yap_heap_regs->RETRY_C_RECORDED_K_CODE_
|
||||
|
||||
#define PROFILING Yap_heap_regs->PROFILING_
|
||||
#define CALL_COUNTING Yap_heap_regs->CALL_COUNTING_
|
||||
#define optimizer_on Yap_heap_regs->optimizer_on_
|
||||
#define compile_mode Yap_heap_regs->compile_mode_
|
||||
#define profiling Yap_heap_regs->profiling_
|
||||
#define call_counting Yap_heap_regs->call_counting_
|
||||
|
||||
#define compile_arrays Yap_heap_regs->compile_arrays_
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define DBTermsListLock Yap_heap_regs->DBTermsListLock_
|
||||
#endif
|
||||
#define DBTermsList Yap_heap_regs->DBTermsList_
|
||||
|
||||
#define ExpandClausesFirst Yap_heap_regs->ExpandClausesFirst_
|
||||
#define ExpandClausesLast Yap_heap_regs->ExpandClausesLast_
|
||||
#define Yap_ExpandClauses Yap_heap_regs->Yap_ExpandClauses_
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define ExpandClausesListLock Yap_heap_regs->ExpandClausesListLock_
|
||||
#define OpListLock Yap_heap_regs->OpListLock_
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
#define Yap_NewCps Yap_heap_regs->Yap_NewCps_
|
||||
#define Yap_LiveCps Yap_heap_regs->Yap_LiveCps_
|
||||
#define Yap_DirtyCps Yap_heap_regs->Yap_DirtyCps_
|
||||
#define Yap_FreedCps Yap_heap_regs->Yap_FreedCps_
|
||||
#endif
|
||||
#define Yap_expand_clauses_sz Yap_heap_regs->Yap_expand_clauses_sz_
|
||||
|
||||
#define UdiControlBlocks Yap_heap_regs->UdiControlBlocks_
|
||||
|
||||
|
||||
#define STATIC_PREDICATES_MARKED Yap_heap_regs->STATIC_PREDICATES_MARKED_
|
||||
|
||||
#define INT_KEYS Yap_heap_regs->INT_KEYS_
|
||||
#define INT_LU_KEYS Yap_heap_regs->INT_LU_KEYS_
|
||||
#define INT_BB_KEYS Yap_heap_regs->INT_BB_KEYS_
|
||||
|
||||
#define INT_KEYS_SIZE Yap_heap_regs->INT_KEYS_SIZE_
|
||||
#define INT_KEYS_TIMESTAMP Yap_heap_regs->INT_KEYS_TIMESTAMP_
|
||||
#define INT_BB_KEYS_SIZE Yap_heap_regs->INT_BB_KEYS_SIZE_
|
||||
|
||||
#define UPDATE_MODE Yap_heap_regs->UPDATE_MODE_
|
||||
|
||||
#define DBErasedMarker Yap_heap_regs->DBErasedMarker_
|
||||
#define LogDBErasedMarker Yap_heap_regs->LogDBErasedMarker_
|
||||
|
||||
#define DeadStaticClauses Yap_heap_regs->DeadStaticClauses_
|
||||
#define DeadMegaClauses Yap_heap_regs->DeadMegaClauses_
|
||||
#define DeadStaticIndices Yap_heap_regs->DeadStaticIndices_
|
||||
#define DBErasedList Yap_heap_regs->DBErasedList_
|
||||
#define DBErasedIList Yap_heap_regs->DBErasedIList_
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define DeadStaticClausesLock Yap_heap_regs->DeadStaticClausesLock_
|
||||
#define DeadMegaClausesLock Yap_heap_regs->DeadMegaClausesLock_
|
||||
#define DeadStaticIndicesLock Yap_heap_regs->DeadStaticIndicesLock_
|
||||
#endif
|
||||
#ifdef COROUTINING
|
||||
|
||||
#define NUM_OF_ATTS Yap_heap_regs->NUM_OF_ATTS_
|
||||
|
||||
#define Yap_AttsSize Yap_heap_regs->Yap_AttsSize_
|
||||
#endif
|
||||
|
||||
#define OpList Yap_heap_regs->OpList_
|
||||
|
||||
#define ForeignCodeLoaded Yap_heap_regs->ForeignCodeLoaded_
|
||||
#define ForeignCodeBase Yap_heap_regs->ForeignCodeBase_
|
||||
#define ForeignCodeTop Yap_heap_regs->ForeignCodeTop_
|
||||
#define ForeignCodeMax Yap_heap_regs->ForeignCodeMax_
|
||||
|
||||
#define Yap_Records Yap_heap_regs->Yap_Records_
|
||||
#define EmptyWakeups Yap_heap_regs->EmptyWakeups_
|
||||
#define MaxEmptyWakeups Yap_heap_regs->MaxEmptyWakeups_
|
||||
|
||||
#define BlobTypes Yap_heap_regs->BlobTypes_
|
||||
#define Blobs Yap_heap_regs->Blobs_
|
||||
#define NOfBlobs Yap_heap_regs->NOfBlobs_
|
||||
#define NOfBlobsMax Yap_heap_regs->NOfBlobsMax_
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define Blobs_Lock Yap_heap_regs->Blobs_Lock_
|
||||
#endif
|
||||
|
||||
|
||||
/* This file, dhstruct.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/HEAPFIELDS instead */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#if USE_DL_MALLOC
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define DLMallocLock Yap_heap_regs->DLMallocLock_
|
||||
#endif
|
||||
#endif
|
||||
#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
|
||||
#ifndef HeapUsed
|
||||
#define HeapUsed Yap_givemallinfo()
|
||||
#endif
|
||||
#define NotHeapUsed Yap_heap_regs->NotHeapUsed_
|
||||
#else
|
||||
#define HeapUsed Yap_heap_regs->HeapUsed_
|
||||
#endif
|
||||
#define HeapMax Yap_heap_regs->HeapMax_
|
||||
#define HeapTop Yap_heap_regs->HeapTop_
|
||||
#define HeapLim Yap_heap_regs->HeapLim_
|
||||
#define FreeBlocks Yap_heap_regs->FreeBlocks_
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define FreeBlocksLock Yap_heap_regs->FreeBlocksLock_
|
||||
#define HeapUsedLock Yap_heap_regs->HeapUsedLock_
|
||||
#define HeapTopLock Yap_heap_regs->HeapTopLock_
|
||||
#define HeapTopOwner Yap_heap_regs->HeapTopOwner_
|
||||
#endif
|
||||
#define MaxStack Yap_heap_regs->MaxStack_
|
||||
#define MaxTrail Yap_heap_regs->MaxTrail_
|
||||
|
||||
|
||||
#if USE_THREADED_CODE
|
||||
#define OP_RTABLE Yap_heap_regs->OP_RTABLE_
|
||||
#endif
|
||||
|
||||
#define EXECUTE_CPRED_OP_CODE Yap_heap_regs->EXECUTE_CPRED_OP_CODE_
|
||||
#define EXPAND_OP_CODE Yap_heap_regs->EXPAND_OP_CODE_
|
||||
#define FAIL_OPCODE Yap_heap_regs->FAIL_OPCODE_
|
||||
#define INDEX_OPCODE Yap_heap_regs->INDEX_OPCODE_
|
||||
#define LOCKPRED_OPCODE Yap_heap_regs->LOCKPRED_OPCODE_
|
||||
#define ORLAST_OPCODE Yap_heap_regs->ORLAST_OPCODE_
|
||||
#define UNDEF_OPCODE Yap_heap_regs->UNDEF_OPCODE_
|
||||
#define RETRY_USERC_OPCODE Yap_heap_regs->RETRY_USERC_OPCODE_
|
||||
#define EXECUTE_CPRED_OPCODE Yap_heap_regs->EXECUTE_CPRED_OPCODE_
|
||||
|
||||
#define NOfAtoms Yap_heap_regs->NOfAtoms_
|
||||
#define AtomHashTableSize Yap_heap_regs->AtomHashTableSize_
|
||||
#define WideAtomHashTableSize Yap_heap_regs->WideAtomHashTableSize_
|
||||
#define NOfWideAtoms Yap_heap_regs->NOfWideAtoms_
|
||||
#define INVISIBLECHAIN Yap_heap_regs->INVISIBLECHAIN_
|
||||
#define WideHashChain Yap_heap_regs->WideHashChain_
|
||||
#define HashChain Yap_heap_regs->HashChain_
|
||||
|
||||
|
||||
#ifdef EUROTRA
|
||||
#define TermDollarU Yap_heap_regs->TermDollarU_
|
||||
#endif
|
||||
|
||||
#define USER_MODULE Yap_heap_regs->USER_MODULE_
|
||||
#define IDB_MODULE Yap_heap_regs->IDB_MODULE_
|
||||
#define ATTRIBUTES_MODULE Yap_heap_regs->ATTRIBUTES_MODULE_
|
||||
#define CHARSIO_MODULE Yap_heap_regs->CHARSIO_MODULE_
|
||||
#define CHTYPE_MODULE Yap_heap_regs->CHTYPE_MODULE_
|
||||
#define TERMS_MODULE Yap_heap_regs->TERMS_MODULE_
|
||||
#define SYSTEM_MODULE Yap_heap_regs->SYSTEM_MODULE_
|
||||
#define READUTIL_MODULE Yap_heap_regs->READUTIL_MODULE_
|
||||
#define HACKS_MODULE Yap_heap_regs->HACKS_MODULE_
|
||||
#define ARG_MODULE Yap_heap_regs->ARG_MODULE_
|
||||
#define GLOBALS_MODULE Yap_heap_regs->GLOBALS_MODULE_
|
||||
#define SWI_MODULE Yap_heap_regs->SWI_MODULE_
|
||||
#define DBLOAD_MODULE Yap_heap_regs->DBLOAD_MODULE_
|
||||
#define RANGE_MODULE Yap_heap_regs->RANGE_MODULE_
|
||||
#define ERROR_MODULE Yap_heap_regs->ERROR_MODULE_
|
||||
|
||||
|
||||
|
||||
#define CurrentModules Yap_heap_regs->CurrentModules_
|
||||
|
||||
|
||||
|
||||
|
||||
#define HIDDEN_PREDICATES Yap_heap_regs->HIDDEN_PREDICATES_
|
||||
|
||||
|
||||
|
||||
#define GLOBAL_Flags Yap_heap_regs->GLOBAL_Flags_
|
||||
#define GLOBAL_flagCount Yap_heap_regs->GLOBAL_flagCount_
|
||||
|
||||
#define Yap_ExecutionMode Yap_heap_regs->Yap_ExecutionMode_
|
||||
|
||||
#define PredsInHashTable Yap_heap_regs->PredsInHashTable_
|
||||
#define PredHashTableSize Yap_heap_regs->PredHashTableSize_
|
||||
#define PredHash Yap_heap_regs->PredHash_
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define PredHashRWLock Yap_heap_regs->PredHashRWLock_
|
||||
#endif
|
||||
|
||||
#define CreepCode Yap_heap_regs->CreepCode_
|
||||
#define UndefCode Yap_heap_regs->UndefCode_
|
||||
#define SpyCode Yap_heap_regs->SpyCode_
|
||||
#define PredFail Yap_heap_regs->PredFail_
|
||||
#define PredTrue Yap_heap_regs->PredTrue_
|
||||
#ifdef COROUTINING
|
||||
#define WakeUpCode Yap_heap_regs->WakeUpCode_
|
||||
#endif
|
||||
#define PredDollarCatch Yap_heap_regs->PredDollarCatch_
|
||||
#ifdef YAPOR
|
||||
#define PredGetwork Yap_heap_regs->PredGetwork_
|
||||
#endif /* YAPOR */
|
||||
#define PredGoalExpansion Yap_heap_regs->PredGoalExpansion_
|
||||
#define PredHandleThrow Yap_heap_regs->PredHandleThrow_
|
||||
#define PredIs Yap_heap_regs->PredIs_
|
||||
#define PredLogUpdClause Yap_heap_regs->PredLogUpdClause_
|
||||
#define PredLogUpdClauseErase Yap_heap_regs->PredLogUpdClauseErase_
|
||||
#define PredLogUpdClause0 Yap_heap_regs->PredLogUpdClause0_
|
||||
#define PredMetaCall Yap_heap_regs->PredMetaCall_
|
||||
#define PredProtectStack Yap_heap_regs->PredProtectStack_
|
||||
#define PredRecordedWithKey Yap_heap_regs->PredRecordedWithKey_
|
||||
#define PredRestoreRegs Yap_heap_regs->PredRestoreRegs_
|
||||
#define PredSafeCallCleanup Yap_heap_regs->PredSafeCallCleanup_
|
||||
#define PredStaticClause Yap_heap_regs->PredStaticClause_
|
||||
#define PredThrow Yap_heap_regs->PredThrow_
|
||||
#define PredTraceMetaCall Yap_heap_regs->PredTraceMetaCall_
|
||||
#define PredCommentHook Yap_heap_regs->PredCommentHook_
|
||||
#define PredProcedure Yap_heap_regs->PredProcedure_
|
||||
#define PredUndefinedQuery Yap_heap_regs->PredUndefinedQuery_
|
||||
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
#define Yap_do_low_level_trace Yap_heap_regs->Yap_do_low_level_trace_
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define Yap_low_level_trace_lock Yap_heap_regs->Yap_low_level_trace_lock_
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define Yap_ClauseSpace Yap_heap_regs->Yap_ClauseSpace_
|
||||
#define Yap_IndexSpace_Tree Yap_heap_regs->Yap_IndexSpace_Tree_
|
||||
#define Yap_IndexSpace_EXT Yap_heap_regs->Yap_IndexSpace_EXT_
|
||||
#define Yap_IndexSpace_SW Yap_heap_regs->Yap_IndexSpace_SW_
|
||||
#define Yap_LUClauseSpace Yap_heap_regs->Yap_LUClauseSpace_
|
||||
#define Yap_LUIndexSpace_Tree Yap_heap_regs->Yap_LUIndexSpace_Tree_
|
||||
#define Yap_LUIndexSpace_CP Yap_heap_regs->Yap_LUIndexSpace_CP_
|
||||
#define Yap_LUIndexSpace_EXT Yap_heap_regs->Yap_LUIndexSpace_EXT_
|
||||
#define Yap_LUIndexSpace_SW Yap_heap_regs->Yap_LUIndexSpace_SW_
|
||||
|
||||
#define COMMA_CODE Yap_heap_regs->COMMA_CODE_
|
||||
#define DUMMYCODE Yap_heap_regs->DUMMYCODE_
|
||||
#define FAILCODE Yap_heap_regs->FAILCODE_
|
||||
#define NOCODE Yap_heap_regs->NOCODE_
|
||||
#define ENV_FOR_TRUSTFAIL Yap_heap_regs->ENV_FOR_TRUSTFAIL_
|
||||
#define TRUSTFAILCODE Yap_heap_regs->TRUSTFAILCODE_
|
||||
#define ENV_FOR_YESCODE Yap_heap_regs->ENV_FOR_YESCODE_
|
||||
#define YESCODE Yap_heap_regs->YESCODE_
|
||||
#define RTRYCODE Yap_heap_regs->RTRYCODE_
|
||||
#ifdef BEAM
|
||||
#define BEAM_RETRY_CODE Yap_heap_regs->BEAM_RETRY_CODE_
|
||||
#endif /* BEAM */
|
||||
#ifdef YAPOR
|
||||
#define GETWORK Yap_heap_regs->GETWORK_
|
||||
#define GETWORK_SEQ Yap_heap_regs->GETWORK_SEQ_
|
||||
#define GETWORK_FIRST_TIME Yap_heap_regs->GETWORK_FIRST_TIME_
|
||||
#endif /* YAPOR */
|
||||
#ifdef TABLING
|
||||
#define LOAD_ANSWER Yap_heap_regs->LOAD_ANSWER_
|
||||
#define TRY_ANSWER Yap_heap_regs->TRY_ANSWER_
|
||||
#define ANSWER_RESOLUTION Yap_heap_regs->ANSWER_RESOLUTION_
|
||||
#define COMPLETION Yap_heap_regs->COMPLETION_
|
||||
#ifdef THREADS_CONSUMER_SHARING
|
||||
#define ANSWER_RESOLUTION_COMPLETION Yap_heap_regs->ANSWER_RESOLUTION_COMPLETION_
|
||||
#endif /* THREADS_CONSUMER_SHARING */
|
||||
#endif /* TABLING */
|
||||
|
||||
|
||||
|
||||
|
||||
#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_RECORDED_K_CODE Yap_heap_regs->RETRY_C_RECORDED_K_CODE_
|
||||
|
||||
#define PROFILING Yap_heap_regs->PROFILING_
|
||||
#define CALL_COUNTING Yap_heap_regs->CALL_COUNTING_
|
||||
#define optimizer_on Yap_heap_regs->optimizer_on_
|
||||
#define compile_mode Yap_heap_regs->compile_mode_
|
||||
#define profiling Yap_heap_regs->profiling_
|
||||
#define call_counting Yap_heap_regs->call_counting_
|
||||
|
||||
#define compile_arrays Yap_heap_regs->compile_arrays_
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define DBTermsListLock Yap_heap_regs->DBTermsListLock_
|
||||
#endif
|
||||
#define DBTermsList Yap_heap_regs->DBTermsList_
|
||||
|
||||
#define ExpandClausesFirst Yap_heap_regs->ExpandClausesFirst_
|
||||
#define ExpandClausesLast Yap_heap_regs->ExpandClausesLast_
|
||||
#define Yap_ExpandClauses Yap_heap_regs->Yap_ExpandClauses_
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define ExpandClausesListLock Yap_heap_regs->ExpandClausesListLock_
|
||||
#define OpListLock Yap_heap_regs->OpListLock_
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
#define Yap_NewCps Yap_heap_regs->Yap_NewCps_
|
||||
#define Yap_LiveCps Yap_heap_regs->Yap_LiveCps_
|
||||
#define Yap_DirtyCps Yap_heap_regs->Yap_DirtyCps_
|
||||
#define Yap_FreedCps Yap_heap_regs->Yap_FreedCps_
|
||||
#endif
|
||||
#define Yap_expand_clauses_sz Yap_heap_regs->Yap_expand_clauses_sz_
|
||||
|
||||
#define UdiControlBlocks Yap_heap_regs->UdiControlBlocks_
|
||||
|
||||
|
||||
#define STATIC_PREDICATES_MARKED Yap_heap_regs->STATIC_PREDICATES_MARKED_
|
||||
|
||||
#define INT_KEYS Yap_heap_regs->INT_KEYS_
|
||||
#define INT_LU_KEYS Yap_heap_regs->INT_LU_KEYS_
|
||||
#define INT_BB_KEYS Yap_heap_regs->INT_BB_KEYS_
|
||||
|
||||
#define INT_KEYS_SIZE Yap_heap_regs->INT_KEYS_SIZE_
|
||||
#define INT_KEYS_TIMESTAMP Yap_heap_regs->INT_KEYS_TIMESTAMP_
|
||||
#define INT_BB_KEYS_SIZE Yap_heap_regs->INT_BB_KEYS_SIZE_
|
||||
|
||||
#define UPDATE_MODE Yap_heap_regs->UPDATE_MODE_
|
||||
|
||||
#define DBErasedMarker Yap_heap_regs->DBErasedMarker_
|
||||
#define LogDBErasedMarker Yap_heap_regs->LogDBErasedMarker_
|
||||
|
||||
#define DeadStaticClauses Yap_heap_regs->DeadStaticClauses_
|
||||
#define DeadMegaClauses Yap_heap_regs->DeadMegaClauses_
|
||||
#define DeadStaticIndices Yap_heap_regs->DeadStaticIndices_
|
||||
#define DBErasedList Yap_heap_regs->DBErasedList_
|
||||
#define DBErasedIList Yap_heap_regs->DBErasedIList_
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define DeadStaticClausesLock Yap_heap_regs->DeadStaticClausesLock_
|
||||
#define DeadMegaClausesLock Yap_heap_regs->DeadMegaClausesLock_
|
||||
#define DeadStaticIndicesLock Yap_heap_regs->DeadStaticIndicesLock_
|
||||
#endif
|
||||
#ifdef COROUTINING
|
||||
|
||||
#define NUM_OF_ATTS Yap_heap_regs->NUM_OF_ATTS_
|
||||
|
||||
#define Yap_AttsSize Yap_heap_regs->Yap_AttsSize_
|
||||
#endif
|
||||
|
||||
#define OpList Yap_heap_regs->OpList_
|
||||
|
||||
#define ForeignCodeLoaded Yap_heap_regs->ForeignCodeLoaded_
|
||||
#define ForeignCodeBase Yap_heap_regs->ForeignCodeBase_
|
||||
#define ForeignCodeTop Yap_heap_regs->ForeignCodeTop_
|
||||
#define ForeignCodeMax Yap_heap_regs->ForeignCodeMax_
|
||||
|
||||
#define Yap_Records Yap_heap_regs->Yap_Records_
|
||||
#define EmptyWakeups Yap_heap_regs->EmptyWakeups_
|
||||
#define MaxEmptyWakeups Yap_heap_regs->MaxEmptyWakeups_
|
||||
|
||||
#define BlobTypes Yap_heap_regs->BlobTypes_
|
||||
#define Blobs Yap_heap_regs->Blobs_
|
||||
#define NOfBlobs Yap_heap_regs->NOfBlobs_
|
||||
#define NOfBlobsMax Yap_heap_regs->NOfBlobsMax_
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
#define Blobs_Lock Yap_heap_regs->Blobs_Lock_
|
||||
#endif
|
||||
|
||||
|
@ -1,478 +1,478 @@
|
||||
|
||||
/* This file, dlocals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/LOCALS instead */
|
||||
|
||||
|
||||
|
||||
|
||||
#define LOCAL_c_input_stream LOCAL->c_input_stream_
|
||||
#define REMOTE_c_input_stream(wid) REMOTE(wid)->c_input_stream_
|
||||
#define LOCAL_c_output_stream LOCAL->c_output_stream_
|
||||
#define REMOTE_c_output_stream(wid) REMOTE(wid)->c_output_stream_
|
||||
#define LOCAL_c_error_stream LOCAL->c_error_stream_
|
||||
#define REMOTE_c_error_stream(wid) REMOTE(wid)->c_error_stream_
|
||||
#define LOCAL_sockets_io LOCAL->sockets_io_
|
||||
#define REMOTE_sockets_io(wid) REMOTE(wid)->sockets_io_
|
||||
#define LOCAL_within_print_message LOCAL->within_print_message_
|
||||
#define REMOTE_within_print_message(wid) REMOTE(wid)->within_print_message_
|
||||
|
||||
|
||||
|
||||
|
||||
#define LOCAL_newline LOCAL->newline_
|
||||
#define REMOTE_newline(wid) REMOTE(wid)->newline_
|
||||
#define LOCAL_AtPrompt LOCAL->AtPrompt_
|
||||
#define REMOTE_AtPrompt(wid) REMOTE(wid)->AtPrompt_
|
||||
#define LOCAL_Prompt LOCAL->Prompt_
|
||||
#define REMOTE_Prompt(wid) REMOTE(wid)->Prompt_
|
||||
#define LOCAL_encoding LOCAL->encoding_
|
||||
#define REMOTE_encoding(wid) REMOTE(wid)->encoding_
|
||||
#define LOCAL_quasi_quotations LOCAL->quasi_quotations_
|
||||
#define REMOTE_quasi_quotations(wid) REMOTE(wid)->quasi_quotations_
|
||||
#define LOCAL_default_priority LOCAL->default_priority_
|
||||
#define REMOTE_default_priority(wid) REMOTE(wid)->default_priority_
|
||||
#define LOCAL_eot_before_eof LOCAL->eot_before_eof_
|
||||
#define REMOTE_eot_before_eof(wid) REMOTE(wid)->eot_before_eof_
|
||||
#define LOCAL_max_depth LOCAL->max_depth_
|
||||
#define REMOTE_max_depth(wid) REMOTE(wid)->max_depth_
|
||||
#define LOCAL_max_list LOCAL->max_list_
|
||||
#define REMOTE_max_list(wid) REMOTE(wid)->max_list_
|
||||
#define LOCAL_max_write_args LOCAL->max_write_args_
|
||||
#define REMOTE_max_write_args(wid) REMOTE(wid)->max_write_args_
|
||||
|
||||
#define LOCAL_OldASP LOCAL->OldASP_
|
||||
#define REMOTE_OldASP(wid) REMOTE(wid)->OldASP_
|
||||
#define LOCAL_OldLCL0 LOCAL->OldLCL0_
|
||||
#define REMOTE_OldLCL0(wid) REMOTE(wid)->OldLCL0_
|
||||
#define LOCAL_OldTR LOCAL->OldTR_
|
||||
#define REMOTE_OldTR(wid) REMOTE(wid)->OldTR_
|
||||
#define LOCAL_OldGlobalBase LOCAL->OldGlobalBase_
|
||||
#define REMOTE_OldGlobalBase(wid) REMOTE(wid)->OldGlobalBase_
|
||||
#define LOCAL_OldH LOCAL->OldH_
|
||||
#define REMOTE_OldH(wid) REMOTE(wid)->OldH_
|
||||
#define LOCAL_OldH0 LOCAL->OldH0_
|
||||
#define REMOTE_OldH0(wid) REMOTE(wid)->OldH0_
|
||||
#define LOCAL_OldTrailBase LOCAL->OldTrailBase_
|
||||
#define REMOTE_OldTrailBase(wid) REMOTE(wid)->OldTrailBase_
|
||||
#define LOCAL_OldTrailTop LOCAL->OldTrailTop_
|
||||
#define REMOTE_OldTrailTop(wid) REMOTE(wid)->OldTrailTop_
|
||||
#define LOCAL_OldHeapBase LOCAL->OldHeapBase_
|
||||
#define REMOTE_OldHeapBase(wid) REMOTE(wid)->OldHeapBase_
|
||||
#define LOCAL_OldHeapTop LOCAL->OldHeapTop_
|
||||
#define REMOTE_OldHeapTop(wid) REMOTE(wid)->OldHeapTop_
|
||||
#define LOCAL_ClDiff LOCAL->ClDiff_
|
||||
#define REMOTE_ClDiff(wid) REMOTE(wid)->ClDiff_
|
||||
#define LOCAL_GDiff LOCAL->GDiff_
|
||||
#define REMOTE_GDiff(wid) REMOTE(wid)->GDiff_
|
||||
#define LOCAL_HDiff LOCAL->HDiff_
|
||||
#define REMOTE_HDiff(wid) REMOTE(wid)->HDiff_
|
||||
#define LOCAL_GDiff0 LOCAL->GDiff0_
|
||||
#define REMOTE_GDiff0(wid) REMOTE(wid)->GDiff0_
|
||||
#define LOCAL_GSplit LOCAL->GSplit_
|
||||
#define REMOTE_GSplit(wid) REMOTE(wid)->GSplit_
|
||||
#define LOCAL_LDiff LOCAL->LDiff_
|
||||
#define REMOTE_LDiff(wid) REMOTE(wid)->LDiff_
|
||||
#define LOCAL_TrDiff LOCAL->TrDiff_
|
||||
#define REMOTE_TrDiff(wid) REMOTE(wid)->TrDiff_
|
||||
#define LOCAL_XDiff LOCAL->XDiff_
|
||||
#define REMOTE_XDiff(wid) REMOTE(wid)->XDiff_
|
||||
#define LOCAL_DelayDiff LOCAL->DelayDiff_
|
||||
#define REMOTE_DelayDiff(wid) REMOTE(wid)->DelayDiff_
|
||||
#define LOCAL_BaseDiff LOCAL->BaseDiff_
|
||||
#define REMOTE_BaseDiff(wid) REMOTE(wid)->BaseDiff_
|
||||
|
||||
#define LOCAL_ReductionsCounter LOCAL->ReductionsCounter_
|
||||
#define REMOTE_ReductionsCounter(wid) REMOTE(wid)->ReductionsCounter_
|
||||
#define LOCAL_PredEntriesCounter LOCAL->PredEntriesCounter_
|
||||
#define REMOTE_PredEntriesCounter(wid) REMOTE(wid)->PredEntriesCounter_
|
||||
#define LOCAL_RetriesCounter LOCAL->RetriesCounter_
|
||||
#define REMOTE_RetriesCounter(wid) REMOTE(wid)->RetriesCounter_
|
||||
#define LOCAL_ReductionsCounterOn LOCAL->ReductionsCounterOn_
|
||||
#define REMOTE_ReductionsCounterOn(wid) REMOTE(wid)->ReductionsCounterOn_
|
||||
#define LOCAL_PredEntriesCounterOn LOCAL->PredEntriesCounterOn_
|
||||
#define REMOTE_PredEntriesCounterOn(wid) REMOTE(wid)->PredEntriesCounterOn_
|
||||
#define LOCAL_RetriesCounterOn LOCAL->RetriesCounterOn_
|
||||
#define REMOTE_RetriesCounterOn(wid) REMOTE(wid)->RetriesCounterOn_
|
||||
|
||||
|
||||
#define LOCAL_ConsultSp LOCAL->ConsultSp_
|
||||
#define REMOTE_ConsultSp(wid) REMOTE(wid)->ConsultSp_
|
||||
|
||||
#define LOCAL_ConsultCapacity LOCAL->ConsultCapacity_
|
||||
#define REMOTE_ConsultCapacity(wid) REMOTE(wid)->ConsultCapacity_
|
||||
|
||||
#define LOCAL_ConsultBase LOCAL->ConsultBase_
|
||||
#define REMOTE_ConsultBase(wid) REMOTE(wid)->ConsultBase_
|
||||
|
||||
#define LOCAL_ConsultLow LOCAL->ConsultLow_
|
||||
#define REMOTE_ConsultLow(wid) REMOTE(wid)->ConsultLow_
|
||||
#define LOCAL_VarNames LOCAL->VarNames_
|
||||
#define REMOTE_VarNames(wid) REMOTE(wid)->VarNames_
|
||||
#define LOCAL_SourceFileName LOCAL->SourceFileName_
|
||||
#define REMOTE_SourceFileName(wid) REMOTE(wid)->SourceFileName_
|
||||
#define LOCAL_SourceFileLineno LOCAL->SourceFileLineno_
|
||||
#define REMOTE_SourceFileLineno(wid) REMOTE(wid)->SourceFileLineno_
|
||||
|
||||
#define LOCAL_GlobalArena LOCAL->GlobalArena_
|
||||
#define REMOTE_GlobalArena(wid) REMOTE(wid)->GlobalArena_
|
||||
#define LOCAL_GlobalArenaOverflows LOCAL->GlobalArenaOverflows_
|
||||
#define REMOTE_GlobalArenaOverflows(wid) REMOTE(wid)->GlobalArenaOverflows_
|
||||
#define LOCAL_ArenaOverflows LOCAL->ArenaOverflows_
|
||||
#define REMOTE_ArenaOverflows(wid) REMOTE(wid)->ArenaOverflows_
|
||||
#define LOCAL_DepthArenas LOCAL->DepthArenas_
|
||||
#define REMOTE_DepthArenas(wid) REMOTE(wid)->DepthArenas_
|
||||
#define LOCAL_LastAssertedPred LOCAL->LastAssertedPred_
|
||||
#define REMOTE_LastAssertedPred(wid) REMOTE(wid)->LastAssertedPred_
|
||||
#define LOCAL_TmpPred LOCAL->TmpPred_
|
||||
#define REMOTE_TmpPred(wid) REMOTE(wid)->TmpPred_
|
||||
#define LOCAL_ScannerStack LOCAL->ScannerStack_
|
||||
#define REMOTE_ScannerStack(wid) REMOTE(wid)->ScannerStack_
|
||||
#define LOCAL_ScannerExtraBlocks LOCAL->ScannerExtraBlocks_
|
||||
#define REMOTE_ScannerExtraBlocks(wid) REMOTE(wid)->ScannerExtraBlocks_
|
||||
|
||||
|
||||
#define LOCAL_CBorder LOCAL->CBorder_
|
||||
#define REMOTE_CBorder(wid) REMOTE(wid)->CBorder_
|
||||
|
||||
#define LOCAL_MaxActiveSignals LOCAL->MaxActiveSignals_
|
||||
#define REMOTE_MaxActiveSignals(wid) REMOTE(wid)->MaxActiveSignals_
|
||||
|
||||
#define LOCAL_Signals LOCAL->Signals_
|
||||
#define REMOTE_Signals(wid) REMOTE(wid)->Signals_
|
||||
|
||||
#define LOCAL_IPredArity LOCAL->IPredArity_
|
||||
#define REMOTE_IPredArity(wid) REMOTE(wid)->IPredArity_
|
||||
#define LOCAL_ProfEnd LOCAL->ProfEnd_
|
||||
#define REMOTE_ProfEnd(wid) REMOTE(wid)->ProfEnd_
|
||||
#define LOCAL_DoingUndefp LOCAL->DoingUndefp_
|
||||
#define REMOTE_DoingUndefp(wid) REMOTE(wid)->DoingUndefp_
|
||||
#define LOCAL_StartCharCount LOCAL->StartCharCount_
|
||||
#define REMOTE_StartCharCount(wid) REMOTE(wid)->StartCharCount_
|
||||
#define LOCAL_StartLineCount LOCAL->StartLineCount_
|
||||
#define REMOTE_StartLineCount(wid) REMOTE(wid)->StartLineCount_
|
||||
#define LOCAL_StartLinePos LOCAL->StartLinePos_
|
||||
#define REMOTE_StartLinePos(wid) REMOTE(wid)->StartLinePos_
|
||||
#define LOCAL_ScratchPad LOCAL->ScratchPad_
|
||||
#define REMOTE_ScratchPad(wid) REMOTE(wid)->ScratchPad_
|
||||
#ifdef COROUTINING
|
||||
#define LOCAL_WokenGoals LOCAL->WokenGoals_
|
||||
#define REMOTE_WokenGoals(wid) REMOTE(wid)->WokenGoals_
|
||||
#define LOCAL_AttsMutableList LOCAL->AttsMutableList_
|
||||
#define REMOTE_AttsMutableList(wid) REMOTE(wid)->AttsMutableList_
|
||||
#endif
|
||||
|
||||
#define LOCAL_GcGeneration LOCAL->GcGeneration_
|
||||
#define REMOTE_GcGeneration(wid) REMOTE(wid)->GcGeneration_
|
||||
#define LOCAL_GcPhase LOCAL->GcPhase_
|
||||
#define REMOTE_GcPhase(wid) REMOTE(wid)->GcPhase_
|
||||
#define LOCAL_GcCurrentPhase LOCAL->GcCurrentPhase_
|
||||
#define REMOTE_GcCurrentPhase(wid) REMOTE(wid)->GcCurrentPhase_
|
||||
#define LOCAL_GcCalls LOCAL->GcCalls_
|
||||
#define REMOTE_GcCalls(wid) REMOTE(wid)->GcCalls_
|
||||
#define LOCAL_TotGcTime LOCAL->TotGcTime_
|
||||
#define REMOTE_TotGcTime(wid) REMOTE(wid)->TotGcTime_
|
||||
#define LOCAL_TotGcRecovered LOCAL->TotGcRecovered_
|
||||
#define REMOTE_TotGcRecovered(wid) REMOTE(wid)->TotGcRecovered_
|
||||
#define LOCAL_LastGcTime LOCAL->LastGcTime_
|
||||
#define REMOTE_LastGcTime(wid) REMOTE(wid)->LastGcTime_
|
||||
#define LOCAL_LastSSTime LOCAL->LastSSTime_
|
||||
#define REMOTE_LastSSTime(wid) REMOTE(wid)->LastSSTime_
|
||||
#define LOCAL_OpenArray LOCAL->OpenArray_
|
||||
#define REMOTE_OpenArray(wid) REMOTE(wid)->OpenArray_
|
||||
|
||||
#define LOCAL_total_marked LOCAL->total_marked_
|
||||
#define REMOTE_total_marked(wid) REMOTE(wid)->total_marked_
|
||||
#define LOCAL_total_oldies LOCAL->total_oldies_
|
||||
#define REMOTE_total_oldies(wid) REMOTE(wid)->total_oldies_
|
||||
#define LOCAL_current_B LOCAL->current_B_
|
||||
#define REMOTE_current_B(wid) REMOTE(wid)->current_B_
|
||||
#define LOCAL_prev_HB LOCAL->prev_HB_
|
||||
#define REMOTE_prev_HB(wid) REMOTE(wid)->prev_HB_
|
||||
#define LOCAL_HGEN LOCAL->HGEN_
|
||||
#define REMOTE_HGEN(wid) REMOTE(wid)->HGEN_
|
||||
#define LOCAL_iptop LOCAL->iptop_
|
||||
#define REMOTE_iptop(wid) REMOTE(wid)->iptop_
|
||||
#if defined(GC_NO_TAGS)
|
||||
#define LOCAL_bp LOCAL->bp_
|
||||
#define REMOTE_bp(wid) REMOTE(wid)->bp_
|
||||
#endif
|
||||
#define LOCAL_sTR LOCAL->sTR_
|
||||
#define REMOTE_sTR(wid) REMOTE(wid)->sTR_
|
||||
#define LOCAL_sTR0 LOCAL->sTR0_
|
||||
#define REMOTE_sTR0(wid) REMOTE(wid)->sTR0_
|
||||
#define LOCAL_new_TR LOCAL->new_TR_
|
||||
#define REMOTE_new_TR(wid) REMOTE(wid)->new_TR_
|
||||
#define LOCAL_cont_top0 LOCAL->cont_top0_
|
||||
#define REMOTE_cont_top0(wid) REMOTE(wid)->cont_top0_
|
||||
#define LOCAL_cont_top LOCAL->cont_top_
|
||||
#define REMOTE_cont_top(wid) REMOTE(wid)->cont_top_
|
||||
#define LOCAL_discard_trail_entries LOCAL->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 REMOTE_gc_ma_hash_table(wid) REMOTE(wid)->gc_ma_hash_table_
|
||||
#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 LOCAL_gc_ma_h_list LOCAL->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 REMOTE_gc_timestamp(wid) REMOTE(wid)->gc_timestamp_
|
||||
#define LOCAL_db_vec LOCAL->db_vec_
|
||||
#define REMOTE_db_vec(wid) REMOTE(wid)->db_vec_
|
||||
#define LOCAL_db_vec0 LOCAL->db_vec0_
|
||||
#define REMOTE_db_vec0(wid) REMOTE(wid)->db_vec0_
|
||||
#define LOCAL_db_root LOCAL->db_root_
|
||||
#define REMOTE_db_root(wid) REMOTE(wid)->db_root_
|
||||
#define LOCAL_db_nil LOCAL->db_nil_
|
||||
#define REMOTE_db_nil(wid) REMOTE(wid)->db_nil_
|
||||
#define LOCAL_gc_restore LOCAL->gc_restore_
|
||||
#define REMOTE_gc_restore(wid) REMOTE(wid)->gc_restore_
|
||||
#define LOCAL_extra_gc_cells LOCAL->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 REMOTE_extra_gc_cells_base(wid) REMOTE(wid)->extra_gc_cells_base_
|
||||
#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 LOCAL_extra_gc_cells_size LOCAL->extra_gc_cells_size_
|
||||
#define REMOTE_extra_gc_cells_size(wid) REMOTE(wid)->extra_gc_cells_size_
|
||||
#define LOCAL_DynamicArrays LOCAL->DynamicArrays_
|
||||
#define REMOTE_DynamicArrays(wid) REMOTE(wid)->DynamicArrays_
|
||||
#define LOCAL_StaticArrays LOCAL->StaticArrays_
|
||||
#define REMOTE_StaticArrays(wid) REMOTE(wid)->StaticArrays_
|
||||
#define LOCAL_GlobalVariables LOCAL->GlobalVariables_
|
||||
#define REMOTE_GlobalVariables(wid) REMOTE(wid)->GlobalVariables_
|
||||
#define LOCAL_AllowRestart LOCAL->AllowRestart_
|
||||
#define REMOTE_AllowRestart(wid) REMOTE(wid)->AllowRestart_
|
||||
|
||||
#define LOCAL_CMemFirstBlock LOCAL->CMemFirstBlock_
|
||||
#define REMOTE_CMemFirstBlock(wid) REMOTE(wid)->CMemFirstBlock_
|
||||
#define LOCAL_CMemFirstBlockSz LOCAL->CMemFirstBlockSz_
|
||||
#define REMOTE_CMemFirstBlockSz(wid) REMOTE(wid)->CMemFirstBlockSz_
|
||||
|
||||
#define LOCAL_nperm LOCAL->nperm_
|
||||
#define REMOTE_nperm(wid) REMOTE(wid)->nperm_
|
||||
#define LOCAL_jMP LOCAL->jMP_
|
||||
#define REMOTE_jMP(wid) REMOTE(wid)->jMP_
|
||||
|
||||
#define LOCAL_LabelFirstArray LOCAL->LabelFirstArray_
|
||||
#define REMOTE_LabelFirstArray(wid) REMOTE(wid)->LabelFirstArray_
|
||||
#define LOCAL_LabelFirstArraySz LOCAL->LabelFirstArraySz_
|
||||
#define REMOTE_LabelFirstArraySz(wid) REMOTE(wid)->LabelFirstArraySz_
|
||||
|
||||
|
||||
#ifdef THREADS
|
||||
#define LOCAL_ThreadHandle LOCAL->ThreadHandle_
|
||||
#define REMOTE_ThreadHandle(wid) REMOTE(wid)->ThreadHandle_
|
||||
#endif /* THREADS */
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
#define LOCAL_optyap_data LOCAL->optyap_data_
|
||||
#define REMOTE_optyap_data(wid) REMOTE(wid)->optyap_data_
|
||||
#define LOCAL_TabMode LOCAL->TabMode_
|
||||
#define REMOTE_TabMode(wid) REMOTE(wid)->TabMode_
|
||||
#endif /* YAPOR || TABLING */
|
||||
#define LOCAL_InterruptsDisabled LOCAL->InterruptsDisabled_
|
||||
#define REMOTE_InterruptsDisabled(wid) REMOTE(wid)->InterruptsDisabled_
|
||||
#define LOCAL_execution LOCAL->execution_
|
||||
#define REMOTE_execution(wid) REMOTE(wid)->execution_
|
||||
#if LOW_LEVEL_TRACER
|
||||
#define LOCAL_total_choicepoints LOCAL->total_choicepoints_
|
||||
#define REMOTE_total_choicepoints(wid) REMOTE(wid)->total_choicepoints_
|
||||
#endif
|
||||
#define LOCAL_consult_level LOCAL->consult_level_
|
||||
#define REMOTE_consult_level(wid) REMOTE(wid)->consult_level_
|
||||
|
||||
#define LOCAL_LocalBase LOCAL->LocalBase_
|
||||
#define REMOTE_LocalBase(wid) REMOTE(wid)->LocalBase_
|
||||
#define LOCAL_GlobalBase LOCAL->GlobalBase_
|
||||
#define REMOTE_GlobalBase(wid) REMOTE(wid)->GlobalBase_
|
||||
#define LOCAL_TrailBase LOCAL->TrailBase_
|
||||
#define REMOTE_TrailBase(wid) REMOTE(wid)->TrailBase_
|
||||
#define LOCAL_TrailTop LOCAL->TrailTop_
|
||||
#define REMOTE_TrailTop(wid) REMOTE(wid)->TrailTop_
|
||||
|
||||
#define LOCAL_ActiveError LOCAL->ActiveError_
|
||||
#define REMOTE_ActiveError(wid) REMOTE(wid)->ActiveError_
|
||||
|
||||
#define LOCAL_IOBotch LOCAL->IOBotch_
|
||||
#define REMOTE_IOBotch(wid) REMOTE(wid)->IOBotch_
|
||||
#define LOCAL_tokptr LOCAL->tokptr_
|
||||
#define REMOTE_tokptr(wid) REMOTE(wid)->tokptr_
|
||||
#define LOCAL_toktide LOCAL->toktide_
|
||||
#define REMOTE_toktide(wid) REMOTE(wid)->toktide_
|
||||
#define LOCAL_VarTable LOCAL->VarTable_
|
||||
#define REMOTE_VarTable(wid) REMOTE(wid)->VarTable_
|
||||
#define LOCAL_AnonVarTable LOCAL->AnonVarTable_
|
||||
#define REMOTE_AnonVarTable(wid) REMOTE(wid)->AnonVarTable_
|
||||
#define LOCAL_Comments LOCAL->Comments_
|
||||
#define REMOTE_Comments(wid) REMOTE(wid)->Comments_
|
||||
#define LOCAL_CommentsTail LOCAL->CommentsTail_
|
||||
#define REMOTE_CommentsTail(wid) REMOTE(wid)->CommentsTail_
|
||||
#define LOCAL_CommentsNextChar LOCAL->CommentsNextChar_
|
||||
#define REMOTE_CommentsNextChar(wid) REMOTE(wid)->CommentsNextChar_
|
||||
#define LOCAL_CommentsBuff LOCAL->CommentsBuff_
|
||||
#define REMOTE_CommentsBuff(wid) REMOTE(wid)->CommentsBuff_
|
||||
#define LOCAL_CommentsBuffPos LOCAL->CommentsBuffPos_
|
||||
#define REMOTE_CommentsBuffPos(wid) REMOTE(wid)->CommentsBuffPos_
|
||||
#define LOCAL_CommentsBuffLim LOCAL->CommentsBuffLim_
|
||||
#define REMOTE_CommentsBuffLim(wid) REMOTE(wid)->CommentsBuffLim_
|
||||
#define LOCAL_RestartEnv LOCAL->RestartEnv_
|
||||
#define REMOTE_RestartEnv(wid) REMOTE(wid)->RestartEnv_
|
||||
#define LOCAL_FileNameBuf LOCAL->FileNameBuf_
|
||||
#define REMOTE_FileNameBuf(wid) REMOTE(wid)->FileNameBuf_
|
||||
#define LOCAL_FileNameBuf2 LOCAL->FileNameBuf2_
|
||||
#define REMOTE_FileNameBuf2(wid) REMOTE(wid)->FileNameBuf2_
|
||||
#define LOCAL_TextBuffer LOCAL->TextBuffer_
|
||||
#define REMOTE_TextBuffer(wid) REMOTE(wid)->TextBuffer_
|
||||
|
||||
#define LOCAL_BreakLevel LOCAL->BreakLevel_
|
||||
#define REMOTE_BreakLevel(wid) REMOTE(wid)->BreakLevel_
|
||||
#define LOCAL_PrologMode LOCAL->PrologMode_
|
||||
#define REMOTE_PrologMode(wid) REMOTE(wid)->PrologMode_
|
||||
#define LOCAL_CritLocks LOCAL->CritLocks_
|
||||
#define REMOTE_CritLocks(wid) REMOTE(wid)->CritLocks_
|
||||
|
||||
#define LOCAL_Flags LOCAL->Flags_
|
||||
#define REMOTE_Flags(wid) REMOTE(wid)->Flags_
|
||||
#define LOCAL_flagCount LOCAL->flagCount_
|
||||
#define REMOTE_flagCount(wid) REMOTE(wid)->flagCount_
|
||||
|
||||
|
||||
#ifdef ANALYST
|
||||
#define LOCAL_opcount LOCAL->opcount_
|
||||
#define REMOTE_opcount(wid) REMOTE(wid)->opcount_
|
||||
#define LOCAL_2opcount LOCAL->2opcount_
|
||||
#define REMOTE_2opcount(wid) REMOTE(wid)->2opcount_
|
||||
#endif /* ANALYST */
|
||||
|
||||
#define LOCAL_s_dbg LOCAL->s_dbg_
|
||||
#define REMOTE_s_dbg(wid) REMOTE(wid)->s_dbg_
|
||||
|
||||
#define LOCAL_mathtt LOCAL->mathtt_
|
||||
#define REMOTE_mathtt(wid) REMOTE(wid)->mathtt_
|
||||
#define LOCAL_mathstring LOCAL->mathstring_
|
||||
#define REMOTE_mathstring(wid) REMOTE(wid)->mathstring_
|
||||
|
||||
#define LOCAL_heap_overflows LOCAL->heap_overflows_
|
||||
#define REMOTE_heap_overflows(wid) REMOTE(wid)->heap_overflows_
|
||||
#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 LOCAL_stack_overflows LOCAL->stack_overflows_
|
||||
#define REMOTE_stack_overflows(wid) REMOTE(wid)->stack_overflows_
|
||||
#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 LOCAL_delay_overflows LOCAL->delay_overflows_
|
||||
#define REMOTE_delay_overflows(wid) REMOTE(wid)->delay_overflows_
|
||||
#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 LOCAL_trail_overflows LOCAL->trail_overflows_
|
||||
#define REMOTE_trail_overflows(wid) REMOTE(wid)->trail_overflows_
|
||||
#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 LOCAL_atom_table_overflows LOCAL->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 REMOTE_total_atom_table_overflow_time(wid) REMOTE(wid)->total_atom_table_overflow_time_
|
||||
|
||||
#ifdef LOAD_DYLD
|
||||
#define LOCAL_dl_errno LOCAL->dl_errno_
|
||||
#define REMOTE_dl_errno(wid) REMOTE(wid)->dl_errno_
|
||||
#endif
|
||||
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
#define LOCAL_do_trace_primitives LOCAL->do_trace_primitives_
|
||||
#define REMOTE_do_trace_primitives(wid) REMOTE(wid)->do_trace_primitives_
|
||||
#endif
|
||||
|
||||
#define LOCAL_ExportAtomHashChain LOCAL->ExportAtomHashChain_
|
||||
#define REMOTE_ExportAtomHashChain(wid) REMOTE(wid)->ExportAtomHashChain_
|
||||
#define LOCAL_ExportAtomHashTableSize LOCAL->ExportAtomHashTableSize_
|
||||
#define REMOTE_ExportAtomHashTableSize(wid) REMOTE(wid)->ExportAtomHashTableSize_
|
||||
#define LOCAL_ExportAtomHashTableNum LOCAL->ExportAtomHashTableNum_
|
||||
#define REMOTE_ExportAtomHashTableNum(wid) REMOTE(wid)->ExportAtomHashTableNum_
|
||||
#define LOCAL_ExportFunctorHashChain LOCAL->ExportFunctorHashChain_
|
||||
#define REMOTE_ExportFunctorHashChain(wid) REMOTE(wid)->ExportFunctorHashChain_
|
||||
#define LOCAL_ExportFunctorHashTableSize LOCAL->ExportFunctorHashTableSize_
|
||||
#define REMOTE_ExportFunctorHashTableSize(wid) REMOTE(wid)->ExportFunctorHashTableSize_
|
||||
#define LOCAL_ExportFunctorHashTableNum LOCAL->ExportFunctorHashTableNum_
|
||||
#define REMOTE_ExportFunctorHashTableNum(wid) REMOTE(wid)->ExportFunctorHashTableNum_
|
||||
#define LOCAL_ExportPredEntryHashChain LOCAL->ExportPredEntryHashChain_
|
||||
#define REMOTE_ExportPredEntryHashChain(wid) REMOTE(wid)->ExportPredEntryHashChain_
|
||||
#define LOCAL_ExportPredEntryHashTableSize LOCAL->ExportPredEntryHashTableSize_
|
||||
#define REMOTE_ExportPredEntryHashTableSize(wid) REMOTE(wid)->ExportPredEntryHashTableSize_
|
||||
#define LOCAL_ExportPredEntryHashTableNum LOCAL->ExportPredEntryHashTableNum_
|
||||
#define REMOTE_ExportPredEntryHashTableNum(wid) REMOTE(wid)->ExportPredEntryHashTableNum_
|
||||
#define LOCAL_ExportDBRefHashChain LOCAL->ExportDBRefHashChain_
|
||||
#define REMOTE_ExportDBRefHashChain(wid) REMOTE(wid)->ExportDBRefHashChain_
|
||||
#define LOCAL_ExportDBRefHashTableSize LOCAL->ExportDBRefHashTableSize_
|
||||
#define REMOTE_ExportDBRefHashTableSize(wid) REMOTE(wid)->ExportDBRefHashTableSize_
|
||||
#define LOCAL_ExportDBRefHashTableNum LOCAL->ExportDBRefHashTableNum_
|
||||
#define REMOTE_ExportDBRefHashTableNum(wid) REMOTE(wid)->ExportDBRefHashTableNum_
|
||||
#define LOCAL_ImportAtomHashChain LOCAL->ImportAtomHashChain_
|
||||
#define REMOTE_ImportAtomHashChain(wid) REMOTE(wid)->ImportAtomHashChain_
|
||||
#define LOCAL_ImportAtomHashTableSize LOCAL->ImportAtomHashTableSize_
|
||||
#define REMOTE_ImportAtomHashTableSize(wid) REMOTE(wid)->ImportAtomHashTableSize_
|
||||
#define LOCAL_ImportAtomHashTableNum LOCAL->ImportAtomHashTableNum_
|
||||
#define REMOTE_ImportAtomHashTableNum(wid) REMOTE(wid)->ImportAtomHashTableNum_
|
||||
#define LOCAL_ImportFunctorHashChain LOCAL->ImportFunctorHashChain_
|
||||
#define REMOTE_ImportFunctorHashChain(wid) REMOTE(wid)->ImportFunctorHashChain_
|
||||
#define LOCAL_ImportFunctorHashTableSize LOCAL->ImportFunctorHashTableSize_
|
||||
#define REMOTE_ImportFunctorHashTableSize(wid) REMOTE(wid)->ImportFunctorHashTableSize_
|
||||
#define LOCAL_ImportFunctorHashTableNum LOCAL->ImportFunctorHashTableNum_
|
||||
#define REMOTE_ImportFunctorHashTableNum(wid) REMOTE(wid)->ImportFunctorHashTableNum_
|
||||
#define LOCAL_ImportOPCODEHashChain LOCAL->ImportOPCODEHashChain_
|
||||
#define REMOTE_ImportOPCODEHashChain(wid) REMOTE(wid)->ImportOPCODEHashChain_
|
||||
#define LOCAL_ImportOPCODEHashTableSize LOCAL->ImportOPCODEHashTableSize_
|
||||
#define REMOTE_ImportOPCODEHashTableSize(wid) REMOTE(wid)->ImportOPCODEHashTableSize_
|
||||
#define LOCAL_ImportPredEntryHashChain LOCAL->ImportPredEntryHashChain_
|
||||
#define REMOTE_ImportPredEntryHashChain(wid) REMOTE(wid)->ImportPredEntryHashChain_
|
||||
#define LOCAL_ImportPredEntryHashTableSize LOCAL->ImportPredEntryHashTableSize_
|
||||
#define REMOTE_ImportPredEntryHashTableSize(wid) REMOTE(wid)->ImportPredEntryHashTableSize_
|
||||
#define LOCAL_ImportPredEntryHashTableNum LOCAL->ImportPredEntryHashTableNum_
|
||||
#define REMOTE_ImportPredEntryHashTableNum(wid) REMOTE(wid)->ImportPredEntryHashTableNum_
|
||||
#define LOCAL_ImportDBRefHashChain LOCAL->ImportDBRefHashChain_
|
||||
#define REMOTE_ImportDBRefHashChain(wid) REMOTE(wid)->ImportDBRefHashChain_
|
||||
#define LOCAL_ImportDBRefHashTableSize LOCAL->ImportDBRefHashTableSize_
|
||||
#define REMOTE_ImportDBRefHashTableSize(wid) REMOTE(wid)->ImportDBRefHashTableSize_
|
||||
#define LOCAL_ImportDBRefHashTableNum LOCAL->ImportDBRefHashTableNum_
|
||||
#define REMOTE_ImportDBRefHashTableNum(wid) REMOTE(wid)->ImportDBRefHashTableNum_
|
||||
#define LOCAL_ImportFAILCODE LOCAL->ImportFAILCODE_
|
||||
#define REMOTE_ImportFAILCODE(wid) REMOTE(wid)->ImportFAILCODE_
|
||||
|
||||
#define LOCAL_ibnds LOCAL->ibnds_
|
||||
#define REMOTE_ibnds(wid) REMOTE(wid)->ibnds_
|
||||
#define LOCAL_exo_it LOCAL->exo_it_
|
||||
#define REMOTE_exo_it(wid) REMOTE(wid)->exo_it_
|
||||
#define LOCAL_exo_base LOCAL->exo_base_
|
||||
#define REMOTE_exo_base(wid) REMOTE(wid)->exo_base_
|
||||
#define LOCAL_exo_arity LOCAL->exo_arity_
|
||||
#define REMOTE_exo_arity(wid) REMOTE(wid)->exo_arity_
|
||||
#define LOCAL_exo_arg LOCAL->exo_arg_
|
||||
#define REMOTE_exo_arg(wid) REMOTE(wid)->exo_arg_
|
||||
|
||||
#define LOCAL_search_atoms LOCAL->search_atoms_
|
||||
#define REMOTE_search_atoms(wid) REMOTE(wid)->search_atoms_
|
||||
#define LOCAL_SearchPreds LOCAL->SearchPreds_
|
||||
#define REMOTE_SearchPreds(wid) REMOTE(wid)->SearchPreds_
|
||||
|
||||
#define LOCAL_CurSlot LOCAL->CurSlot_
|
||||
#define REMOTE_CurSlot(wid) REMOTE(wid)->CurSlot_
|
||||
#define LOCAL_FrozenHandles LOCAL->FrozenHandles_
|
||||
#define REMOTE_FrozenHandles(wid) REMOTE(wid)->FrozenHandles_
|
||||
#define LOCAL_NSlots LOCAL->NSlots_
|
||||
#define REMOTE_NSlots(wid) REMOTE(wid)->NSlots_
|
||||
#define LOCAL_SlotBase LOCAL->SlotBase_
|
||||
#define REMOTE_SlotBase(wid) REMOTE(wid)->SlotBase_
|
||||
|
||||
#define LOCAL_Mutexes LOCAL->Mutexes_
|
||||
#define REMOTE_Mutexes(wid) REMOTE(wid)->Mutexes_
|
||||
#define LOCAL_SourceModule LOCAL->SourceModule_
|
||||
#define REMOTE_SourceModule(wid) REMOTE(wid)->SourceModule_
|
||||
#define LOCAL_Including LOCAL->Including_
|
||||
#define REMOTE_Including(wid) REMOTE(wid)->Including_
|
||||
#define LOCAL_MAX_SIZE LOCAL->MAX_SIZE_
|
||||
#define REMOTE_MAX_SIZE(wid) REMOTE(wid)->MAX_SIZE_
|
||||
|
||||
#define LOCAL_LastWTime LOCAL->LastWTime_
|
||||
#define REMOTE_LastWTime(wid) REMOTE(wid)->LastWTime_
|
||||
#define LOCAL_shared LOCAL->shared_
|
||||
#define REMOTE_shared(wid) REMOTE(wid)->shared_
|
||||
|
||||
|
||||
/* This file, dlocals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/LOCALS instead */
|
||||
|
||||
|
||||
|
||||
|
||||
#define LOCAL_c_input_stream LOCAL->c_input_stream_
|
||||
#define REMOTE_c_input_stream(wid) REMOTE(wid)->c_input_stream_
|
||||
#define LOCAL_c_output_stream LOCAL->c_output_stream_
|
||||
#define REMOTE_c_output_stream(wid) REMOTE(wid)->c_output_stream_
|
||||
#define LOCAL_c_error_stream LOCAL->c_error_stream_
|
||||
#define REMOTE_c_error_stream(wid) REMOTE(wid)->c_error_stream_
|
||||
#define LOCAL_sockets_io LOCAL->sockets_io_
|
||||
#define REMOTE_sockets_io(wid) REMOTE(wid)->sockets_io_
|
||||
#define LOCAL_within_print_message LOCAL->within_print_message_
|
||||
#define REMOTE_within_print_message(wid) REMOTE(wid)->within_print_message_
|
||||
|
||||
|
||||
|
||||
|
||||
#define LOCAL_newline LOCAL->newline_
|
||||
#define REMOTE_newline(wid) REMOTE(wid)->newline_
|
||||
#define LOCAL_AtPrompt LOCAL->AtPrompt_
|
||||
#define REMOTE_AtPrompt(wid) REMOTE(wid)->AtPrompt_
|
||||
#define LOCAL_Prompt LOCAL->Prompt_
|
||||
#define REMOTE_Prompt(wid) REMOTE(wid)->Prompt_
|
||||
#define LOCAL_encoding LOCAL->encoding_
|
||||
#define REMOTE_encoding(wid) REMOTE(wid)->encoding_
|
||||
#define LOCAL_quasi_quotations LOCAL->quasi_quotations_
|
||||
#define REMOTE_quasi_quotations(wid) REMOTE(wid)->quasi_quotations_
|
||||
#define LOCAL_default_priority LOCAL->default_priority_
|
||||
#define REMOTE_default_priority(wid) REMOTE(wid)->default_priority_
|
||||
#define LOCAL_eot_before_eof LOCAL->eot_before_eof_
|
||||
#define REMOTE_eot_before_eof(wid) REMOTE(wid)->eot_before_eof_
|
||||
#define LOCAL_max_depth LOCAL->max_depth_
|
||||
#define REMOTE_max_depth(wid) REMOTE(wid)->max_depth_
|
||||
#define LOCAL_max_list LOCAL->max_list_
|
||||
#define REMOTE_max_list(wid) REMOTE(wid)->max_list_
|
||||
#define LOCAL_max_write_args LOCAL->max_write_args_
|
||||
#define REMOTE_max_write_args(wid) REMOTE(wid)->max_write_args_
|
||||
|
||||
#define LOCAL_OldASP LOCAL->OldASP_
|
||||
#define REMOTE_OldASP(wid) REMOTE(wid)->OldASP_
|
||||
#define LOCAL_OldLCL0 LOCAL->OldLCL0_
|
||||
#define REMOTE_OldLCL0(wid) REMOTE(wid)->OldLCL0_
|
||||
#define LOCAL_OldTR LOCAL->OldTR_
|
||||
#define REMOTE_OldTR(wid) REMOTE(wid)->OldTR_
|
||||
#define LOCAL_OldGlobalBase LOCAL->OldGlobalBase_
|
||||
#define REMOTE_OldGlobalBase(wid) REMOTE(wid)->OldGlobalBase_
|
||||
#define LOCAL_OldH LOCAL->OldH_
|
||||
#define REMOTE_OldH(wid) REMOTE(wid)->OldH_
|
||||
#define LOCAL_OldH0 LOCAL->OldH0_
|
||||
#define REMOTE_OldH0(wid) REMOTE(wid)->OldH0_
|
||||
#define LOCAL_OldTrailBase LOCAL->OldTrailBase_
|
||||
#define REMOTE_OldTrailBase(wid) REMOTE(wid)->OldTrailBase_
|
||||
#define LOCAL_OldTrailTop LOCAL->OldTrailTop_
|
||||
#define REMOTE_OldTrailTop(wid) REMOTE(wid)->OldTrailTop_
|
||||
#define LOCAL_OldHeapBase LOCAL->OldHeapBase_
|
||||
#define REMOTE_OldHeapBase(wid) REMOTE(wid)->OldHeapBase_
|
||||
#define LOCAL_OldHeapTop LOCAL->OldHeapTop_
|
||||
#define REMOTE_OldHeapTop(wid) REMOTE(wid)->OldHeapTop_
|
||||
#define LOCAL_ClDiff LOCAL->ClDiff_
|
||||
#define REMOTE_ClDiff(wid) REMOTE(wid)->ClDiff_
|
||||
#define LOCAL_GDiff LOCAL->GDiff_
|
||||
#define REMOTE_GDiff(wid) REMOTE(wid)->GDiff_
|
||||
#define LOCAL_HDiff LOCAL->HDiff_
|
||||
#define REMOTE_HDiff(wid) REMOTE(wid)->HDiff_
|
||||
#define LOCAL_GDiff0 LOCAL->GDiff0_
|
||||
#define REMOTE_GDiff0(wid) REMOTE(wid)->GDiff0_
|
||||
#define LOCAL_GSplit LOCAL->GSplit_
|
||||
#define REMOTE_GSplit(wid) REMOTE(wid)->GSplit_
|
||||
#define LOCAL_LDiff LOCAL->LDiff_
|
||||
#define REMOTE_LDiff(wid) REMOTE(wid)->LDiff_
|
||||
#define LOCAL_TrDiff LOCAL->TrDiff_
|
||||
#define REMOTE_TrDiff(wid) REMOTE(wid)->TrDiff_
|
||||
#define LOCAL_XDiff LOCAL->XDiff_
|
||||
#define REMOTE_XDiff(wid) REMOTE(wid)->XDiff_
|
||||
#define LOCAL_DelayDiff LOCAL->DelayDiff_
|
||||
#define REMOTE_DelayDiff(wid) REMOTE(wid)->DelayDiff_
|
||||
#define LOCAL_BaseDiff LOCAL->BaseDiff_
|
||||
#define REMOTE_BaseDiff(wid) REMOTE(wid)->BaseDiff_
|
||||
|
||||
#define LOCAL_ReductionsCounter LOCAL->ReductionsCounter_
|
||||
#define REMOTE_ReductionsCounter(wid) REMOTE(wid)->ReductionsCounter_
|
||||
#define LOCAL_PredEntriesCounter LOCAL->PredEntriesCounter_
|
||||
#define REMOTE_PredEntriesCounter(wid) REMOTE(wid)->PredEntriesCounter_
|
||||
#define LOCAL_RetriesCounter LOCAL->RetriesCounter_
|
||||
#define REMOTE_RetriesCounter(wid) REMOTE(wid)->RetriesCounter_
|
||||
#define LOCAL_ReductionsCounterOn LOCAL->ReductionsCounterOn_
|
||||
#define REMOTE_ReductionsCounterOn(wid) REMOTE(wid)->ReductionsCounterOn_
|
||||
#define LOCAL_PredEntriesCounterOn LOCAL->PredEntriesCounterOn_
|
||||
#define REMOTE_PredEntriesCounterOn(wid) REMOTE(wid)->PredEntriesCounterOn_
|
||||
#define LOCAL_RetriesCounterOn LOCAL->RetriesCounterOn_
|
||||
#define REMOTE_RetriesCounterOn(wid) REMOTE(wid)->RetriesCounterOn_
|
||||
|
||||
|
||||
#define LOCAL_ConsultSp LOCAL->ConsultSp_
|
||||
#define REMOTE_ConsultSp(wid) REMOTE(wid)->ConsultSp_
|
||||
|
||||
#define LOCAL_ConsultCapacity LOCAL->ConsultCapacity_
|
||||
#define REMOTE_ConsultCapacity(wid) REMOTE(wid)->ConsultCapacity_
|
||||
|
||||
#define LOCAL_ConsultBase LOCAL->ConsultBase_
|
||||
#define REMOTE_ConsultBase(wid) REMOTE(wid)->ConsultBase_
|
||||
|
||||
#define LOCAL_ConsultLow LOCAL->ConsultLow_
|
||||
#define REMOTE_ConsultLow(wid) REMOTE(wid)->ConsultLow_
|
||||
#define LOCAL_VarNames LOCAL->VarNames_
|
||||
#define REMOTE_VarNames(wid) REMOTE(wid)->VarNames_
|
||||
#define LOCAL_SourceFileName LOCAL->SourceFileName_
|
||||
#define REMOTE_SourceFileName(wid) REMOTE(wid)->SourceFileName_
|
||||
#define LOCAL_SourceFileLineno LOCAL->SourceFileLineno_
|
||||
#define REMOTE_SourceFileLineno(wid) REMOTE(wid)->SourceFileLineno_
|
||||
|
||||
#define LOCAL_GlobalArena LOCAL->GlobalArena_
|
||||
#define REMOTE_GlobalArena(wid) REMOTE(wid)->GlobalArena_
|
||||
#define LOCAL_GlobalArenaOverflows LOCAL->GlobalArenaOverflows_
|
||||
#define REMOTE_GlobalArenaOverflows(wid) REMOTE(wid)->GlobalArenaOverflows_
|
||||
#define LOCAL_ArenaOverflows LOCAL->ArenaOverflows_
|
||||
#define REMOTE_ArenaOverflows(wid) REMOTE(wid)->ArenaOverflows_
|
||||
#define LOCAL_DepthArenas LOCAL->DepthArenas_
|
||||
#define REMOTE_DepthArenas(wid) REMOTE(wid)->DepthArenas_
|
||||
#define LOCAL_LastAssertedPred LOCAL->LastAssertedPred_
|
||||
#define REMOTE_LastAssertedPred(wid) REMOTE(wid)->LastAssertedPred_
|
||||
#define LOCAL_TmpPred LOCAL->TmpPred_
|
||||
#define REMOTE_TmpPred(wid) REMOTE(wid)->TmpPred_
|
||||
#define LOCAL_ScannerStack LOCAL->ScannerStack_
|
||||
#define REMOTE_ScannerStack(wid) REMOTE(wid)->ScannerStack_
|
||||
#define LOCAL_ScannerExtraBlocks LOCAL->ScannerExtraBlocks_
|
||||
#define REMOTE_ScannerExtraBlocks(wid) REMOTE(wid)->ScannerExtraBlocks_
|
||||
|
||||
|
||||
#define LOCAL_CBorder LOCAL->CBorder_
|
||||
#define REMOTE_CBorder(wid) REMOTE(wid)->CBorder_
|
||||
|
||||
#define LOCAL_MaxActiveSignals LOCAL->MaxActiveSignals_
|
||||
#define REMOTE_MaxActiveSignals(wid) REMOTE(wid)->MaxActiveSignals_
|
||||
|
||||
#define LOCAL_Signals LOCAL->Signals_
|
||||
#define REMOTE_Signals(wid) REMOTE(wid)->Signals_
|
||||
|
||||
#define LOCAL_IPredArity LOCAL->IPredArity_
|
||||
#define REMOTE_IPredArity(wid) REMOTE(wid)->IPredArity_
|
||||
#define LOCAL_ProfEnd LOCAL->ProfEnd_
|
||||
#define REMOTE_ProfEnd(wid) REMOTE(wid)->ProfEnd_
|
||||
#define LOCAL_DoingUndefp LOCAL->DoingUndefp_
|
||||
#define REMOTE_DoingUndefp(wid) REMOTE(wid)->DoingUndefp_
|
||||
#define LOCAL_StartCharCount LOCAL->StartCharCount_
|
||||
#define REMOTE_StartCharCount(wid) REMOTE(wid)->StartCharCount_
|
||||
#define LOCAL_StartLineCount LOCAL->StartLineCount_
|
||||
#define REMOTE_StartLineCount(wid) REMOTE(wid)->StartLineCount_
|
||||
#define LOCAL_StartLinePos LOCAL->StartLinePos_
|
||||
#define REMOTE_StartLinePos(wid) REMOTE(wid)->StartLinePos_
|
||||
#define LOCAL_ScratchPad LOCAL->ScratchPad_
|
||||
#define REMOTE_ScratchPad(wid) REMOTE(wid)->ScratchPad_
|
||||
#ifdef COROUTINING
|
||||
#define LOCAL_WokenGoals LOCAL->WokenGoals_
|
||||
#define REMOTE_WokenGoals(wid) REMOTE(wid)->WokenGoals_
|
||||
#define LOCAL_AttsMutableList LOCAL->AttsMutableList_
|
||||
#define REMOTE_AttsMutableList(wid) REMOTE(wid)->AttsMutableList_
|
||||
#endif
|
||||
|
||||
#define LOCAL_GcGeneration LOCAL->GcGeneration_
|
||||
#define REMOTE_GcGeneration(wid) REMOTE(wid)->GcGeneration_
|
||||
#define LOCAL_GcPhase LOCAL->GcPhase_
|
||||
#define REMOTE_GcPhase(wid) REMOTE(wid)->GcPhase_
|
||||
#define LOCAL_GcCurrentPhase LOCAL->GcCurrentPhase_
|
||||
#define REMOTE_GcCurrentPhase(wid) REMOTE(wid)->GcCurrentPhase_
|
||||
#define LOCAL_GcCalls LOCAL->GcCalls_
|
||||
#define REMOTE_GcCalls(wid) REMOTE(wid)->GcCalls_
|
||||
#define LOCAL_TotGcTime LOCAL->TotGcTime_
|
||||
#define REMOTE_TotGcTime(wid) REMOTE(wid)->TotGcTime_
|
||||
#define LOCAL_TotGcRecovered LOCAL->TotGcRecovered_
|
||||
#define REMOTE_TotGcRecovered(wid) REMOTE(wid)->TotGcRecovered_
|
||||
#define LOCAL_LastGcTime LOCAL->LastGcTime_
|
||||
#define REMOTE_LastGcTime(wid) REMOTE(wid)->LastGcTime_
|
||||
#define LOCAL_LastSSTime LOCAL->LastSSTime_
|
||||
#define REMOTE_LastSSTime(wid) REMOTE(wid)->LastSSTime_
|
||||
#define LOCAL_OpenArray LOCAL->OpenArray_
|
||||
#define REMOTE_OpenArray(wid) REMOTE(wid)->OpenArray_
|
||||
|
||||
#define LOCAL_total_marked LOCAL->total_marked_
|
||||
#define REMOTE_total_marked(wid) REMOTE(wid)->total_marked_
|
||||
#define LOCAL_total_oldies LOCAL->total_oldies_
|
||||
#define REMOTE_total_oldies(wid) REMOTE(wid)->total_oldies_
|
||||
#define LOCAL_current_B LOCAL->current_B_
|
||||
#define REMOTE_current_B(wid) REMOTE(wid)->current_B_
|
||||
#define LOCAL_prev_HB LOCAL->prev_HB_
|
||||
#define REMOTE_prev_HB(wid) REMOTE(wid)->prev_HB_
|
||||
#define LOCAL_HGEN LOCAL->HGEN_
|
||||
#define REMOTE_HGEN(wid) REMOTE(wid)->HGEN_
|
||||
#define LOCAL_iptop LOCAL->iptop_
|
||||
#define REMOTE_iptop(wid) REMOTE(wid)->iptop_
|
||||
#if defined(GC_NO_TAGS)
|
||||
#define LOCAL_bp LOCAL->bp_
|
||||
#define REMOTE_bp(wid) REMOTE(wid)->bp_
|
||||
#endif
|
||||
#define LOCAL_sTR LOCAL->sTR_
|
||||
#define REMOTE_sTR(wid) REMOTE(wid)->sTR_
|
||||
#define LOCAL_sTR0 LOCAL->sTR0_
|
||||
#define REMOTE_sTR0(wid) REMOTE(wid)->sTR0_
|
||||
#define LOCAL_new_TR LOCAL->new_TR_
|
||||
#define REMOTE_new_TR(wid) REMOTE(wid)->new_TR_
|
||||
#define LOCAL_cont_top0 LOCAL->cont_top0_
|
||||
#define REMOTE_cont_top0(wid) REMOTE(wid)->cont_top0_
|
||||
#define LOCAL_cont_top LOCAL->cont_top_
|
||||
#define REMOTE_cont_top(wid) REMOTE(wid)->cont_top_
|
||||
#define LOCAL_discard_trail_entries LOCAL->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 REMOTE_gc_ma_hash_table(wid) REMOTE(wid)->gc_ma_hash_table_
|
||||
#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 LOCAL_gc_ma_h_list LOCAL->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 REMOTE_gc_timestamp(wid) REMOTE(wid)->gc_timestamp_
|
||||
#define LOCAL_db_vec LOCAL->db_vec_
|
||||
#define REMOTE_db_vec(wid) REMOTE(wid)->db_vec_
|
||||
#define LOCAL_db_vec0 LOCAL->db_vec0_
|
||||
#define REMOTE_db_vec0(wid) REMOTE(wid)->db_vec0_
|
||||
#define LOCAL_db_root LOCAL->db_root_
|
||||
#define REMOTE_db_root(wid) REMOTE(wid)->db_root_
|
||||
#define LOCAL_db_nil LOCAL->db_nil_
|
||||
#define REMOTE_db_nil(wid) REMOTE(wid)->db_nil_
|
||||
#define LOCAL_gc_restore LOCAL->gc_restore_
|
||||
#define REMOTE_gc_restore(wid) REMOTE(wid)->gc_restore_
|
||||
#define LOCAL_extra_gc_cells LOCAL->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 REMOTE_extra_gc_cells_base(wid) REMOTE(wid)->extra_gc_cells_base_
|
||||
#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 LOCAL_extra_gc_cells_size LOCAL->extra_gc_cells_size_
|
||||
#define REMOTE_extra_gc_cells_size(wid) REMOTE(wid)->extra_gc_cells_size_
|
||||
#define LOCAL_DynamicArrays LOCAL->DynamicArrays_
|
||||
#define REMOTE_DynamicArrays(wid) REMOTE(wid)->DynamicArrays_
|
||||
#define LOCAL_StaticArrays LOCAL->StaticArrays_
|
||||
#define REMOTE_StaticArrays(wid) REMOTE(wid)->StaticArrays_
|
||||
#define LOCAL_GlobalVariables LOCAL->GlobalVariables_
|
||||
#define REMOTE_GlobalVariables(wid) REMOTE(wid)->GlobalVariables_
|
||||
#define LOCAL_AllowRestart LOCAL->AllowRestart_
|
||||
#define REMOTE_AllowRestart(wid) REMOTE(wid)->AllowRestart_
|
||||
|
||||
#define LOCAL_CMemFirstBlock LOCAL->CMemFirstBlock_
|
||||
#define REMOTE_CMemFirstBlock(wid) REMOTE(wid)->CMemFirstBlock_
|
||||
#define LOCAL_CMemFirstBlockSz LOCAL->CMemFirstBlockSz_
|
||||
#define REMOTE_CMemFirstBlockSz(wid) REMOTE(wid)->CMemFirstBlockSz_
|
||||
|
||||
#define LOCAL_nperm LOCAL->nperm_
|
||||
#define REMOTE_nperm(wid) REMOTE(wid)->nperm_
|
||||
#define LOCAL_jMP LOCAL->jMP_
|
||||
#define REMOTE_jMP(wid) REMOTE(wid)->jMP_
|
||||
|
||||
#define LOCAL_LabelFirstArray LOCAL->LabelFirstArray_
|
||||
#define REMOTE_LabelFirstArray(wid) REMOTE(wid)->LabelFirstArray_
|
||||
#define LOCAL_LabelFirstArraySz LOCAL->LabelFirstArraySz_
|
||||
#define REMOTE_LabelFirstArraySz(wid) REMOTE(wid)->LabelFirstArraySz_
|
||||
|
||||
|
||||
#ifdef THREADS
|
||||
#define LOCAL_ThreadHandle LOCAL->ThreadHandle_
|
||||
#define REMOTE_ThreadHandle(wid) REMOTE(wid)->ThreadHandle_
|
||||
#endif /* THREADS */
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
#define LOCAL_optyap_data LOCAL->optyap_data_
|
||||
#define REMOTE_optyap_data(wid) REMOTE(wid)->optyap_data_
|
||||
#define LOCAL_TabMode LOCAL->TabMode_
|
||||
#define REMOTE_TabMode(wid) REMOTE(wid)->TabMode_
|
||||
#endif /* YAPOR || TABLING */
|
||||
#define LOCAL_InterruptsDisabled LOCAL->InterruptsDisabled_
|
||||
#define REMOTE_InterruptsDisabled(wid) REMOTE(wid)->InterruptsDisabled_
|
||||
#define LOCAL_execution LOCAL->execution_
|
||||
#define REMOTE_execution(wid) REMOTE(wid)->execution_
|
||||
#if LOW_LEVEL_TRACER
|
||||
#define LOCAL_total_choicepoints LOCAL->total_choicepoints_
|
||||
#define REMOTE_total_choicepoints(wid) REMOTE(wid)->total_choicepoints_
|
||||
#endif
|
||||
#define LOCAL_consult_level LOCAL->consult_level_
|
||||
#define REMOTE_consult_level(wid) REMOTE(wid)->consult_level_
|
||||
|
||||
#define LOCAL_LocalBase LOCAL->LocalBase_
|
||||
#define REMOTE_LocalBase(wid) REMOTE(wid)->LocalBase_
|
||||
#define LOCAL_GlobalBase LOCAL->GlobalBase_
|
||||
#define REMOTE_GlobalBase(wid) REMOTE(wid)->GlobalBase_
|
||||
#define LOCAL_TrailBase LOCAL->TrailBase_
|
||||
#define REMOTE_TrailBase(wid) REMOTE(wid)->TrailBase_
|
||||
#define LOCAL_TrailTop LOCAL->TrailTop_
|
||||
#define REMOTE_TrailTop(wid) REMOTE(wid)->TrailTop_
|
||||
|
||||
#define LOCAL_ActiveError LOCAL->ActiveError_
|
||||
#define REMOTE_ActiveError(wid) REMOTE(wid)->ActiveError_
|
||||
|
||||
#define LOCAL_IOBotch LOCAL->IOBotch_
|
||||
#define REMOTE_IOBotch(wid) REMOTE(wid)->IOBotch_
|
||||
#define LOCAL_tokptr LOCAL->tokptr_
|
||||
#define REMOTE_tokptr(wid) REMOTE(wid)->tokptr_
|
||||
#define LOCAL_toktide LOCAL->toktide_
|
||||
#define REMOTE_toktide(wid) REMOTE(wid)->toktide_
|
||||
#define LOCAL_VarTable LOCAL->VarTable_
|
||||
#define REMOTE_VarTable(wid) REMOTE(wid)->VarTable_
|
||||
#define LOCAL_AnonVarTable LOCAL->AnonVarTable_
|
||||
#define REMOTE_AnonVarTable(wid) REMOTE(wid)->AnonVarTable_
|
||||
#define LOCAL_Comments LOCAL->Comments_
|
||||
#define REMOTE_Comments(wid) REMOTE(wid)->Comments_
|
||||
#define LOCAL_CommentsTail LOCAL->CommentsTail_
|
||||
#define REMOTE_CommentsTail(wid) REMOTE(wid)->CommentsTail_
|
||||
#define LOCAL_CommentsNextChar LOCAL->CommentsNextChar_
|
||||
#define REMOTE_CommentsNextChar(wid) REMOTE(wid)->CommentsNextChar_
|
||||
#define LOCAL_CommentsBuff LOCAL->CommentsBuff_
|
||||
#define REMOTE_CommentsBuff(wid) REMOTE(wid)->CommentsBuff_
|
||||
#define LOCAL_CommentsBuffPos LOCAL->CommentsBuffPos_
|
||||
#define REMOTE_CommentsBuffPos(wid) REMOTE(wid)->CommentsBuffPos_
|
||||
#define LOCAL_CommentsBuffLim LOCAL->CommentsBuffLim_
|
||||
#define REMOTE_CommentsBuffLim(wid) REMOTE(wid)->CommentsBuffLim_
|
||||
#define LOCAL_RestartEnv LOCAL->RestartEnv_
|
||||
#define REMOTE_RestartEnv(wid) REMOTE(wid)->RestartEnv_
|
||||
#define LOCAL_FileNameBuf LOCAL->FileNameBuf_
|
||||
#define REMOTE_FileNameBuf(wid) REMOTE(wid)->FileNameBuf_
|
||||
#define LOCAL_FileNameBuf2 LOCAL->FileNameBuf2_
|
||||
#define REMOTE_FileNameBuf2(wid) REMOTE(wid)->FileNameBuf2_
|
||||
#define LOCAL_TextBuffer LOCAL->TextBuffer_
|
||||
#define REMOTE_TextBuffer(wid) REMOTE(wid)->TextBuffer_
|
||||
|
||||
#define LOCAL_BreakLevel LOCAL->BreakLevel_
|
||||
#define REMOTE_BreakLevel(wid) REMOTE(wid)->BreakLevel_
|
||||
#define LOCAL_PrologMode LOCAL->PrologMode_
|
||||
#define REMOTE_PrologMode(wid) REMOTE(wid)->PrologMode_
|
||||
#define LOCAL_CritLocks LOCAL->CritLocks_
|
||||
#define REMOTE_CritLocks(wid) REMOTE(wid)->CritLocks_
|
||||
|
||||
#define LOCAL_Flags LOCAL->Flags_
|
||||
#define REMOTE_Flags(wid) REMOTE(wid)->Flags_
|
||||
#define LOCAL_flagCount LOCAL->flagCount_
|
||||
#define REMOTE_flagCount(wid) REMOTE(wid)->flagCount_
|
||||
|
||||
|
||||
#ifdef ANALYST
|
||||
#define LOCAL_opcount LOCAL->opcount_
|
||||
#define REMOTE_opcount(wid) REMOTE(wid)->opcount_
|
||||
#define LOCAL_2opcount LOCAL->2opcount_
|
||||
#define REMOTE_2opcount(wid) REMOTE(wid)->2opcount_
|
||||
#endif /* ANALYST */
|
||||
|
||||
#define LOCAL_s_dbg LOCAL->s_dbg_
|
||||
#define REMOTE_s_dbg(wid) REMOTE(wid)->s_dbg_
|
||||
|
||||
#define LOCAL_mathtt LOCAL->mathtt_
|
||||
#define REMOTE_mathtt(wid) REMOTE(wid)->mathtt_
|
||||
#define LOCAL_mathstring LOCAL->mathstring_
|
||||
#define REMOTE_mathstring(wid) REMOTE(wid)->mathstring_
|
||||
|
||||
#define LOCAL_heap_overflows LOCAL->heap_overflows_
|
||||
#define REMOTE_heap_overflows(wid) REMOTE(wid)->heap_overflows_
|
||||
#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 LOCAL_stack_overflows LOCAL->stack_overflows_
|
||||
#define REMOTE_stack_overflows(wid) REMOTE(wid)->stack_overflows_
|
||||
#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 LOCAL_delay_overflows LOCAL->delay_overflows_
|
||||
#define REMOTE_delay_overflows(wid) REMOTE(wid)->delay_overflows_
|
||||
#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 LOCAL_trail_overflows LOCAL->trail_overflows_
|
||||
#define REMOTE_trail_overflows(wid) REMOTE(wid)->trail_overflows_
|
||||
#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 LOCAL_atom_table_overflows LOCAL->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 REMOTE_total_atom_table_overflow_time(wid) REMOTE(wid)->total_atom_table_overflow_time_
|
||||
|
||||
#ifdef LOAD_DYLD
|
||||
#define LOCAL_dl_errno LOCAL->dl_errno_
|
||||
#define REMOTE_dl_errno(wid) REMOTE(wid)->dl_errno_
|
||||
#endif
|
||||
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
#define LOCAL_do_trace_primitives LOCAL->do_trace_primitives_
|
||||
#define REMOTE_do_trace_primitives(wid) REMOTE(wid)->do_trace_primitives_
|
||||
#endif
|
||||
|
||||
#define LOCAL_ExportAtomHashChain LOCAL->ExportAtomHashChain_
|
||||
#define REMOTE_ExportAtomHashChain(wid) REMOTE(wid)->ExportAtomHashChain_
|
||||
#define LOCAL_ExportAtomHashTableSize LOCAL->ExportAtomHashTableSize_
|
||||
#define REMOTE_ExportAtomHashTableSize(wid) REMOTE(wid)->ExportAtomHashTableSize_
|
||||
#define LOCAL_ExportAtomHashTableNum LOCAL->ExportAtomHashTableNum_
|
||||
#define REMOTE_ExportAtomHashTableNum(wid) REMOTE(wid)->ExportAtomHashTableNum_
|
||||
#define LOCAL_ExportFunctorHashChain LOCAL->ExportFunctorHashChain_
|
||||
#define REMOTE_ExportFunctorHashChain(wid) REMOTE(wid)->ExportFunctorHashChain_
|
||||
#define LOCAL_ExportFunctorHashTableSize LOCAL->ExportFunctorHashTableSize_
|
||||
#define REMOTE_ExportFunctorHashTableSize(wid) REMOTE(wid)->ExportFunctorHashTableSize_
|
||||
#define LOCAL_ExportFunctorHashTableNum LOCAL->ExportFunctorHashTableNum_
|
||||
#define REMOTE_ExportFunctorHashTableNum(wid) REMOTE(wid)->ExportFunctorHashTableNum_
|
||||
#define LOCAL_ExportPredEntryHashChain LOCAL->ExportPredEntryHashChain_
|
||||
#define REMOTE_ExportPredEntryHashChain(wid) REMOTE(wid)->ExportPredEntryHashChain_
|
||||
#define LOCAL_ExportPredEntryHashTableSize LOCAL->ExportPredEntryHashTableSize_
|
||||
#define REMOTE_ExportPredEntryHashTableSize(wid) REMOTE(wid)->ExportPredEntryHashTableSize_
|
||||
#define LOCAL_ExportPredEntryHashTableNum LOCAL->ExportPredEntryHashTableNum_
|
||||
#define REMOTE_ExportPredEntryHashTableNum(wid) REMOTE(wid)->ExportPredEntryHashTableNum_
|
||||
#define LOCAL_ExportDBRefHashChain LOCAL->ExportDBRefHashChain_
|
||||
#define REMOTE_ExportDBRefHashChain(wid) REMOTE(wid)->ExportDBRefHashChain_
|
||||
#define LOCAL_ExportDBRefHashTableSize LOCAL->ExportDBRefHashTableSize_
|
||||
#define REMOTE_ExportDBRefHashTableSize(wid) REMOTE(wid)->ExportDBRefHashTableSize_
|
||||
#define LOCAL_ExportDBRefHashTableNum LOCAL->ExportDBRefHashTableNum_
|
||||
#define REMOTE_ExportDBRefHashTableNum(wid) REMOTE(wid)->ExportDBRefHashTableNum_
|
||||
#define LOCAL_ImportAtomHashChain LOCAL->ImportAtomHashChain_
|
||||
#define REMOTE_ImportAtomHashChain(wid) REMOTE(wid)->ImportAtomHashChain_
|
||||
#define LOCAL_ImportAtomHashTableSize LOCAL->ImportAtomHashTableSize_
|
||||
#define REMOTE_ImportAtomHashTableSize(wid) REMOTE(wid)->ImportAtomHashTableSize_
|
||||
#define LOCAL_ImportAtomHashTableNum LOCAL->ImportAtomHashTableNum_
|
||||
#define REMOTE_ImportAtomHashTableNum(wid) REMOTE(wid)->ImportAtomHashTableNum_
|
||||
#define LOCAL_ImportFunctorHashChain LOCAL->ImportFunctorHashChain_
|
||||
#define REMOTE_ImportFunctorHashChain(wid) REMOTE(wid)->ImportFunctorHashChain_
|
||||
#define LOCAL_ImportFunctorHashTableSize LOCAL->ImportFunctorHashTableSize_
|
||||
#define REMOTE_ImportFunctorHashTableSize(wid) REMOTE(wid)->ImportFunctorHashTableSize_
|
||||
#define LOCAL_ImportFunctorHashTableNum LOCAL->ImportFunctorHashTableNum_
|
||||
#define REMOTE_ImportFunctorHashTableNum(wid) REMOTE(wid)->ImportFunctorHashTableNum_
|
||||
#define LOCAL_ImportOPCODEHashChain LOCAL->ImportOPCODEHashChain_
|
||||
#define REMOTE_ImportOPCODEHashChain(wid) REMOTE(wid)->ImportOPCODEHashChain_
|
||||
#define LOCAL_ImportOPCODEHashTableSize LOCAL->ImportOPCODEHashTableSize_
|
||||
#define REMOTE_ImportOPCODEHashTableSize(wid) REMOTE(wid)->ImportOPCODEHashTableSize_
|
||||
#define LOCAL_ImportPredEntryHashChain LOCAL->ImportPredEntryHashChain_
|
||||
#define REMOTE_ImportPredEntryHashChain(wid) REMOTE(wid)->ImportPredEntryHashChain_
|
||||
#define LOCAL_ImportPredEntryHashTableSize LOCAL->ImportPredEntryHashTableSize_
|
||||
#define REMOTE_ImportPredEntryHashTableSize(wid) REMOTE(wid)->ImportPredEntryHashTableSize_
|
||||
#define LOCAL_ImportPredEntryHashTableNum LOCAL->ImportPredEntryHashTableNum_
|
||||
#define REMOTE_ImportPredEntryHashTableNum(wid) REMOTE(wid)->ImportPredEntryHashTableNum_
|
||||
#define LOCAL_ImportDBRefHashChain LOCAL->ImportDBRefHashChain_
|
||||
#define REMOTE_ImportDBRefHashChain(wid) REMOTE(wid)->ImportDBRefHashChain_
|
||||
#define LOCAL_ImportDBRefHashTableSize LOCAL->ImportDBRefHashTableSize_
|
||||
#define REMOTE_ImportDBRefHashTableSize(wid) REMOTE(wid)->ImportDBRefHashTableSize_
|
||||
#define LOCAL_ImportDBRefHashTableNum LOCAL->ImportDBRefHashTableNum_
|
||||
#define REMOTE_ImportDBRefHashTableNum(wid) REMOTE(wid)->ImportDBRefHashTableNum_
|
||||
#define LOCAL_ImportFAILCODE LOCAL->ImportFAILCODE_
|
||||
#define REMOTE_ImportFAILCODE(wid) REMOTE(wid)->ImportFAILCODE_
|
||||
|
||||
#define LOCAL_ibnds LOCAL->ibnds_
|
||||
#define REMOTE_ibnds(wid) REMOTE(wid)->ibnds_
|
||||
#define LOCAL_exo_it LOCAL->exo_it_
|
||||
#define REMOTE_exo_it(wid) REMOTE(wid)->exo_it_
|
||||
#define LOCAL_exo_base LOCAL->exo_base_
|
||||
#define REMOTE_exo_base(wid) REMOTE(wid)->exo_base_
|
||||
#define LOCAL_exo_arity LOCAL->exo_arity_
|
||||
#define REMOTE_exo_arity(wid) REMOTE(wid)->exo_arity_
|
||||
#define LOCAL_exo_arg LOCAL->exo_arg_
|
||||
#define REMOTE_exo_arg(wid) REMOTE(wid)->exo_arg_
|
||||
|
||||
#define LOCAL_search_atoms LOCAL->search_atoms_
|
||||
#define REMOTE_search_atoms(wid) REMOTE(wid)->search_atoms_
|
||||
#define LOCAL_SearchPreds LOCAL->SearchPreds_
|
||||
#define REMOTE_SearchPreds(wid) REMOTE(wid)->SearchPreds_
|
||||
|
||||
#define LOCAL_CurSlot LOCAL->CurSlot_
|
||||
#define REMOTE_CurSlot(wid) REMOTE(wid)->CurSlot_
|
||||
#define LOCAL_FrozenHandles LOCAL->FrozenHandles_
|
||||
#define REMOTE_FrozenHandles(wid) REMOTE(wid)->FrozenHandles_
|
||||
#define LOCAL_NSlots LOCAL->NSlots_
|
||||
#define REMOTE_NSlots(wid) REMOTE(wid)->NSlots_
|
||||
#define LOCAL_SlotBase LOCAL->SlotBase_
|
||||
#define REMOTE_SlotBase(wid) REMOTE(wid)->SlotBase_
|
||||
|
||||
#define LOCAL_Mutexes LOCAL->Mutexes_
|
||||
#define REMOTE_Mutexes(wid) REMOTE(wid)->Mutexes_
|
||||
#define LOCAL_SourceModule LOCAL->SourceModule_
|
||||
#define REMOTE_SourceModule(wid) REMOTE(wid)->SourceModule_
|
||||
#define LOCAL_Including LOCAL->Including_
|
||||
#define REMOTE_Including(wid) REMOTE(wid)->Including_
|
||||
#define LOCAL_MAX_SIZE LOCAL->MAX_SIZE_
|
||||
#define REMOTE_MAX_SIZE(wid) REMOTE(wid)->MAX_SIZE_
|
||||
|
||||
#define LOCAL_LastWTime LOCAL->LastWTime_
|
||||
#define REMOTE_LastWTime(wid) REMOTE(wid)->LastWTime_
|
||||
#define LOCAL_shared LOCAL->shared_
|
||||
#define REMOTE_shared(wid) REMOTE(wid)->shared_
|
||||
|
||||
|
@ -1,144 +1,144 @@
|
||||
|
||||
/* This file, hglobals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/GLOBALS instead */
|
||||
|
||||
//
|
||||
// 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:
|
||||
// - they must be defined somewhere
|
||||
// - they have an #ifdef to get a shorter name
|
||||
// - they must be initialised somewhere
|
||||
// - they may be of interest to restore
|
||||
//
|
||||
// The defs include 3+ components:
|
||||
// Type
|
||||
// name in structured / global name
|
||||
// init code (optional)
|
||||
// restore code (optional)
|
||||
//
|
||||
// Stuff that must be shared by all threads or workers
|
||||
|
||||
// initialization: tell whether the system has been initialised and by whom.
|
||||
EXTERNAL int GLOBAL_Initialised;
|
||||
EXTERNAL int GLOBAL_InitialisedFromPL;
|
||||
EXTERNAL int GLOBAL_PL_Argc;
|
||||
EXTERNAL char** GLOBAL_PL_Argv;
|
||||
EXTERNAL bool GLOBAL_FAST_BOOT_FLAG;
|
||||
// halt hooks
|
||||
EXTERNAL struct halt_hook* GLOBAL_HaltHooks;
|
||||
EXTERNAL fptr_t GLOBAL_JIT_finalizer;
|
||||
// stack overflow expansion/gc control
|
||||
EXTERNAL int GLOBAL_AllowLocalExpansion;
|
||||
EXTERNAL int GLOBAL_AllowGlobalExpansion;
|
||||
EXTERNAL int GLOBAL_AllowTrailExpansion;
|
||||
EXTERNAL UInt GLOBAL_SizeOfOverflow;
|
||||
// amount of space recovered in all garbage collections
|
||||
EXTERNAL UInt GLOBAL_AGcThreshold;
|
||||
EXTERNAL Agc_hook GLOBAL_AGCHook;
|
||||
/* multi-thread support */
|
||||
#if THREADS
|
||||
/* number of threads and processes in system */
|
||||
EXTERNAL UInt GLOBAL_NOfThreads;
|
||||
/* number of threads created since start */
|
||||
EXTERNAL UInt GLOBAL_NOfThreadsCreated;
|
||||
/* total run time for dead threads */
|
||||
EXTERNAL UInt GLOBAL_ThreadsTotalTime;
|
||||
// Threads Array
|
||||
EXTERNAL lockvar GLOBAL_ThreadHandlesLock;
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
// protect long critical regions
|
||||
EXTERNAL lockvar GLOBAL_BGL;
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
EXTERNAL struct global_optyap_data GLOBAL_optyap_data;
|
||||
#endif /* YAPOR || TABLING */
|
||||
// whether Yap is responsible for signal handling
|
||||
EXTERNAL int GLOBAL_PrologShouldHandleInterrupts;
|
||||
/* This is the guy who actually started the system, and who has the correct registers */
|
||||
#if defined(THREADS)
|
||||
EXTERNAL pthread_t GLOBAL_master_thread;
|
||||
EXTERNAL struct thread_mbox* GLOBAL_named_mboxes;
|
||||
EXTERNAL lockvar GLOBAL_mboxq_lock;
|
||||
EXTERNAL UInt GLOBAL_mbox_count;
|
||||
EXTERNAL struct swi_mutex* GLOBAL_WithMutex;
|
||||
#endif /* THREADS */
|
||||
// streams
|
||||
EXTERNAL struct stream_desc* GLOBAL_Stream;
|
||||
#if defined(THREADS)||defined(YAPOR)
|
||||
EXTERNAL lockvar GLOBAL_StreamDescLock;
|
||||
#endif
|
||||
// access to yap initial arguments
|
||||
EXTERNAL char** GLOBAL_argv;
|
||||
EXTERNAL int GLOBAL_argc;
|
||||
// extensions to Terms
|
||||
#ifdef COROUTINING
|
||||
/* array with the ops for your favourite extensions */
|
||||
EXTERNAL ext_op GLOBAL_attas[attvars_ext+1];
|
||||
#endif
|
||||
// agc.c
|
||||
EXTERNAL int GLOBAL_agc_calls;
|
||||
EXTERNAL YAP_ULONG_LONG GLOBAL_agc_collected;
|
||||
/* total time spent in GC */
|
||||
EXTERNAL Int GLOBAL_tot_agc_time;
|
||||
/* number of heap objects in all garbage collections */
|
||||
EXTERNAL Int GLOBAL_tot_agc_recovered;
|
||||
//arrays.c
|
||||
#if HAVE_MMAP
|
||||
EXTERNAL struct MMAP_ARRAY_BLOCK* GLOBAL_mmap_arrays;
|
||||
#endif
|
||||
#ifdef DEBUG
|
||||
//computils.c
|
||||
EXTERNAL char GLOBAL_Option[20];
|
||||
EXTERNAL YP_FILE* GLOBAL_logfile;
|
||||
//init.c
|
||||
//int output_msg =FALSE
|
||||
#endif
|
||||
#if defined(COFF) || defined(A_OUT)
|
||||
// loada_coff.c && load_aout.c
|
||||
EXTERNAL char GLOBAL_Executable[YAP_FILENAME_MAX];
|
||||
#endif
|
||||
EXTERNAL int GLOBAL_OpaqueHandlersCount;
|
||||
EXTERNAL struct opaque_handler_struct* GLOBAL_OpaqueHandlers;
|
||||
#if __simplescalar__
|
||||
EXTERNAL char GLOBAL_pwd[YAP_FILENAME_MAX];
|
||||
#endif
|
||||
//udi.c
|
||||
//struct udi_control_block RtreeCmd void
|
||||
EXTERNAL const char* GLOBAL_RestoreFile;
|
||||
//gprof.c
|
||||
EXTERNAL Int GLOBAL_ProfCalls;
|
||||
EXTERNAL Int GLOBAL_ProfGCs;
|
||||
EXTERNAL Int GLOBAL_ProfHGrows;
|
||||
EXTERNAL Int GLOBAL_ProfSGrows;
|
||||
EXTERNAL Int GLOBAL_ProfMallocs;
|
||||
EXTERNAL Int GLOBAL_ProfIndexing;
|
||||
EXTERNAL Int GLOBAL_ProfOn;
|
||||
EXTERNAL Int GLOBAL_ProfOns;
|
||||
EXTERNAL struct RB_red_blk_node* GLOBAL_ProfilerRoot;
|
||||
EXTERNAL struct RB_red_blk_node* GLOBAL_ProfilerNil;
|
||||
EXTERNAL char* GLOBAL_DIRNAME;
|
||||
#if LOW_PROF
|
||||
EXTERNAL int GLOBAL_ProfilerOn;
|
||||
EXTERNAL FILE* GLOBAL_FProf;
|
||||
EXTERNAL FILE* GLOBAL_FPreds;
|
||||
#endif /* LOW_PROF */
|
||||
// Mutexes
|
||||
#if THREADS
|
||||
EXTERNAL struct swi_mutex* GLOBAL_FreeMutexes;
|
||||
EXTERNAL struct swi_mutex* GLOBAL_mutex_backbone;
|
||||
EXTERNAL lockvar GLOBAL_MUT_ACCESS;
|
||||
#endif
|
||||
EXTERNAL char* GLOBAL_Home;
|
||||
/* ISO char conversion: I will make no comments */
|
||||
EXTERNAL char* GLOBAL_CharConversionTable;
|
||||
EXTERNAL char* GLOBAL_CharConversionTable2;
|
||||
/* max priority */
|
||||
EXTERNAL int GLOBAL_MaxPriority;
|
||||
/// alias table access
|
||||
EXTERNAL struct AliasDescS* GLOBAL_FileAliases;
|
||||
EXTERNAL int GLOBAL_NOfFileAliases;
|
||||
EXTERNAL int GLOBAL_SzOfFileAliases;
|
||||
EXTERNAL struct vfs* GLOBAL_VFS;
|
||||
|
||||
|
||||
/* This file, hglobals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/GLOBALS instead */
|
||||
|
||||
//
|
||||
// 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:
|
||||
// - they must be defined somewhere
|
||||
// - they have an #ifdef to get a shorter name
|
||||
// - they must be initialised somewhere
|
||||
// - they may be of interest to restore
|
||||
//
|
||||
// The defs include 3+ components:
|
||||
// Type
|
||||
// name in structured / global name
|
||||
// init code (optional)
|
||||
// restore code (optional)
|
||||
//
|
||||
// Stuff that must be shared by all threads or workers
|
||||
|
||||
// initialization: tell whether the system has been initialised and by whom.
|
||||
EXTERNAL int GLOBAL_Initialised;
|
||||
EXTERNAL int GLOBAL_InitialisedFromPL;
|
||||
EXTERNAL int GLOBAL_PL_Argc;
|
||||
EXTERNAL char** GLOBAL_PL_Argv;
|
||||
EXTERNAL bool GLOBAL_FAST_BOOT_FLAG;
|
||||
// halt hooks
|
||||
EXTERNAL struct halt_hook* GLOBAL_HaltHooks;
|
||||
EXTERNAL fptr_t GLOBAL_JIT_finalizer;
|
||||
// stack overflow expansion/gc control
|
||||
EXTERNAL int GLOBAL_AllowLocalExpansion;
|
||||
EXTERNAL int GLOBAL_AllowGlobalExpansion;
|
||||
EXTERNAL int GLOBAL_AllowTrailExpansion;
|
||||
EXTERNAL UInt GLOBAL_SizeOfOverflow;
|
||||
// amount of space recovered in all garbage collections
|
||||
EXTERNAL UInt GLOBAL_AGcThreshold;
|
||||
EXTERNAL Agc_hook GLOBAL_AGCHook;
|
||||
/* multi-thread support */
|
||||
#if THREADS
|
||||
/* number of threads and processes in system */
|
||||
EXTERNAL UInt GLOBAL_NOfThreads;
|
||||
/* number of threads created since start */
|
||||
EXTERNAL UInt GLOBAL_NOfThreadsCreated;
|
||||
/* total run time for dead threads */
|
||||
EXTERNAL UInt GLOBAL_ThreadsTotalTime;
|
||||
// Threads Array
|
||||
EXTERNAL lockvar GLOBAL_ThreadHandlesLock;
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
// protect long critical regions
|
||||
EXTERNAL lockvar GLOBAL_BGL;
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
EXTERNAL struct global_optyap_data GLOBAL_optyap_data;
|
||||
#endif /* YAPOR || TABLING */
|
||||
// whether Yap is responsible for signal handling
|
||||
EXTERNAL int GLOBAL_PrologShouldHandleInterrupts;
|
||||
/* This is the guy who actually started the system, and who has the correct registers */
|
||||
#if defined(THREADS)
|
||||
EXTERNAL pthread_t GLOBAL_master_thread;
|
||||
EXTERNAL struct thread_mbox* GLOBAL_named_mboxes;
|
||||
EXTERNAL lockvar GLOBAL_mboxq_lock;
|
||||
EXTERNAL UInt GLOBAL_mbox_count;
|
||||
EXTERNAL struct swi_mutex* GLOBAL_WithMutex;
|
||||
#endif /* THREADS */
|
||||
// streams
|
||||
EXTERNAL struct stream_desc* GLOBAL_Stream;
|
||||
#if defined(THREADS)||defined(YAPOR)
|
||||
EXTERNAL lockvar GLOBAL_StreamDescLock;
|
||||
#endif
|
||||
// access to yap initial arguments
|
||||
EXTERNAL char** GLOBAL_argv;
|
||||
EXTERNAL int GLOBAL_argc;
|
||||
// extensions to Terms
|
||||
#ifdef COROUTINING
|
||||
/* array with the ops for your favourite extensions */
|
||||
EXTERNAL ext_op GLOBAL_attas[attvars_ext+1];
|
||||
#endif
|
||||
// agc.c
|
||||
EXTERNAL int GLOBAL_agc_calls;
|
||||
EXTERNAL YAP_ULONG_LONG GLOBAL_agc_collected;
|
||||
/* total time spent in GC */
|
||||
EXTERNAL Int GLOBAL_tot_agc_time;
|
||||
/* number of heap objects in all garbage collections */
|
||||
EXTERNAL Int GLOBAL_tot_agc_recovered;
|
||||
//arrays.c
|
||||
#if HAVE_MMAP
|
||||
EXTERNAL struct MMAP_ARRAY_BLOCK* GLOBAL_mmap_arrays;
|
||||
#endif
|
||||
#ifdef DEBUG
|
||||
//computils.c
|
||||
EXTERNAL char GLOBAL_Option[20];
|
||||
EXTERNAL YP_FILE* GLOBAL_logfile;
|
||||
//init.c
|
||||
//int output_msg =FALSE
|
||||
#endif
|
||||
#if defined(COFF) || defined(A_OUT)
|
||||
// loada_coff.c && load_aout.c
|
||||
EXTERNAL char GLOBAL_Executable[YAP_FILENAME_MAX];
|
||||
#endif
|
||||
EXTERNAL int GLOBAL_OpaqueHandlersCount;
|
||||
EXTERNAL struct opaque_handler_struct* GLOBAL_OpaqueHandlers;
|
||||
#if __simplescalar__
|
||||
EXTERNAL char GLOBAL_pwd[YAP_FILENAME_MAX];
|
||||
#endif
|
||||
//udi.c
|
||||
//struct udi_control_block RtreeCmd void
|
||||
EXTERNAL const char* GLOBAL_RestoreFile;
|
||||
//gprof.c
|
||||
EXTERNAL Int GLOBAL_ProfCalls;
|
||||
EXTERNAL Int GLOBAL_ProfGCs;
|
||||
EXTERNAL Int GLOBAL_ProfHGrows;
|
||||
EXTERNAL Int GLOBAL_ProfSGrows;
|
||||
EXTERNAL Int GLOBAL_ProfMallocs;
|
||||
EXTERNAL Int GLOBAL_ProfIndexing;
|
||||
EXTERNAL Int GLOBAL_ProfOn;
|
||||
EXTERNAL Int GLOBAL_ProfOns;
|
||||
EXTERNAL struct RB_red_blk_node* GLOBAL_ProfilerRoot;
|
||||
EXTERNAL struct RB_red_blk_node* GLOBAL_ProfilerNil;
|
||||
EXTERNAL char* GLOBAL_DIRNAME;
|
||||
#if LOW_PROF
|
||||
EXTERNAL int GLOBAL_ProfilerOn;
|
||||
EXTERNAL FILE* GLOBAL_FProf;
|
||||
EXTERNAL FILE* GLOBAL_FPreds;
|
||||
#endif /* LOW_PROF */
|
||||
// Mutexes
|
||||
#if THREADS
|
||||
EXTERNAL struct swi_mutex* GLOBAL_FreeMutexes;
|
||||
EXTERNAL struct swi_mutex* GLOBAL_mutex_backbone;
|
||||
EXTERNAL lockvar GLOBAL_MUT_ACCESS;
|
||||
#endif
|
||||
EXTERNAL char* GLOBAL_Home;
|
||||
/* ISO char conversion: I will make no comments */
|
||||
EXTERNAL char* GLOBAL_CharConversionTable;
|
||||
EXTERNAL char* GLOBAL_CharConversionTable2;
|
||||
/* max priority */
|
||||
EXTERNAL int GLOBAL_MaxPriority;
|
||||
/// alias table access
|
||||
EXTERNAL struct AliasDescS* GLOBAL_FileAliases;
|
||||
EXTERNAL int GLOBAL_NOfFileAliases;
|
||||
EXTERNAL int GLOBAL_SzOfFileAliases;
|
||||
EXTERNAL struct vfs* GLOBAL_VFS;
|
||||
|
||||
|
@ -1,296 +1,295 @@
|
||||
|
||||
/* This file, d0hstruct.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/HEAPFIELDS instead */
|
||||
|
||||
//
|
||||
// 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:
|
||||
// - they must be defined somewhere
|
||||
// - they have an #ifdef to get a shorter name
|
||||
// - they must be initialised somewhere
|
||||
// - they must be restorable and collectable (from the atom gc).
|
||||
//
|
||||
//
|
||||
// The defs include 4+ components:
|
||||
// Type
|
||||
// name in structured
|
||||
// global name
|
||||
// init code and restore code (optional)
|
||||
//
|
||||
//
|
||||
//
|
||||
// MkAT (MkAtomTerm) cvts from a predefined atom to a term
|
||||
// MkPred constructs a pred_entry
|
||||
// MkOp gets an opcode
|
||||
// void does nothing
|
||||
// =VALUE inits as VALUE
|
||||
// Init... sets up call to InitFunc
|
||||
// Restore... sets up call to RestoreFunc
|
||||
//
|
||||
|
||||
/* memory management */
|
||||
EXTERNAL UInt Yap_HoleSize;
|
||||
#if USE_DL_MALLOC
|
||||
EXTERNAL struct malloc_state *Yap_av;
|
||||
EXTERNAL struct memory_hole Yap_MemoryHoles[MAX_DLMALLOC_HOLES];
|
||||
EXTERNAL UInt Yap_NOfMemoryHoles;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL lockvar DLMallocLock;
|
||||
#endif
|
||||
#endif
|
||||
#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
|
||||
#ifndef HeapUsed
|
||||
#define HeapUsed Yap_givemallinfo()
|
||||
#endif
|
||||
EXTERNAL Int NotHeapUsed;
|
||||
#else
|
||||
EXTERNAL Int HeapUsed;
|
||||
#endif
|
||||
EXTERNAL Int HeapMax;
|
||||
EXTERNAL ADDR HeapTop;
|
||||
EXTERNAL ADDR HeapLim;
|
||||
EXTERNAL struct FREEB *FreeBlocks;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL lockvar FreeBlocksLock;
|
||||
EXTERNAL lockvar HeapUsedLock;
|
||||
EXTERNAL lockvar HeapTopLock;
|
||||
EXTERNAL int HeapTopOwner;
|
||||
#endif
|
||||
EXTERNAL UInt MaxStack;
|
||||
EXTERNAL UInt MaxTrail;
|
||||
/* execution info */
|
||||
/* OPCODE REVERSE TABLE, needed to recover op tables */
|
||||
#if USE_THREADED_CODE
|
||||
EXTERNAL op_entry *OP_RTABLE;
|
||||
#endif
|
||||
/* popular opcodes */
|
||||
EXTERNAL OPCODE EXECUTE_CPRED_OP_CODE;
|
||||
EXTERNAL OPCODE EXPAND_OP_CODE;
|
||||
EXTERNAL OPCODE FAIL_OPCODE;
|
||||
EXTERNAL OPCODE INDEX_OPCODE;
|
||||
EXTERNAL OPCODE LOCKPRED_OPCODE;
|
||||
EXTERNAL OPCODE ORLAST_OPCODE;
|
||||
EXTERNAL OPCODE UNDEF_OPCODE;
|
||||
EXTERNAL OPCODE RETRY_USERC_OPCODE;
|
||||
EXTERNAL OPCODE EXECUTE_CPRED_OPCODE;
|
||||
/* atom tables */
|
||||
EXTERNAL UInt NOfAtoms;
|
||||
EXTERNAL UInt AtomHashTableSize;
|
||||
EXTERNAL UInt WideAtomHashTableSize;
|
||||
EXTERNAL UInt NOfWideAtoms;
|
||||
EXTERNAL AtomHashEntry INVISIBLECHAIN;
|
||||
EXTERNAL AtomHashEntry *WideHashChain;
|
||||
EXTERNAL AtomHashEntry *HashChain;
|
||||
/* use atom defs here */
|
||||
#include "tatoms.h"
|
||||
#ifdef EUROTRA
|
||||
EXTERNAL Term TermDollarU;
|
||||
#endif
|
||||
EXTERNAL Term TermAnswer;
|
||||
//modules
|
||||
EXTERNAL Term USER_MODULE;
|
||||
EXTERNAL Term IDB_MODULE;
|
||||
EXTERNAL Term ATTRIBUTES_MODULE;
|
||||
EXTERNAL Term CHARSIO_MODULE;
|
||||
EXTERNAL Term CHTYPE_MODULE;
|
||||
EXTERNAL Term TERMS_MODULE;
|
||||
EXTERNAL Term SYSTEM_MODULE;
|
||||
EXTERNAL Term READUTIL_MODULE;
|
||||
EXTERNAL Term HACKS_MODULE;
|
||||
EXTERNAL Term ARG_MODULE;
|
||||
EXTERNAL Term GLOBALS_MODULE;
|
||||
EXTERNAL Term SWI_MODULE;
|
||||
EXTERNAL Term DBLOAD_MODULE;
|
||||
EXTERNAL Term RANGE_MODULE;
|
||||
EXTERNAL Term ERROR_MODULE;
|
||||
//
|
||||
// Module list
|
||||
//
|
||||
EXTERNAL struct mod_entry *CurrentModules;
|
||||
// make sure we have the modules set at this point.
|
||||
// don't actually want to define a field
|
||||
|
||||
// hidden predicates
|
||||
EXTERNAL Prop HIDDEN_PREDICATES;
|
||||
// make sure we have the streams set at this point.
|
||||
// don't actually want to define a field
|
||||
|
||||
EXTERNAL union flagTerm* GLOBAL_Flags;
|
||||
EXTERNAL UInt GLOBAL_flagCount;
|
||||
/* Anderson's JIT */
|
||||
EXTERNAL yap_exec_mode Yap_ExecutionMode;
|
||||
/* The Predicate Hash Table: fast access to predicates. */
|
||||
EXTERNAL UInt PredsInHashTable;
|
||||
EXTERNAL uint64_t PredHashTableSize;
|
||||
EXTERNAL struct pred_entry **PredHash;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL rwlock_t PredHashRWLock;
|
||||
#endif
|
||||
/* Well-Known Predicates */
|
||||
EXTERNAL struct pred_entry *CreepCode;
|
||||
EXTERNAL struct pred_entry *UndefCode;
|
||||
EXTERNAL struct pred_entry *SpyCode;
|
||||
EXTERNAL struct pred_entry *PredFail;
|
||||
EXTERNAL struct pred_entry *PredTrue;
|
||||
#ifdef COROUTINING
|
||||
EXTERNAL struct pred_entry *WakeUpCode;
|
||||
#endif
|
||||
EXTERNAL struct pred_entry *PredDollarCatch;
|
||||
#ifdef YAPOR
|
||||
EXTERNAL struct pred_entry *PredGetwork;
|
||||
#endif /* YAPOR */
|
||||
EXTERNAL struct pred_entry *PredGoalExpansion;
|
||||
EXTERNAL struct pred_entry *PredHandleThrow;
|
||||
EXTERNAL struct pred_entry *PredIs;
|
||||
EXTERNAL struct pred_entry *PredLogUpdClause;
|
||||
EXTERNAL struct pred_entry *PredLogUpdClauseErase;
|
||||
EXTERNAL struct pred_entry *PredLogUpdClause0;
|
||||
EXTERNAL struct pred_entry *PredMetaCall;
|
||||
EXTERNAL struct pred_entry *PredProtectStack;
|
||||
EXTERNAL struct pred_entry *PredRecordedWithKey;
|
||||
EXTERNAL struct pred_entry *PredRestoreRegs;
|
||||
EXTERNAL struct pred_entry *PredSafeCallCleanup;
|
||||
EXTERNAL struct pred_entry *PredStaticClause;
|
||||
EXTERNAL struct pred_entry *PredThrow;
|
||||
EXTERNAL struct pred_entry *PredTraceMetaCall;
|
||||
EXTERNAL struct pred_entry *PredCommentHook;
|
||||
EXTERNAL struct pred_entry *PredProcedure;
|
||||
EXTERNAL struct pred_entry *PredUndefinedQuery;
|
||||
/* low-level tracer */
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
EXTERNAL int Yap_do_low_level_trace;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL lockvar Yap_low_level_trace_lock;
|
||||
#endif
|
||||
#endif
|
||||
/* code management info */
|
||||
EXTERNAL UInt Yap_ClauseSpace;
|
||||
EXTERNAL UInt Yap_IndexSpace_Tree;
|
||||
EXTERNAL UInt Yap_IndexSpace_EXT;
|
||||
EXTERNAL UInt Yap_IndexSpace_SW;
|
||||
EXTERNAL UInt Yap_LUClauseSpace;
|
||||
EXTERNAL UInt Yap_LUIndexSpace_Tree;
|
||||
EXTERNAL UInt Yap_LUIndexSpace_CP;
|
||||
EXTERNAL UInt Yap_LUIndexSpace_EXT;
|
||||
EXTERNAL UInt Yap_LUIndexSpace_SW;
|
||||
/* static code: may be shared by many predicate or may be used for meta-execution */
|
||||
EXTERNAL yamop COMMA_CODE[5];
|
||||
EXTERNAL yamop DUMMYCODE[1];
|
||||
EXTERNAL yamop FAILCODE[1];
|
||||
EXTERNAL yamop NOCODE[1];
|
||||
EXTERNAL yamop ENV_FOR_TRUSTFAIL[2];
|
||||
EXTERNAL yamop *TRUSTFAILCODE;
|
||||
EXTERNAL yamop ENV_FOR_YESCODE[2];
|
||||
EXTERNAL yamop *YESCODE;
|
||||
EXTERNAL yamop RTRYCODE[1];
|
||||
#ifdef BEAM
|
||||
EXTERNAL yamop BEAM_RETRY_CODE[1];
|
||||
#endif /* BEAM */
|
||||
#ifdef YAPOR
|
||||
EXTERNAL yamop GETWORK[1];
|
||||
EXTERNAL yamop GETWORK_SEQ[1];
|
||||
EXTERNAL yamop GETWORK_FIRST_TIME[1];
|
||||
#endif /* YAPOR */
|
||||
#ifdef TABLING
|
||||
EXTERNAL yamop LOAD_ANSWER[1];
|
||||
EXTERNAL yamop TRY_ANSWER[1];
|
||||
EXTERNAL yamop ANSWER_RESOLUTION[1];
|
||||
EXTERNAL yamop COMPLETION[1];
|
||||
#ifdef THREADS_CONSUMER_SHARING
|
||||
EXTERNAL yamop ANSWER_RESOLUTION_COMPLETION[1];
|
||||
#endif /* THREADS_CONSUMER_SHARING */
|
||||
#endif /* TABLING */
|
||||
/* */
|
||||
/* PREG just before we enter $spy. We use that to find out the clause which */
|
||||
/* was calling the debugged goal. */
|
||||
/* */
|
||||
EXTERNAL yamop *P_before_spy;
|
||||
/* support recorded_k */
|
||||
EXTERNAL yamop *RETRY_C_RECORDEDP_CODE;
|
||||
EXTERNAL yamop *RETRY_C_RECORDED_K_CODE;
|
||||
/* compiler flags */
|
||||
EXTERNAL int PROFILING;
|
||||
EXTERNAL int CALL_COUNTING;
|
||||
EXTERNAL int optimizer_on;
|
||||
EXTERNAL int compile_mode;
|
||||
EXTERNAL int profiling;
|
||||
EXTERNAL int call_counting;
|
||||
/********* whether we should try to compile array references ******************/
|
||||
EXTERNAL int compile_arrays;
|
||||
/* DBTerms: pre-compiled ground terms */
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL lockvar DBTermsListLock;
|
||||
#endif
|
||||
EXTERNAL struct dbterm_list *DBTermsList;
|
||||
/* JITI support */
|
||||
EXTERNAL yamop *ExpandClausesFirst;
|
||||
EXTERNAL yamop *ExpandClausesLast;
|
||||
EXTERNAL UInt Yap_ExpandClauses;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL lockvar ExpandClausesListLock;
|
||||
EXTERNAL lockvar OpListLock;
|
||||
#endif
|
||||
/* instrumentation */
|
||||
#ifdef DEBUG
|
||||
EXTERNAL UInt Yap_NewCps;
|
||||
EXTERNAL UInt Yap_LiveCps;
|
||||
EXTERNAL UInt Yap_DirtyCps;
|
||||
EXTERNAL UInt Yap_FreedCps;
|
||||
#endif
|
||||
EXTERNAL UInt Yap_expand_clauses_sz;
|
||||
/* UDI support */
|
||||
EXTERNAL struct udi_info *UdiControlBlocks;
|
||||
/* data-base statistics */
|
||||
/* system boots in compile mode */
|
||||
EXTERNAL Int STATIC_PREDICATES_MARKED;
|
||||
/* Internal Database */
|
||||
EXTERNAL Prop *INT_KEYS;
|
||||
EXTERNAL Prop *INT_LU_KEYS;
|
||||
EXTERNAL Prop *INT_BB_KEYS;
|
||||
/* Internal Database Statistics */
|
||||
EXTERNAL UInt INT_KEYS_SIZE;
|
||||
EXTERNAL UInt INT_KEYS_TIMESTAMP;
|
||||
EXTERNAL UInt INT_BB_KEYS_SIZE;
|
||||
/* Internal Data-Base Control */
|
||||
EXTERNAL int UPDATE_MODE;
|
||||
/* nasty IDB stuff */
|
||||
EXTERNAL struct DB_STRUCT *DBErasedMarker;
|
||||
EXTERNAL struct logic_upd_clause *LogDBErasedMarker;
|
||||
/* Dead clauses and IDB entries */
|
||||
EXTERNAL struct static_clause *DeadStaticClauses;
|
||||
EXTERNAL struct static_mega_clause *DeadMegaClauses;
|
||||
EXTERNAL struct static_index *DeadStaticIndices;
|
||||
EXTERNAL struct logic_upd_clause *DBErasedList;
|
||||
EXTERNAL struct logic_upd_index *DBErasedIList;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL lockvar DeadStaticClausesLock;
|
||||
EXTERNAL lockvar DeadMegaClausesLock;
|
||||
EXTERNAL lockvar DeadStaticIndicesLock;
|
||||
#endif
|
||||
#ifdef COROUTINING
|
||||
/* number of attribute modules */
|
||||
EXTERNAL int NUM_OF_ATTS;
|
||||
/* initialised by memory allocator */
|
||||
EXTERNAL UInt Yap_AttsSize;
|
||||
#endif
|
||||
/* Operators */
|
||||
EXTERNAL struct operator_entry *OpList;
|
||||
/* foreign code loaded */
|
||||
EXTERNAL struct ForeignLoadItem *ForeignCodeLoaded;
|
||||
EXTERNAL ADDR ForeignCodeBase;
|
||||
EXTERNAL ADDR ForeignCodeTop;
|
||||
EXTERNAL ADDR ForeignCodeMax;
|
||||
/* recorded terms */
|
||||
EXTERNAL struct record_list *Yap_Records;
|
||||
EXTERNAL Atom EmptyWakeups[MAX_EMPTY_WAKEUPS];
|
||||
EXTERNAL int MaxEmptyWakeups;
|
||||
/* SWI blobs */
|
||||
EXTERNAL struct YAP_blob_t *BlobTypes;
|
||||
EXTERNAL struct AtomEntryStruct *Blobs;
|
||||
EXTERNAL UInt NOfBlobs;
|
||||
EXTERNAL UInt NOfBlobsMax;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL lockvar Blobs_Lock;
|
||||
#endif
|
||||
|
||||
|
||||
/* This file, d0hstruct.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/HEAPFIELDS instead */
|
||||
|
||||
//
|
||||
// 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:
|
||||
// - they must be defined somewhere
|
||||
// - they have an #ifdef to get a shorter name
|
||||
// - they must be initialised somewhere
|
||||
// - they must be restorable and collectable (from the atom gc).
|
||||
//
|
||||
//
|
||||
// The defs include 4+ components:
|
||||
// Type
|
||||
// name in structured
|
||||
// global name
|
||||
// init code and restore code (optional)
|
||||
//
|
||||
//
|
||||
//
|
||||
// MkAT (MkAtomTerm) cvts from a predefined atom to a term
|
||||
// MkPred constructs a pred_entry
|
||||
// MkOp gets an opcode
|
||||
// void does nothing
|
||||
// =VALUE inits as VALUE
|
||||
// Init... sets up call to InitFunc
|
||||
// Restore... sets up call to RestoreFunc
|
||||
//
|
||||
|
||||
/* memory management */
|
||||
EXTERNAL UInt Yap_HoleSize;
|
||||
#if USE_DL_MALLOC
|
||||
EXTERNAL struct malloc_state *Yap_av;
|
||||
EXTERNAL struct memory_hole Yap_MemoryHoles[MAX_DLMALLOC_HOLES];
|
||||
EXTERNAL UInt Yap_NOfMemoryHoles;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL lockvar DLMallocLock;
|
||||
#endif
|
||||
#endif
|
||||
#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
|
||||
#ifndef HeapUsed
|
||||
#define HeapUsed Yap_givemallinfo()
|
||||
#endif
|
||||
EXTERNAL Int NotHeapUsed;
|
||||
#else
|
||||
EXTERNAL Int HeapUsed;
|
||||
#endif
|
||||
EXTERNAL Int HeapMax;
|
||||
EXTERNAL ADDR HeapTop;
|
||||
EXTERNAL ADDR HeapLim;
|
||||
EXTERNAL struct FREEB *FreeBlocks;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL lockvar FreeBlocksLock;
|
||||
EXTERNAL lockvar HeapUsedLock;
|
||||
EXTERNAL lockvar HeapTopLock;
|
||||
EXTERNAL int HeapTopOwner;
|
||||
#endif
|
||||
EXTERNAL UInt MaxStack;
|
||||
EXTERNAL UInt MaxTrail;
|
||||
/* execution info */
|
||||
/* OPCODE REVERSE TABLE, needed to recover op tables */
|
||||
#if USE_THREADED_CODE
|
||||
EXTERNAL op_entry *OP_RTABLE;
|
||||
#endif
|
||||
/* popular opcodes */
|
||||
EXTERNAL OPCODE EXECUTE_CPRED_OP_CODE;
|
||||
EXTERNAL OPCODE EXPAND_OP_CODE;
|
||||
EXTERNAL OPCODE FAIL_OPCODE;
|
||||
EXTERNAL OPCODE INDEX_OPCODE;
|
||||
EXTERNAL OPCODE LOCKPRED_OPCODE;
|
||||
EXTERNAL OPCODE ORLAST_OPCODE;
|
||||
EXTERNAL OPCODE UNDEF_OPCODE;
|
||||
EXTERNAL OPCODE RETRY_USERC_OPCODE;
|
||||
EXTERNAL OPCODE EXECUTE_CPRED_OPCODE;
|
||||
/* atom tables */
|
||||
EXTERNAL UInt NOfAtoms;
|
||||
EXTERNAL UInt AtomHashTableSize;
|
||||
EXTERNAL UInt WideAtomHashTableSize;
|
||||
EXTERNAL UInt NOfWideAtoms;
|
||||
EXTERNAL AtomHashEntry INVISIBLECHAIN;
|
||||
EXTERNAL AtomHashEntry *WideHashChain;
|
||||
EXTERNAL AtomHashEntry *HashChain;
|
||||
/* use atom defs here */
|
||||
#include "tatoms.h"
|
||||
#ifdef EUROTRA
|
||||
EXTERNAL Term TermDollarU;
|
||||
#endif
|
||||
//modules
|
||||
EXTERNAL Term USER_MODULE;
|
||||
EXTERNAL Term IDB_MODULE;
|
||||
EXTERNAL Term ATTRIBUTES_MODULE;
|
||||
EXTERNAL Term CHARSIO_MODULE;
|
||||
EXTERNAL Term CHTYPE_MODULE;
|
||||
EXTERNAL Term TERMS_MODULE;
|
||||
EXTERNAL Term SYSTEM_MODULE;
|
||||
EXTERNAL Term READUTIL_MODULE;
|
||||
EXTERNAL Term HACKS_MODULE;
|
||||
EXTERNAL Term ARG_MODULE;
|
||||
EXTERNAL Term GLOBALS_MODULE;
|
||||
EXTERNAL Term SWI_MODULE;
|
||||
EXTERNAL Term DBLOAD_MODULE;
|
||||
EXTERNAL Term RANGE_MODULE;
|
||||
EXTERNAL Term ERROR_MODULE;
|
||||
//
|
||||
// Module list
|
||||
//
|
||||
EXTERNAL struct mod_entry *CurrentModules;
|
||||
// make sure we have the modules set at this point.
|
||||
// don't actually want to define a field
|
||||
|
||||
// hidden predicates
|
||||
EXTERNAL Prop HIDDEN_PREDICATES;
|
||||
// make sure we have the streams set at this point.
|
||||
// don't actually want to define a field
|
||||
|
||||
EXTERNAL union flagTerm* GLOBAL_Flags;
|
||||
EXTERNAL UInt GLOBAL_flagCount;
|
||||
/* Anderson's JIT */
|
||||
EXTERNAL yap_exec_mode Yap_ExecutionMode;
|
||||
/* The Predicate Hash Table: fast access to predicates. */
|
||||
EXTERNAL UInt PredsInHashTable;
|
||||
EXTERNAL uint64_t PredHashTableSize;
|
||||
EXTERNAL struct pred_entry **PredHash;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL rwlock_t PredHashRWLock;
|
||||
#endif
|
||||
/* Well-Known Predicates */
|
||||
EXTERNAL struct pred_entry *CreepCode;
|
||||
EXTERNAL struct pred_entry *UndefCode;
|
||||
EXTERNAL struct pred_entry *SpyCode;
|
||||
EXTERNAL struct pred_entry *PredFail;
|
||||
EXTERNAL struct pred_entry *PredTrue;
|
||||
#ifdef COROUTINING
|
||||
EXTERNAL struct pred_entry *WakeUpCode;
|
||||
#endif
|
||||
EXTERNAL struct pred_entry *PredDollarCatch;
|
||||
#ifdef YAPOR
|
||||
EXTERNAL struct pred_entry *PredGetwork;
|
||||
#endif /* YAPOR */
|
||||
EXTERNAL struct pred_entry *PredGoalExpansion;
|
||||
EXTERNAL struct pred_entry *PredHandleThrow;
|
||||
EXTERNAL struct pred_entry *PredIs;
|
||||
EXTERNAL struct pred_entry *PredLogUpdClause;
|
||||
EXTERNAL struct pred_entry *PredLogUpdClauseErase;
|
||||
EXTERNAL struct pred_entry *PredLogUpdClause0;
|
||||
EXTERNAL struct pred_entry *PredMetaCall;
|
||||
EXTERNAL struct pred_entry *PredProtectStack;
|
||||
EXTERNAL struct pred_entry *PredRecordedWithKey;
|
||||
EXTERNAL struct pred_entry *PredRestoreRegs;
|
||||
EXTERNAL struct pred_entry *PredSafeCallCleanup;
|
||||
EXTERNAL struct pred_entry *PredStaticClause;
|
||||
EXTERNAL struct pred_entry *PredThrow;
|
||||
EXTERNAL struct pred_entry *PredTraceMetaCall;
|
||||
EXTERNAL struct pred_entry *PredCommentHook;
|
||||
EXTERNAL struct pred_entry *PredProcedure;
|
||||
EXTERNAL struct pred_entry *PredUndefinedQuery;
|
||||
/* low-level tracer */
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
EXTERNAL int Yap_do_low_level_trace;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL lockvar Yap_low_level_trace_lock;
|
||||
#endif
|
||||
#endif
|
||||
/* code management info */
|
||||
EXTERNAL UInt Yap_ClauseSpace;
|
||||
EXTERNAL UInt Yap_IndexSpace_Tree;
|
||||
EXTERNAL UInt Yap_IndexSpace_EXT;
|
||||
EXTERNAL UInt Yap_IndexSpace_SW;
|
||||
EXTERNAL UInt Yap_LUClauseSpace;
|
||||
EXTERNAL UInt Yap_LUIndexSpace_Tree;
|
||||
EXTERNAL UInt Yap_LUIndexSpace_CP;
|
||||
EXTERNAL UInt Yap_LUIndexSpace_EXT;
|
||||
EXTERNAL UInt Yap_LUIndexSpace_SW;
|
||||
/* static code: may be shared by many predicate or may be used for meta-execution */
|
||||
EXTERNAL yamop COMMA_CODE[5];
|
||||
EXTERNAL yamop DUMMYCODE[1];
|
||||
EXTERNAL yamop FAILCODE[1];
|
||||
EXTERNAL yamop NOCODE[1];
|
||||
EXTERNAL yamop ENV_FOR_TRUSTFAIL[2];
|
||||
EXTERNAL yamop *TRUSTFAILCODE;
|
||||
EXTERNAL yamop ENV_FOR_YESCODE[2];
|
||||
EXTERNAL yamop *YESCODE;
|
||||
EXTERNAL yamop RTRYCODE[1];
|
||||
#ifdef BEAM
|
||||
EXTERNAL yamop BEAM_RETRY_CODE[1];
|
||||
#endif /* BEAM */
|
||||
#ifdef YAPOR
|
||||
EXTERNAL yamop GETWORK[1];
|
||||
EXTERNAL yamop GETWORK_SEQ[1];
|
||||
EXTERNAL yamop GETWORK_FIRST_TIME[1];
|
||||
#endif /* YAPOR */
|
||||
#ifdef TABLING
|
||||
EXTERNAL yamop LOAD_ANSWER[1];
|
||||
EXTERNAL yamop TRY_ANSWER[1];
|
||||
EXTERNAL yamop ANSWER_RESOLUTION[1];
|
||||
EXTERNAL yamop COMPLETION[1];
|
||||
#ifdef THREADS_CONSUMER_SHARING
|
||||
EXTERNAL yamop ANSWER_RESOLUTION_COMPLETION[1];
|
||||
#endif /* THREADS_CONSUMER_SHARING */
|
||||
#endif /* TABLING */
|
||||
/* */
|
||||
/* PREG just before we enter $spy. We use that to find out the clause which */
|
||||
/* was calling the debugged goal. */
|
||||
/* */
|
||||
EXTERNAL yamop *P_before_spy;
|
||||
/* support recorded_k */
|
||||
EXTERNAL yamop *RETRY_C_RECORDEDP_CODE;
|
||||
EXTERNAL yamop *RETRY_C_RECORDED_K_CODE;
|
||||
/* compiler flags */
|
||||
EXTERNAL int PROFILING;
|
||||
EXTERNAL int CALL_COUNTING;
|
||||
EXTERNAL int optimizer_on;
|
||||
EXTERNAL int compile_mode;
|
||||
EXTERNAL int profiling;
|
||||
EXTERNAL int call_counting;
|
||||
/********* whether we should try to compile array references ******************/
|
||||
EXTERNAL int compile_arrays;
|
||||
/* DBTerms: pre-compiled ground terms */
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL lockvar DBTermsListLock;
|
||||
#endif
|
||||
EXTERNAL struct dbterm_list *DBTermsList;
|
||||
/* JITI support */
|
||||
EXTERNAL yamop *ExpandClausesFirst;
|
||||
EXTERNAL yamop *ExpandClausesLast;
|
||||
EXTERNAL UInt Yap_ExpandClauses;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL lockvar ExpandClausesListLock;
|
||||
EXTERNAL lockvar OpListLock;
|
||||
#endif
|
||||
/* instrumentation */
|
||||
#ifdef DEBUG
|
||||
EXTERNAL UInt Yap_NewCps;
|
||||
EXTERNAL UInt Yap_LiveCps;
|
||||
EXTERNAL UInt Yap_DirtyCps;
|
||||
EXTERNAL UInt Yap_FreedCps;
|
||||
#endif
|
||||
EXTERNAL UInt Yap_expand_clauses_sz;
|
||||
/* UDI support */
|
||||
EXTERNAL struct udi_info *UdiControlBlocks;
|
||||
/* data-base statistics */
|
||||
/* system boots in compile mode */
|
||||
EXTERNAL Int STATIC_PREDICATES_MARKED;
|
||||
/* Internal Database */
|
||||
EXTERNAL Prop *INT_KEYS;
|
||||
EXTERNAL Prop *INT_LU_KEYS;
|
||||
EXTERNAL Prop *INT_BB_KEYS;
|
||||
/* Internal Database Statistics */
|
||||
EXTERNAL UInt INT_KEYS_SIZE;
|
||||
EXTERNAL UInt INT_KEYS_TIMESTAMP;
|
||||
EXTERNAL UInt INT_BB_KEYS_SIZE;
|
||||
/* Internal Data-Base Control */
|
||||
EXTERNAL int UPDATE_MODE;
|
||||
/* nasty IDB stuff */
|
||||
EXTERNAL struct DB_STRUCT *DBErasedMarker;
|
||||
EXTERNAL struct logic_upd_clause *LogDBErasedMarker;
|
||||
/* Dead clauses and IDB entries */
|
||||
EXTERNAL struct static_clause *DeadStaticClauses;
|
||||
EXTERNAL struct static_mega_clause *DeadMegaClauses;
|
||||
EXTERNAL struct static_index *DeadStaticIndices;
|
||||
EXTERNAL struct logic_upd_clause *DBErasedList;
|
||||
EXTERNAL struct logic_upd_index *DBErasedIList;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL lockvar DeadStaticClausesLock;
|
||||
EXTERNAL lockvar DeadMegaClausesLock;
|
||||
EXTERNAL lockvar DeadStaticIndicesLock;
|
||||
#endif
|
||||
#ifdef COROUTINING
|
||||
/* number of attribute modules */
|
||||
EXTERNAL int NUM_OF_ATTS;
|
||||
/* initialised by memory allocator */
|
||||
EXTERNAL UInt Yap_AttsSize;
|
||||
#endif
|
||||
/* Operators */
|
||||
EXTERNAL struct operator_entry *OpList;
|
||||
/* foreign code loaded */
|
||||
EXTERNAL struct ForeignLoadItem *ForeignCodeLoaded;
|
||||
EXTERNAL ADDR ForeignCodeBase;
|
||||
EXTERNAL ADDR ForeignCodeTop;
|
||||
EXTERNAL ADDR ForeignCodeMax;
|
||||
/* recorded terms */
|
||||
EXTERNAL struct record_list *Yap_Records;
|
||||
EXTERNAL Atom EmptyWakeups[MAX_EMPTY_WAKEUPS];
|
||||
EXTERNAL int MaxEmptyWakeups;
|
||||
/* SWI blobs */
|
||||
EXTERNAL struct YAP_blob_t *BlobTypes;
|
||||
EXTERNAL struct AtomEntryStruct *Blobs;
|
||||
EXTERNAL UInt NOfBlobs;
|
||||
EXTERNAL UInt NOfBlobsMax;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
EXTERNAL lockvar Blobs_Lock;
|
||||
#endif
|
||||
|
||||
|
@ -1,144 +1,144 @@
|
||||
|
||||
/* This file, hglobals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/GLOBALS instead */
|
||||
|
||||
//
|
||||
// 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:
|
||||
// - they must be defined somewhere
|
||||
// - they have an #ifdef to get a shorter name
|
||||
// - they must be initialised somewhere
|
||||
// - they may be of interest to restore
|
||||
//
|
||||
// The defs include 3+ components:
|
||||
// Type
|
||||
// name in structured / global name
|
||||
// init code (optional)
|
||||
// restore code (optional)
|
||||
//
|
||||
// Stuff that must be shared by all threads or workers
|
||||
typedef struct global_data {
|
||||
// initialization: tell whether the system has been initialised and by whom.
|
||||
int Initialised_;
|
||||
int InitialisedFromPL_;
|
||||
int PL_Argc_;
|
||||
char** PL_Argv_;
|
||||
bool FAST_BOOT_FLAG_;
|
||||
// halt hooks
|
||||
struct halt_hook* HaltHooks_;
|
||||
fptr_t JIT_finalizer_;
|
||||
// stack overflow expansion/gc control
|
||||
int AllowLocalExpansion_;
|
||||
int AllowGlobalExpansion_;
|
||||
int AllowTrailExpansion_;
|
||||
UInt SizeOfOverflow_;
|
||||
// amount of space recovered in all garbage collections
|
||||
UInt AGcThreshold_;
|
||||
Agc_hook AGCHook_;
|
||||
/* multi-thread support */
|
||||
#if THREADS
|
||||
/* number of threads and processes in system */
|
||||
UInt NOfThreads_;
|
||||
/* number of threads created since start */
|
||||
UInt NOfThreadsCreated_;
|
||||
/* total run time for dead threads */
|
||||
UInt ThreadsTotalTime_;
|
||||
// Threads Array
|
||||
lockvar ThreadHandlesLock_;
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
// protect long critical regions
|
||||
lockvar BGL_;
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
struct global_optyap_data optyap_data_;
|
||||
#endif /* YAPOR || TABLING */
|
||||
// whether Yap is responsible for signal handling
|
||||
int PrologShouldHandleInterrupts_;
|
||||
/* This is the guy who actually started the system, and who has the correct registers */
|
||||
#if defined(THREADS)
|
||||
pthread_t master_thread_;
|
||||
struct thread_mbox* named_mboxes_;
|
||||
lockvar mboxq_lock_;
|
||||
UInt mbox_count_;
|
||||
struct swi_mutex* WithMutex_;
|
||||
#endif /* THREADS */
|
||||
// streams
|
||||
struct stream_desc* Stream_;
|
||||
#if defined(THREADS)||defined(YAPOR)
|
||||
lockvar StreamDescLock_;
|
||||
#endif
|
||||
// access to yap initial arguments
|
||||
char** argv_;
|
||||
int argc_;
|
||||
// extensions to Terms
|
||||
#ifdef COROUTINING
|
||||
/* array with the ops for your favourite extensions */
|
||||
ext_op attas_[attvars_ext+1];
|
||||
#endif
|
||||
// agc.c
|
||||
int agc_calls_;
|
||||
YAP_ULONG_LONG agc_collected_;
|
||||
/* total time spent in GC */
|
||||
Int tot_agc_time_;
|
||||
/* number of heap objects in all garbage collections */
|
||||
Int tot_agc_recovered_;
|
||||
//arrays.c
|
||||
#if HAVE_MMAP
|
||||
struct MMAP_ARRAY_BLOCK* mmap_arrays_;
|
||||
#endif
|
||||
#ifdef DEBUG
|
||||
//computils.c
|
||||
char Option_[20];
|
||||
YP_FILE* logfile_;
|
||||
//init.c
|
||||
//int output_msg =FALSE
|
||||
#endif
|
||||
#if defined(COFF) || defined(A_OUT)
|
||||
// loada_coff.c && load_aout.c
|
||||
char Executable_[YAP_FILENAME_MAX];
|
||||
#endif
|
||||
int OpaqueHandlersCount_;
|
||||
struct opaque_handler_struct* OpaqueHandlers_;
|
||||
#if __simplescalar__
|
||||
char pwd_[YAP_FILENAME_MAX];
|
||||
#endif
|
||||
//udi.c
|
||||
//struct udi_control_block RtreeCmd void
|
||||
const char* RestoreFile_;
|
||||
//gprof.c
|
||||
Int ProfCalls_;
|
||||
Int ProfGCs_;
|
||||
Int ProfHGrows_;
|
||||
Int ProfSGrows_;
|
||||
Int ProfMallocs_;
|
||||
Int ProfIndexing_;
|
||||
Int ProfOn_;
|
||||
Int ProfOns_;
|
||||
struct RB_red_blk_node* ProfilerRoot_;
|
||||
struct RB_red_blk_node* ProfilerNil_;
|
||||
char* DIRNAME_;
|
||||
#if LOW_PROF
|
||||
int ProfilerOn_;
|
||||
FILE* FProf_;
|
||||
FILE* FPreds_;
|
||||
#endif /* LOW_PROF */
|
||||
// Mutexes
|
||||
#if THREADS
|
||||
struct swi_mutex* FreeMutexes_;
|
||||
struct swi_mutex* mutex_backbone_;
|
||||
lockvar MUT_ACCESS_;
|
||||
#endif
|
||||
char* Home_;
|
||||
/* ISO char conversion: I will make no comments */
|
||||
char* CharConversionTable_;
|
||||
char* CharConversionTable2_;
|
||||
/* max priority */
|
||||
int MaxPriority_;
|
||||
/// alias table access
|
||||
struct AliasDescS* FileAliases_;
|
||||
int NOfFileAliases_;
|
||||
int SzOfFileAliases_;
|
||||
struct vfs* VFS_;
|
||||
} w_shared;
|
||||
|
||||
/* This file, hglobals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/GLOBALS instead */
|
||||
|
||||
//
|
||||
// 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:
|
||||
// - they must be defined somewhere
|
||||
// - they have an #ifdef to get a shorter name
|
||||
// - they must be initialised somewhere
|
||||
// - they may be of interest to restore
|
||||
//
|
||||
// The defs include 3+ components:
|
||||
// Type
|
||||
// name in structured / global name
|
||||
// init code (optional)
|
||||
// restore code (optional)
|
||||
//
|
||||
// Stuff that must be shared by all threads or workers
|
||||
typedef struct global_data {
|
||||
// initialization: tell whether the system has been initialised and by whom.
|
||||
int Initialised_;
|
||||
int InitialisedFromPL_;
|
||||
int PL_Argc_;
|
||||
char** PL_Argv_;
|
||||
bool FAST_BOOT_FLAG_;
|
||||
// halt hooks
|
||||
struct halt_hook* HaltHooks_;
|
||||
fptr_t JIT_finalizer_;
|
||||
// stack overflow expansion/gc control
|
||||
int AllowLocalExpansion_;
|
||||
int AllowGlobalExpansion_;
|
||||
int AllowTrailExpansion_;
|
||||
UInt SizeOfOverflow_;
|
||||
// amount of space recovered in all garbage collections
|
||||
UInt AGcThreshold_;
|
||||
Agc_hook AGCHook_;
|
||||
/* multi-thread support */
|
||||
#if THREADS
|
||||
/* number of threads and processes in system */
|
||||
UInt NOfThreads_;
|
||||
/* number of threads created since start */
|
||||
UInt NOfThreadsCreated_;
|
||||
/* total run time for dead threads */
|
||||
UInt ThreadsTotalTime_;
|
||||
// Threads Array
|
||||
lockvar ThreadHandlesLock_;
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
// protect long critical regions
|
||||
lockvar BGL_;
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
struct global_optyap_data optyap_data_;
|
||||
#endif /* YAPOR || TABLING */
|
||||
// whether Yap is responsible for signal handling
|
||||
int PrologShouldHandleInterrupts_;
|
||||
/* This is the guy who actually started the system, and who has the correct registers */
|
||||
#if defined(THREADS)
|
||||
pthread_t master_thread_;
|
||||
struct thread_mbox* named_mboxes_;
|
||||
lockvar mboxq_lock_;
|
||||
UInt mbox_count_;
|
||||
struct swi_mutex* WithMutex_;
|
||||
#endif /* THREADS */
|
||||
// streams
|
||||
struct stream_desc* Stream_;
|
||||
#if defined(THREADS)||defined(YAPOR)
|
||||
lockvar StreamDescLock_;
|
||||
#endif
|
||||
// access to yap initial arguments
|
||||
char** argv_;
|
||||
int argc_;
|
||||
// extensions to Terms
|
||||
#ifdef COROUTINING
|
||||
/* array with the ops for your favourite extensions */
|
||||
ext_op attas_[attvars_ext+1];
|
||||
#endif
|
||||
// agc.c
|
||||
int agc_calls_;
|
||||
YAP_ULONG_LONG agc_collected_;
|
||||
/* total time spent in GC */
|
||||
Int tot_agc_time_;
|
||||
/* number of heap objects in all garbage collections */
|
||||
Int tot_agc_recovered_;
|
||||
//arrays.c
|
||||
#if HAVE_MMAP
|
||||
struct MMAP_ARRAY_BLOCK* mmap_arrays_;
|
||||
#endif
|
||||
#ifdef DEBUG
|
||||
//computils.c
|
||||
char Option_[20];
|
||||
YP_FILE* logfile_;
|
||||
//init.c
|
||||
//int output_msg =FALSE
|
||||
#endif
|
||||
#if defined(COFF) || defined(A_OUT)
|
||||
// loada_coff.c && load_aout.c
|
||||
char Executable_[YAP_FILENAME_MAX];
|
||||
#endif
|
||||
int OpaqueHandlersCount_;
|
||||
struct opaque_handler_struct* OpaqueHandlers_;
|
||||
#if __simplescalar__
|
||||
char pwd_[YAP_FILENAME_MAX];
|
||||
#endif
|
||||
//udi.c
|
||||
//struct udi_control_block RtreeCmd void
|
||||
const char* RestoreFile_;
|
||||
//gprof.c
|
||||
Int ProfCalls_;
|
||||
Int ProfGCs_;
|
||||
Int ProfHGrows_;
|
||||
Int ProfSGrows_;
|
||||
Int ProfMallocs_;
|
||||
Int ProfIndexing_;
|
||||
Int ProfOn_;
|
||||
Int ProfOns_;
|
||||
struct RB_red_blk_node* ProfilerRoot_;
|
||||
struct RB_red_blk_node* ProfilerNil_;
|
||||
char* DIRNAME_;
|
||||
#if LOW_PROF
|
||||
int ProfilerOn_;
|
||||
FILE* FProf_;
|
||||
FILE* FPreds_;
|
||||
#endif /* LOW_PROF */
|
||||
// Mutexes
|
||||
#if THREADS
|
||||
struct swi_mutex* FreeMutexes_;
|
||||
struct swi_mutex* mutex_backbone_;
|
||||
lockvar MUT_ACCESS_;
|
||||
#endif
|
||||
char* Home_;
|
||||
/* ISO char conversion: I will make no comments */
|
||||
char* CharConversionTable_;
|
||||
char* CharConversionTable2_;
|
||||
/* max priority */
|
||||
int MaxPriority_;
|
||||
/// alias table access
|
||||
struct AliasDescS* FileAliases_;
|
||||
int NOfFileAliases_;
|
||||
int SzOfFileAliases_;
|
||||
struct vfs* VFS_;
|
||||
} w_shared;
|
||||
|
@ -1,272 +1,272 @@
|
||||
|
||||
/* This file, hlocals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/LOCALS instead */
|
||||
|
||||
// Stuff that must be considered local to a thread or worker
|
||||
typedef struct worker_local {
|
||||
// Streams
|
||||
int c_input_stream_;
|
||||
int c_output_stream_;
|
||||
int c_error_stream_;
|
||||
bool sockets_io_;
|
||||
bool within_print_message_;
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
bool newline_;
|
||||
Atom AtPrompt_;
|
||||
char Prompt_[MAX_PROMPT+1];
|
||||
encoding_t encoding_;
|
||||
bool quasi_quotations_;
|
||||
UInt default_priority_;
|
||||
bool eot_before_eof_;
|
||||
UInt max_depth_;
|
||||
UInt max_list_;
|
||||
UInt max_write_args_;
|
||||
// Restore info
|
||||
CELL* OldASP_;
|
||||
CELL* OldLCL0_;
|
||||
tr_fr_ptr OldTR_;
|
||||
CELL* OldGlobalBase_;
|
||||
CELL* OldH_;
|
||||
CELL* OldH0_;
|
||||
ADDR OldTrailBase_;
|
||||
ADDR OldTrailTop_;
|
||||
ADDR OldHeapBase_;
|
||||
ADDR OldHeapTop_;
|
||||
Int ClDiff_;
|
||||
Int GDiff_;
|
||||
Int HDiff_;
|
||||
Int GDiff0_;
|
||||
CELL* GSplit_;
|
||||
Int LDiff_;
|
||||
Int TrDiff_;
|
||||
Int XDiff_;
|
||||
Int DelayDiff_;
|
||||
Int BaseDiff_;
|
||||
// Reduction counters
|
||||
YAP_ULONG_LONG ReductionsCounter_;
|
||||
YAP_ULONG_LONG PredEntriesCounter_;
|
||||
YAP_ULONG_LONG RetriesCounter_;
|
||||
int ReductionsCounterOn_;
|
||||
int PredEntriesCounterOn_;
|
||||
int RetriesCounterOn_;
|
||||
// support for consulting files
|
||||
/* current consult stack */
|
||||
union CONSULT_OBJ* ConsultSp_;
|
||||
/* current maximum number of cells in consult stack */
|
||||
UInt ConsultCapacity_;
|
||||
/* top of consult stack */
|
||||
union CONSULT_OBJ* ConsultBase_;
|
||||
/* low-water mark for consult */
|
||||
union CONSULT_OBJ* ConsultLow_;
|
||||
Term VarNames_;
|
||||
Atom SourceFileName_;
|
||||
UInt SourceFileLineno_;
|
||||
//global variables
|
||||
Term GlobalArena_;
|
||||
UInt GlobalArenaOverflows_;
|
||||
Int ArenaOverflows_;
|
||||
Int DepthArenas_;
|
||||
struct pred_entry* LastAssertedPred_;
|
||||
struct pred_entry* TmpPred_;
|
||||
char* ScannerStack_;
|
||||
struct scanner_extra_alloc* ScannerExtraBlocks_;
|
||||
/// worker control information
|
||||
/// stack limit after which the stack is managed by C-code.
|
||||
Int CBorder_;
|
||||
/// max number of signals (uint64_t)
|
||||
UInt MaxActiveSignals_;
|
||||
/// actual life signals
|
||||
uint64_t Signals_;
|
||||
/// indexing help data?
|
||||
UInt IPredArity_;
|
||||
yamop* ProfEnd_;
|
||||
int DoingUndefp_;
|
||||
Int StartCharCount_;
|
||||
Int StartLineCount_;
|
||||
Int StartLinePos_;
|
||||
scratch_block ScratchPad_;
|
||||
#ifdef COROUTINING
|
||||
Term WokenGoals_;
|
||||
Term AttsMutableList_;
|
||||
#endif
|
||||
// gc_stuff
|
||||
Term GcGeneration_;
|
||||
Term GcPhase_;
|
||||
UInt GcCurrentPhase_;
|
||||
UInt GcCalls_;
|
||||
Int TotGcTime_;
|
||||
YAP_ULONG_LONG TotGcRecovered_;
|
||||
Int LastGcTime_;
|
||||
Int LastSSTime_;
|
||||
CELL* OpenArray_;
|
||||
/* in a single gc */
|
||||
Int total_marked_;
|
||||
Int total_oldies_;
|
||||
struct choicept* current_B_;
|
||||
CELL* prev_HB_;
|
||||
CELL* HGEN_;
|
||||
CELL** iptop_;
|
||||
#if defined(GC_NO_TAGS)
|
||||
char* bp_;
|
||||
#endif
|
||||
tr_fr_ptr sTR_;
|
||||
tr_fr_ptr sTR0_;
|
||||
tr_fr_ptr new_TR_;
|
||||
struct gc_mark_continuation* cont_top0_;
|
||||
struct gc_mark_continuation* cont_top_;
|
||||
int discard_trail_entries_;
|
||||
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_list_;
|
||||
UInt gc_timestamp_;
|
||||
ADDR db_vec_;
|
||||
ADDR db_vec0_;
|
||||
struct RB_red_blk_node* db_root_;
|
||||
struct RB_red_blk_node* db_nil_;
|
||||
sigjmp_buf* gc_restore_;
|
||||
CELL* extra_gc_cells_;
|
||||
CELL* extra_gc_cells_base_;
|
||||
CELL* extra_gc_cells_top_;
|
||||
UInt extra_gc_cells_size_;
|
||||
struct array_entry* DynamicArrays_;
|
||||
struct static_array_entry* StaticArrays_;
|
||||
struct global_entry* GlobalVariables_;
|
||||
int AllowRestart_;
|
||||
// Thread Local Area for Fast Storage of Intermediate Compiled Code
|
||||
struct mem_blk* CMemFirstBlock_;
|
||||
UInt CMemFirstBlockSz_;
|
||||
// Variable used by the compiler to store number of permanent vars in a clause
|
||||
int nperm_;
|
||||
int jMP_;
|
||||
// Thread Local Area for Labels
|
||||
Int* LabelFirstArray_;
|
||||
UInt LabelFirstArraySz_;
|
||||
// Thread Local Area for SWI-Prolog emulation routines.
|
||||
// struct PL_local_data* PL_local_data_p =Yap_InitThreadIO(wid)
|
||||
#ifdef THREADS
|
||||
struct thandle ThreadHandle_;
|
||||
#endif /* THREADS */
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
struct local_optyap_data optyap_data_;
|
||||
UInt TabMode_;
|
||||
#endif /* YAPOR || TABLING */
|
||||
int InterruptsDisabled_;
|
||||
struct open_query_struct* execution_;
|
||||
#if LOW_LEVEL_TRACER
|
||||
Int total_choicepoints_;
|
||||
#endif
|
||||
int consult_level_;
|
||||
// Variables related to memory allocation
|
||||
ADDR LocalBase_;
|
||||
ADDR GlobalBase_;
|
||||
ADDR TrailBase_;
|
||||
ADDR TrailTop_;
|
||||
/* error handling info, designed to be easy to pass to the foreign world */
|
||||
yap_error_descriptor_t* ActiveError_;
|
||||
/// pointer to an exception term, from throw
|
||||
jmp_buf* IOBotch_;
|
||||
TokEntry* tokptr_;
|
||||
TokEntry* toktide_;
|
||||
VarEntry* VarTable_;
|
||||
VarEntry* AnonVarTable_;
|
||||
Term Comments_;
|
||||
CELL* CommentsTail_;
|
||||
CELL* CommentsNextChar_;
|
||||
wchar_t* CommentsBuff_;
|
||||
size_t CommentsBuffPos_;
|
||||
size_t CommentsBuffLim_;
|
||||
sigjmp_buf* RestartEnv_;
|
||||
char FileNameBuf_[YAP_FILENAME_MAX+1];
|
||||
char FileNameBuf2_[YAP_FILENAME_MAX+1];
|
||||
struct TextBuffer_manager* TextBuffer_;
|
||||
// Prolog State
|
||||
UInt BreakLevel_;
|
||||
Int PrologMode_;
|
||||
int CritLocks_;
|
||||
// Prolog execution and state flags
|
||||
union flagTerm* Flags_;
|
||||
UInt flagCount_;
|
||||
//analyst.c
|
||||
/* used to find out how many instructions of each kind are executed */
|
||||
#ifdef ANALYST
|
||||
YAP_ULONG_LONG opcount_[_std_top+1];
|
||||
YAP_ULONG_LONG 2opcount[_std_top+1][_std_top+1]_;
|
||||
#endif /* ANALYST */
|
||||
//dbase.c
|
||||
struct db_globs* s_dbg_;
|
||||
//eval.c
|
||||
Term mathtt_;
|
||||
char* mathstring_;
|
||||
//grow.c
|
||||
int heap_overflows_;
|
||||
Int total_heap_overflow_time_;
|
||||
int stack_overflows_;
|
||||
Int total_stack_overflow_time_;
|
||||
int delay_overflows_;
|
||||
Int total_delay_overflow_time_;
|
||||
int trail_overflows_;
|
||||
Int total_trail_overflow_time_;
|
||||
int atom_table_overflows_;
|
||||
Int total_atom_table_overflow_time_;
|
||||
//load_dyld
|
||||
#ifdef LOAD_DYLD
|
||||
int dl_errno_;
|
||||
#endif
|
||||
//tracer.c
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
int do_trace_primitives_;
|
||||
#endif
|
||||
//quick loader
|
||||
struct export_atom_hash_entry_struct *ExportAtomHashChain_;
|
||||
UInt ExportAtomHashTableSize_;
|
||||
UInt ExportAtomHashTableNum_;
|
||||
struct export_functor_hash_entry_struct *ExportFunctorHashChain_;
|
||||
UInt ExportFunctorHashTableSize_;
|
||||
UInt ExportFunctorHashTableNum_;
|
||||
struct export_pred_entry_hash_entry_struct *ExportPredEntryHashChain_;
|
||||
UInt ExportPredEntryHashTableSize_;
|
||||
UInt ExportPredEntryHashTableNum_;
|
||||
struct export_dbref_hash_entry_struct *ExportDBRefHashChain_;
|
||||
UInt ExportDBRefHashTableSize_;
|
||||
UInt ExportDBRefHashTableNum_;
|
||||
struct import_atom_hash_entry_struct **ImportAtomHashChain_;
|
||||
UInt ImportAtomHashTableSize_;
|
||||
UInt ImportAtomHashTableNum_;
|
||||
struct import_functor_hash_entry_struct **ImportFunctorHashChain_;
|
||||
UInt ImportFunctorHashTableSize_;
|
||||
UInt ImportFunctorHashTableNum_;
|
||||
struct import_opcode_hash_entry_struct **ImportOPCODEHashChain_;
|
||||
UInt ImportOPCODEHashTableSize_;
|
||||
struct import_pred_entry_hash_entry_struct **ImportPredEntryHashChain_;
|
||||
UInt ImportPredEntryHashTableSize_;
|
||||
UInt ImportPredEntryHashTableNum_;
|
||||
struct import_dbref_hash_entry_struct **ImportDBRefHashChain_;
|
||||
UInt ImportDBRefHashTableSize_;
|
||||
UInt ImportDBRefHashTableNum_;
|
||||
yamop *ImportFAILCODE_;
|
||||
// exo indexing
|
||||
UInt ibnds_[256];
|
||||
struct index_t* exo_it_;
|
||||
CELL* exo_base_;
|
||||
UInt exo_arity_;
|
||||
UInt exo_arg_;
|
||||
// atom completion
|
||||
struct scan_atoms* search_atoms_;
|
||||
struct pred_entry* SearchPreds_;
|
||||
/// Slots Status
|
||||
yhandle_t CurSlot_;
|
||||
yhandle_t FrozenHandles_;
|
||||
yhandle_t NSlots_;
|
||||
CELL* SlotBase_;
|
||||
// Mutexes
|
||||
struct swi_mutex* Mutexes_;
|
||||
Term SourceModule_;
|
||||
Term Including_;
|
||||
size_t MAX_SIZE_;
|
||||
/* last call to walltime. */
|
||||
uint64_t LastWTime_;
|
||||
void* shared_;
|
||||
} w_local;
|
||||
|
||||
/* This file, hlocals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/LOCALS instead */
|
||||
|
||||
// Stuff that must be considered local to a thread or worker
|
||||
typedef struct worker_local {
|
||||
// Streams
|
||||
int c_input_stream_;
|
||||
int c_output_stream_;
|
||||
int c_error_stream_;
|
||||
bool sockets_io_;
|
||||
bool within_print_message_;
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
bool newline_;
|
||||
Atom AtPrompt_;
|
||||
char Prompt_[MAX_PROMPT+1];
|
||||
encoding_t encoding_;
|
||||
bool quasi_quotations_;
|
||||
UInt default_priority_;
|
||||
bool eot_before_eof_;
|
||||
UInt max_depth_;
|
||||
UInt max_list_;
|
||||
UInt max_write_args_;
|
||||
// Restore info
|
||||
CELL* OldASP_;
|
||||
CELL* OldLCL0_;
|
||||
tr_fr_ptr OldTR_;
|
||||
CELL* OldGlobalBase_;
|
||||
CELL* OldH_;
|
||||
CELL* OldH0_;
|
||||
ADDR OldTrailBase_;
|
||||
ADDR OldTrailTop_;
|
||||
ADDR OldHeapBase_;
|
||||
ADDR OldHeapTop_;
|
||||
Int ClDiff_;
|
||||
Int GDiff_;
|
||||
Int HDiff_;
|
||||
Int GDiff0_;
|
||||
CELL* GSplit_;
|
||||
Int LDiff_;
|
||||
Int TrDiff_;
|
||||
Int XDiff_;
|
||||
Int DelayDiff_;
|
||||
Int BaseDiff_;
|
||||
// Reduction counters
|
||||
YAP_ULONG_LONG ReductionsCounter_;
|
||||
YAP_ULONG_LONG PredEntriesCounter_;
|
||||
YAP_ULONG_LONG RetriesCounter_;
|
||||
int ReductionsCounterOn_;
|
||||
int PredEntriesCounterOn_;
|
||||
int RetriesCounterOn_;
|
||||
// support for consulting files
|
||||
/* current consult stack */
|
||||
union CONSULT_OBJ* ConsultSp_;
|
||||
/* current maximum number of cells in consult stack */
|
||||
UInt ConsultCapacity_;
|
||||
/* top of consult stack */
|
||||
union CONSULT_OBJ* ConsultBase_;
|
||||
/* low-water mark for consult */
|
||||
union CONSULT_OBJ* ConsultLow_;
|
||||
Term VarNames_;
|
||||
Atom SourceFileName_;
|
||||
UInt SourceFileLineno_;
|
||||
//global variables
|
||||
Term GlobalArena_;
|
||||
UInt GlobalArenaOverflows_;
|
||||
Int ArenaOverflows_;
|
||||
Int DepthArenas_;
|
||||
struct pred_entry* LastAssertedPred_;
|
||||
struct pred_entry* TmpPred_;
|
||||
char* ScannerStack_;
|
||||
struct scanner_extra_alloc* ScannerExtraBlocks_;
|
||||
/// worker control information
|
||||
/// stack limit after which the stack is managed by C-code.
|
||||
Int CBorder_;
|
||||
/// max number of signals (uint64_t)
|
||||
UInt MaxActiveSignals_;
|
||||
/// actual life signals
|
||||
uint64_t Signals_;
|
||||
/// indexing help data?
|
||||
UInt IPredArity_;
|
||||
yamop* ProfEnd_;
|
||||
int DoingUndefp_;
|
||||
Int StartCharCount_;
|
||||
Int StartLineCount_;
|
||||
Int StartLinePos_;
|
||||
scratch_block ScratchPad_;
|
||||
#ifdef COROUTINING
|
||||
Term WokenGoals_;
|
||||
Term AttsMutableList_;
|
||||
#endif
|
||||
// gc_stuff
|
||||
Term GcGeneration_;
|
||||
Term GcPhase_;
|
||||
UInt GcCurrentPhase_;
|
||||
UInt GcCalls_;
|
||||
Int TotGcTime_;
|
||||
YAP_ULONG_LONG TotGcRecovered_;
|
||||
Int LastGcTime_;
|
||||
Int LastSSTime_;
|
||||
CELL* OpenArray_;
|
||||
/* in a single gc */
|
||||
Int total_marked_;
|
||||
Int total_oldies_;
|
||||
struct choicept* current_B_;
|
||||
CELL* prev_HB_;
|
||||
CELL* HGEN_;
|
||||
CELL** iptop_;
|
||||
#if defined(GC_NO_TAGS)
|
||||
char* bp_;
|
||||
#endif
|
||||
tr_fr_ptr sTR_;
|
||||
tr_fr_ptr sTR0_;
|
||||
tr_fr_ptr new_TR_;
|
||||
struct gc_mark_continuation* cont_top0_;
|
||||
struct gc_mark_continuation* cont_top_;
|
||||
int discard_trail_entries_;
|
||||
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_list_;
|
||||
UInt gc_timestamp_;
|
||||
ADDR db_vec_;
|
||||
ADDR db_vec0_;
|
||||
struct RB_red_blk_node* db_root_;
|
||||
struct RB_red_blk_node* db_nil_;
|
||||
sigjmp_buf* gc_restore_;
|
||||
CELL* extra_gc_cells_;
|
||||
CELL* extra_gc_cells_base_;
|
||||
CELL* extra_gc_cells_top_;
|
||||
UInt extra_gc_cells_size_;
|
||||
struct array_entry* DynamicArrays_;
|
||||
struct static_array_entry* StaticArrays_;
|
||||
struct global_entry* GlobalVariables_;
|
||||
int AllowRestart_;
|
||||
// Thread Local Area for Fast Storage of Intermediate Compiled Code
|
||||
struct mem_blk* CMemFirstBlock_;
|
||||
UInt CMemFirstBlockSz_;
|
||||
// Variable used by the compiler to store number of permanent vars in a clause
|
||||
int nperm_;
|
||||
int jMP_;
|
||||
// Thread Local Area for Labels
|
||||
Int* LabelFirstArray_;
|
||||
UInt LabelFirstArraySz_;
|
||||
// Thread Local Area for SWI-Prolog emulation routines.
|
||||
// struct PL_local_data* PL_local_data_p =Yap_InitThreadIO(wid)
|
||||
#ifdef THREADS
|
||||
struct thandle ThreadHandle_;
|
||||
#endif /* THREADS */
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
struct local_optyap_data optyap_data_;
|
||||
UInt TabMode_;
|
||||
#endif /* YAPOR || TABLING */
|
||||
int InterruptsDisabled_;
|
||||
struct open_query_struct* execution_;
|
||||
#if LOW_LEVEL_TRACER
|
||||
Int total_choicepoints_;
|
||||
#endif
|
||||
int consult_level_;
|
||||
// Variables related to memory allocation
|
||||
ADDR LocalBase_;
|
||||
ADDR GlobalBase_;
|
||||
ADDR TrailBase_;
|
||||
ADDR TrailTop_;
|
||||
/* error handling info, designed to be easy to pass to the foreign world */
|
||||
yap_error_descriptor_t* ActiveError_;
|
||||
/// pointer to an exception term, from throw
|
||||
jmp_buf* IOBotch_;
|
||||
TokEntry* tokptr_;
|
||||
TokEntry* toktide_;
|
||||
VarEntry* VarTable_;
|
||||
VarEntry* AnonVarTable_;
|
||||
Term Comments_;
|
||||
CELL* CommentsTail_;
|
||||
CELL* CommentsNextChar_;
|
||||
wchar_t* CommentsBuff_;
|
||||
size_t CommentsBuffPos_;
|
||||
size_t CommentsBuffLim_;
|
||||
sigjmp_buf* RestartEnv_;
|
||||
char FileNameBuf_[YAP_FILENAME_MAX+1];
|
||||
char FileNameBuf2_[YAP_FILENAME_MAX+1];
|
||||
struct TextBuffer_manager* TextBuffer_;
|
||||
// Prolog State
|
||||
UInt BreakLevel_;
|
||||
Int PrologMode_;
|
||||
int CritLocks_;
|
||||
// Prolog execution and state flags
|
||||
union flagTerm* Flags_;
|
||||
UInt flagCount_;
|
||||
//analyst.c
|
||||
/* used to find out how many instructions of each kind are executed */
|
||||
#ifdef ANALYST
|
||||
YAP_ULONG_LONG opcount_[_std_top+1];
|
||||
YAP_ULONG_LONG 2opcount[_std_top+1][_std_top+1]_;
|
||||
#endif /* ANALYST */
|
||||
//dbase.c
|
||||
struct db_globs* s_dbg_;
|
||||
//eval.c
|
||||
Term mathtt_;
|
||||
char* mathstring_;
|
||||
//grow.c
|
||||
int heap_overflows_;
|
||||
Int total_heap_overflow_time_;
|
||||
int stack_overflows_;
|
||||
Int total_stack_overflow_time_;
|
||||
int delay_overflows_;
|
||||
Int total_delay_overflow_time_;
|
||||
int trail_overflows_;
|
||||
Int total_trail_overflow_time_;
|
||||
int atom_table_overflows_;
|
||||
Int total_atom_table_overflow_time_;
|
||||
//load_dyld
|
||||
#ifdef LOAD_DYLD
|
||||
int dl_errno_;
|
||||
#endif
|
||||
//tracer.c
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
int do_trace_primitives_;
|
||||
#endif
|
||||
//quick loader
|
||||
struct export_atom_hash_entry_struct *ExportAtomHashChain_;
|
||||
UInt ExportAtomHashTableSize_;
|
||||
UInt ExportAtomHashTableNum_;
|
||||
struct export_functor_hash_entry_struct *ExportFunctorHashChain_;
|
||||
UInt ExportFunctorHashTableSize_;
|
||||
UInt ExportFunctorHashTableNum_;
|
||||
struct export_pred_entry_hash_entry_struct *ExportPredEntryHashChain_;
|
||||
UInt ExportPredEntryHashTableSize_;
|
||||
UInt ExportPredEntryHashTableNum_;
|
||||
struct export_dbref_hash_entry_struct *ExportDBRefHashChain_;
|
||||
UInt ExportDBRefHashTableSize_;
|
||||
UInt ExportDBRefHashTableNum_;
|
||||
struct import_atom_hash_entry_struct **ImportAtomHashChain_;
|
||||
UInt ImportAtomHashTableSize_;
|
||||
UInt ImportAtomHashTableNum_;
|
||||
struct import_functor_hash_entry_struct **ImportFunctorHashChain_;
|
||||
UInt ImportFunctorHashTableSize_;
|
||||
UInt ImportFunctorHashTableNum_;
|
||||
struct import_opcode_hash_entry_struct **ImportOPCODEHashChain_;
|
||||
UInt ImportOPCODEHashTableSize_;
|
||||
struct import_pred_entry_hash_entry_struct **ImportPredEntryHashChain_;
|
||||
UInt ImportPredEntryHashTableSize_;
|
||||
UInt ImportPredEntryHashTableNum_;
|
||||
struct import_dbref_hash_entry_struct **ImportDBRefHashChain_;
|
||||
UInt ImportDBRefHashTableSize_;
|
||||
UInt ImportDBRefHashTableNum_;
|
||||
yamop *ImportFAILCODE_;
|
||||
// exo indexing
|
||||
UInt ibnds_[256];
|
||||
struct index_t* exo_it_;
|
||||
CELL* exo_base_;
|
||||
UInt exo_arity_;
|
||||
UInt exo_arg_;
|
||||
// atom completion
|
||||
struct scan_atoms* search_atoms_;
|
||||
struct pred_entry* SearchPreds_;
|
||||
/// Slots Status
|
||||
yhandle_t CurSlot_;
|
||||
yhandle_t FrozenHandles_;
|
||||
yhandle_t NSlots_;
|
||||
CELL* SlotBase_;
|
||||
// Mutexes
|
||||
struct swi_mutex* Mutexes_;
|
||||
Term SourceModule_;
|
||||
Term Including_;
|
||||
size_t MAX_SIZE_;
|
||||
/* last call to walltime. */
|
||||
uint64_t LastWTime_;
|
||||
void* shared_;
|
||||
} w_local;
|
||||
|
@ -1,296 +1,295 @@
|
||||
|
||||
/* This file, hstruct.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/HEAPFIELDS instead */
|
||||
|
||||
//
|
||||
// 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:
|
||||
// - they must be defined somewhere
|
||||
// - they have an #ifdef to get a shorter name
|
||||
// - they must be initialised somewhere
|
||||
// - they must be restorable and collectable (from the atom gc).
|
||||
//
|
||||
//
|
||||
// The defs include 4+ components:
|
||||
// Type
|
||||
// name in structured
|
||||
// global name
|
||||
// init code and restore code (optional)
|
||||
//
|
||||
//
|
||||
//
|
||||
// MkAT (MkAtomTerm) cvts from a predefined atom to a term
|
||||
// MkPred constructs a pred_entry
|
||||
// MkOp gets an opcode
|
||||
// void does nothing
|
||||
// =VALUE inits as VALUE
|
||||
// Init... sets up call to InitFunc
|
||||
// Restore... sets up call to RestoreFunc
|
||||
//
|
||||
|
||||
/* memory management */
|
||||
UInt Yap_HoleSize_;
|
||||
#if USE_DL_MALLOC
|
||||
struct malloc_state *Yap_av_;
|
||||
struct memory_hole Yap_MemoryHoles[MAX_DLMALLOC_HOLES]_;
|
||||
UInt Yap_NOfMemoryHoles_;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
lockvar DLMallocLock_;
|
||||
#endif
|
||||
#endif
|
||||
#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
|
||||
#ifndef HeapUsed
|
||||
#define HeapUsed Yap_givemallinfo()
|
||||
#endif
|
||||
Int NotHeapUsed_;
|
||||
#else
|
||||
Int HeapUsed_;
|
||||
#endif
|
||||
Int HeapMax_;
|
||||
ADDR HeapTop_;
|
||||
ADDR HeapLim_;
|
||||
struct FREEB *FreeBlocks_;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
lockvar FreeBlocksLock_;
|
||||
lockvar HeapUsedLock_;
|
||||
lockvar HeapTopLock_;
|
||||
int HeapTopOwner_;
|
||||
#endif
|
||||
UInt MaxStack_;
|
||||
UInt MaxTrail_;
|
||||
/* execution info */
|
||||
/* OPCODE REVERSE TABLE, needed to recover op tables */
|
||||
#if USE_THREADED_CODE
|
||||
op_entry *OP_RTABLE_;
|
||||
#endif
|
||||
/* popular opcodes */
|
||||
OPCODE EXECUTE_CPRED_OP_CODE_;
|
||||
OPCODE EXPAND_OP_CODE_;
|
||||
OPCODE FAIL_OPCODE_;
|
||||
OPCODE INDEX_OPCODE_;
|
||||
OPCODE LOCKPRED_OPCODE_;
|
||||
OPCODE ORLAST_OPCODE_;
|
||||
OPCODE UNDEF_OPCODE_;
|
||||
OPCODE RETRY_USERC_OPCODE_;
|
||||
OPCODE EXECUTE_CPRED_OPCODE_;
|
||||
/* atom tables */
|
||||
UInt NOfAtoms_;
|
||||
UInt AtomHashTableSize_;
|
||||
UInt WideAtomHashTableSize_;
|
||||
UInt NOfWideAtoms_;
|
||||
AtomHashEntry INVISIBLECHAIN_;
|
||||
AtomHashEntry *WideHashChain_;
|
||||
AtomHashEntry *HashChain_;
|
||||
/* use atom defs here */
|
||||
#include "tatoms.h"
|
||||
#ifdef EUROTRA
|
||||
Term TermDollarU_;
|
||||
#endif
|
||||
Term TermAnswer_;
|
||||
//modules
|
||||
Term USER_MODULE_;
|
||||
Term IDB_MODULE_;
|
||||
Term ATTRIBUTES_MODULE_;
|
||||
Term CHARSIO_MODULE_;
|
||||
Term CHTYPE_MODULE_;
|
||||
Term TERMS_MODULE_;
|
||||
Term SYSTEM_MODULE_;
|
||||
Term READUTIL_MODULE_;
|
||||
Term HACKS_MODULE_;
|
||||
Term ARG_MODULE_;
|
||||
Term GLOBALS_MODULE_;
|
||||
Term SWI_MODULE_;
|
||||
Term DBLOAD_MODULE_;
|
||||
Term RANGE_MODULE_;
|
||||
Term ERROR_MODULE_;
|
||||
//
|
||||
// Module list
|
||||
//
|
||||
struct mod_entry *CurrentModules_;
|
||||
// make sure we have the modules set at this point.
|
||||
// don't actually want to define a field
|
||||
|
||||
// hidden predicates
|
||||
Prop HIDDEN_PREDICATES_;
|
||||
// make sure we have the streams set at this point.
|
||||
// don't actually want to define a field
|
||||
|
||||
union flagTerm* GLOBAL_Flags_;
|
||||
UInt GLOBAL_flagCount_;
|
||||
/* Anderson's JIT */
|
||||
yap_exec_mode Yap_ExecutionMode_;
|
||||
/* The Predicate Hash Table: fast access to predicates. */
|
||||
UInt PredsInHashTable_;
|
||||
uint64_t PredHashTableSize_;
|
||||
struct pred_entry **PredHash_;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
rwlock_t PredHashRWLock_;
|
||||
#endif
|
||||
/* Well-Known Predicates */
|
||||
struct pred_entry *CreepCode_;
|
||||
struct pred_entry *UndefCode_;
|
||||
struct pred_entry *SpyCode_;
|
||||
struct pred_entry *PredFail_;
|
||||
struct pred_entry *PredTrue_;
|
||||
#ifdef COROUTINING
|
||||
struct pred_entry *WakeUpCode_;
|
||||
#endif
|
||||
struct pred_entry *PredDollarCatch_;
|
||||
#ifdef YAPOR
|
||||
struct pred_entry *PredGetwork_;
|
||||
#endif /* YAPOR */
|
||||
struct pred_entry *PredGoalExpansion_;
|
||||
struct pred_entry *PredHandleThrow_;
|
||||
struct pred_entry *PredIs_;
|
||||
struct pred_entry *PredLogUpdClause_;
|
||||
struct pred_entry *PredLogUpdClauseErase_;
|
||||
struct pred_entry *PredLogUpdClause0_;
|
||||
struct pred_entry *PredMetaCall_;
|
||||
struct pred_entry *PredProtectStack_;
|
||||
struct pred_entry *PredRecordedWithKey_;
|
||||
struct pred_entry *PredRestoreRegs_;
|
||||
struct pred_entry *PredSafeCallCleanup_;
|
||||
struct pred_entry *PredStaticClause_;
|
||||
struct pred_entry *PredThrow_;
|
||||
struct pred_entry *PredTraceMetaCall_;
|
||||
struct pred_entry *PredCommentHook_;
|
||||
struct pred_entry *PredProcedure_;
|
||||
struct pred_entry *PredUndefinedQuery_;
|
||||
/* low-level tracer */
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
int Yap_do_low_level_trace_;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
lockvar Yap_low_level_trace_lock_;
|
||||
#endif
|
||||
#endif
|
||||
/* code management info */
|
||||
UInt Yap_ClauseSpace_;
|
||||
UInt Yap_IndexSpace_Tree_;
|
||||
UInt Yap_IndexSpace_EXT_;
|
||||
UInt Yap_IndexSpace_SW_;
|
||||
UInt Yap_LUClauseSpace_;
|
||||
UInt Yap_LUIndexSpace_Tree_;
|
||||
UInt Yap_LUIndexSpace_CP_;
|
||||
UInt Yap_LUIndexSpace_EXT_;
|
||||
UInt Yap_LUIndexSpace_SW_;
|
||||
/* static code: may be shared by many predicate or may be used for meta-execution */
|
||||
yamop COMMA_CODE_[5];
|
||||
yamop DUMMYCODE_[1];
|
||||
yamop FAILCODE_[1];
|
||||
yamop NOCODE_[1];
|
||||
yamop ENV_FOR_TRUSTFAIL_[2];
|
||||
yamop *TRUSTFAILCODE_;
|
||||
yamop ENV_FOR_YESCODE_[2];
|
||||
yamop *YESCODE_;
|
||||
yamop RTRYCODE_[1];
|
||||
#ifdef BEAM
|
||||
yamop BEAM_RETRY_CODE_[1];
|
||||
#endif /* BEAM */
|
||||
#ifdef YAPOR
|
||||
yamop GETWORK_[1];
|
||||
yamop GETWORK_SEQ_[1];
|
||||
yamop GETWORK_FIRST_TIME_[1];
|
||||
#endif /* YAPOR */
|
||||
#ifdef TABLING
|
||||
yamop LOAD_ANSWER_[1];
|
||||
yamop TRY_ANSWER_[1];
|
||||
yamop ANSWER_RESOLUTION_[1];
|
||||
yamop COMPLETION_[1];
|
||||
#ifdef THREADS_CONSUMER_SHARING
|
||||
yamop ANSWER_RESOLUTION_COMPLETION_[1];
|
||||
#endif /* THREADS_CONSUMER_SHARING */
|
||||
#endif /* TABLING */
|
||||
/* */
|
||||
/* PREG just before we enter $spy. We use that to find out the clause which */
|
||||
/* was calling the debugged goal. */
|
||||
/* */
|
||||
yamop *P_before_spy_;
|
||||
/* support recorded_k */
|
||||
yamop *RETRY_C_RECORDEDP_CODE_;
|
||||
yamop *RETRY_C_RECORDED_K_CODE_;
|
||||
/* compiler flags */
|
||||
int PROFILING_;
|
||||
int CALL_COUNTING_;
|
||||
int optimizer_on_;
|
||||
int compile_mode_;
|
||||
int profiling_;
|
||||
int call_counting_;
|
||||
/********* whether we should try to compile array references ******************/
|
||||
int compile_arrays_;
|
||||
/* DBTerms: pre-compiled ground terms */
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
lockvar DBTermsListLock_;
|
||||
#endif
|
||||
struct dbterm_list *DBTermsList_;
|
||||
/* JITI support */
|
||||
yamop *ExpandClausesFirst_;
|
||||
yamop *ExpandClausesLast_;
|
||||
UInt Yap_ExpandClauses_;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
lockvar ExpandClausesListLock_;
|
||||
lockvar OpListLock_;
|
||||
#endif
|
||||
/* instrumentation */
|
||||
#ifdef DEBUG
|
||||
UInt Yap_NewCps_;
|
||||
UInt Yap_LiveCps_;
|
||||
UInt Yap_DirtyCps_;
|
||||
UInt Yap_FreedCps_;
|
||||
#endif
|
||||
UInt Yap_expand_clauses_sz_;
|
||||
/* UDI support */
|
||||
struct udi_info *UdiControlBlocks_;
|
||||
/* data-base statistics */
|
||||
/* system boots in compile mode */
|
||||
Int STATIC_PREDICATES_MARKED_;
|
||||
/* Internal Database */
|
||||
Prop *INT_KEYS_;
|
||||
Prop *INT_LU_KEYS_;
|
||||
Prop *INT_BB_KEYS_;
|
||||
/* Internal Database Statistics */
|
||||
UInt INT_KEYS_SIZE_;
|
||||
UInt INT_KEYS_TIMESTAMP_;
|
||||
UInt INT_BB_KEYS_SIZE_;
|
||||
/* Internal Data-Base Control */
|
||||
int UPDATE_MODE_;
|
||||
/* nasty IDB stuff */
|
||||
struct DB_STRUCT *DBErasedMarker_;
|
||||
struct logic_upd_clause *LogDBErasedMarker_;
|
||||
/* Dead clauses and IDB entries */
|
||||
struct static_clause *DeadStaticClauses_;
|
||||
struct static_mega_clause *DeadMegaClauses_;
|
||||
struct static_index *DeadStaticIndices_;
|
||||
struct logic_upd_clause *DBErasedList_;
|
||||
struct logic_upd_index *DBErasedIList_;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
lockvar DeadStaticClausesLock_;
|
||||
lockvar DeadMegaClausesLock_;
|
||||
lockvar DeadStaticIndicesLock_;
|
||||
#endif
|
||||
#ifdef COROUTINING
|
||||
/* number of attribute modules */
|
||||
int NUM_OF_ATTS_;
|
||||
/* initialised by memory allocator */
|
||||
UInt Yap_AttsSize_;
|
||||
#endif
|
||||
/* Operators */
|
||||
struct operator_entry *OpList_;
|
||||
/* foreign code loaded */
|
||||
struct ForeignLoadItem *ForeignCodeLoaded_;
|
||||
ADDR ForeignCodeBase_;
|
||||
ADDR ForeignCodeTop_;
|
||||
ADDR ForeignCodeMax_;
|
||||
/* recorded terms */
|
||||
struct record_list *Yap_Records_;
|
||||
Atom EmptyWakeups_[MAX_EMPTY_WAKEUPS];
|
||||
int MaxEmptyWakeups_;
|
||||
/* SWI blobs */
|
||||
struct YAP_blob_t *BlobTypes_;
|
||||
struct AtomEntryStruct *Blobs_;
|
||||
UInt NOfBlobs_;
|
||||
UInt NOfBlobsMax_;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
lockvar Blobs_Lock_;
|
||||
#endif
|
||||
|
||||
|
||||
/* This file, hstruct.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/HEAPFIELDS instead */
|
||||
|
||||
//
|
||||
// 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:
|
||||
// - they must be defined somewhere
|
||||
// - they have an #ifdef to get a shorter name
|
||||
// - they must be initialised somewhere
|
||||
// - they must be restorable and collectable (from the atom gc).
|
||||
//
|
||||
//
|
||||
// The defs include 4+ components:
|
||||
// Type
|
||||
// name in structured
|
||||
// global name
|
||||
// init code and restore code (optional)
|
||||
//
|
||||
//
|
||||
//
|
||||
// MkAT (MkAtomTerm) cvts from a predefined atom to a term
|
||||
// MkPred constructs a pred_entry
|
||||
// MkOp gets an opcode
|
||||
// void does nothing
|
||||
// =VALUE inits as VALUE
|
||||
// Init... sets up call to InitFunc
|
||||
// Restore... sets up call to RestoreFunc
|
||||
//
|
||||
|
||||
/* memory management */
|
||||
UInt Yap_HoleSize_;
|
||||
#if USE_DL_MALLOC
|
||||
struct malloc_state *Yap_av_;
|
||||
struct memory_hole Yap_MemoryHoles[MAX_DLMALLOC_HOLES]_;
|
||||
UInt Yap_NOfMemoryHoles_;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
lockvar DLMallocLock_;
|
||||
#endif
|
||||
#endif
|
||||
#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
|
||||
#ifndef HeapUsed
|
||||
#define HeapUsed Yap_givemallinfo()
|
||||
#endif
|
||||
Int NotHeapUsed_;
|
||||
#else
|
||||
Int HeapUsed_;
|
||||
#endif
|
||||
Int HeapMax_;
|
||||
ADDR HeapTop_;
|
||||
ADDR HeapLim_;
|
||||
struct FREEB *FreeBlocks_;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
lockvar FreeBlocksLock_;
|
||||
lockvar HeapUsedLock_;
|
||||
lockvar HeapTopLock_;
|
||||
int HeapTopOwner_;
|
||||
#endif
|
||||
UInt MaxStack_;
|
||||
UInt MaxTrail_;
|
||||
/* execution info */
|
||||
/* OPCODE REVERSE TABLE, needed to recover op tables */
|
||||
#if USE_THREADED_CODE
|
||||
op_entry *OP_RTABLE_;
|
||||
#endif
|
||||
/* popular opcodes */
|
||||
OPCODE EXECUTE_CPRED_OP_CODE_;
|
||||
OPCODE EXPAND_OP_CODE_;
|
||||
OPCODE FAIL_OPCODE_;
|
||||
OPCODE INDEX_OPCODE_;
|
||||
OPCODE LOCKPRED_OPCODE_;
|
||||
OPCODE ORLAST_OPCODE_;
|
||||
OPCODE UNDEF_OPCODE_;
|
||||
OPCODE RETRY_USERC_OPCODE_;
|
||||
OPCODE EXECUTE_CPRED_OPCODE_;
|
||||
/* atom tables */
|
||||
UInt NOfAtoms_;
|
||||
UInt AtomHashTableSize_;
|
||||
UInt WideAtomHashTableSize_;
|
||||
UInt NOfWideAtoms_;
|
||||
AtomHashEntry INVISIBLECHAIN_;
|
||||
AtomHashEntry *WideHashChain_;
|
||||
AtomHashEntry *HashChain_;
|
||||
/* use atom defs here */
|
||||
#include "tatoms.h"
|
||||
#ifdef EUROTRA
|
||||
Term TermDollarU_;
|
||||
#endif
|
||||
//modules
|
||||
Term USER_MODULE_;
|
||||
Term IDB_MODULE_;
|
||||
Term ATTRIBUTES_MODULE_;
|
||||
Term CHARSIO_MODULE_;
|
||||
Term CHTYPE_MODULE_;
|
||||
Term TERMS_MODULE_;
|
||||
Term SYSTEM_MODULE_;
|
||||
Term READUTIL_MODULE_;
|
||||
Term HACKS_MODULE_;
|
||||
Term ARG_MODULE_;
|
||||
Term GLOBALS_MODULE_;
|
||||
Term SWI_MODULE_;
|
||||
Term DBLOAD_MODULE_;
|
||||
Term RANGE_MODULE_;
|
||||
Term ERROR_MODULE_;
|
||||
//
|
||||
// Module list
|
||||
//
|
||||
struct mod_entry *CurrentModules_;
|
||||
// make sure we have the modules set at this point.
|
||||
// don't actually want to define a field
|
||||
|
||||
// hidden predicates
|
||||
Prop HIDDEN_PREDICATES_;
|
||||
// make sure we have the streams set at this point.
|
||||
// don't actually want to define a field
|
||||
|
||||
union flagTerm* GLOBAL_Flags_;
|
||||
UInt GLOBAL_flagCount_;
|
||||
/* Anderson's JIT */
|
||||
yap_exec_mode Yap_ExecutionMode_;
|
||||
/* The Predicate Hash Table: fast access to predicates. */
|
||||
UInt PredsInHashTable_;
|
||||
uint64_t PredHashTableSize_;
|
||||
struct pred_entry **PredHash_;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
rwlock_t PredHashRWLock_;
|
||||
#endif
|
||||
/* Well-Known Predicates */
|
||||
struct pred_entry *CreepCode_;
|
||||
struct pred_entry *UndefCode_;
|
||||
struct pred_entry *SpyCode_;
|
||||
struct pred_entry *PredFail_;
|
||||
struct pred_entry *PredTrue_;
|
||||
#ifdef COROUTINING
|
||||
struct pred_entry *WakeUpCode_;
|
||||
#endif
|
||||
struct pred_entry *PredDollarCatch_;
|
||||
#ifdef YAPOR
|
||||
struct pred_entry *PredGetwork_;
|
||||
#endif /* YAPOR */
|
||||
struct pred_entry *PredGoalExpansion_;
|
||||
struct pred_entry *PredHandleThrow_;
|
||||
struct pred_entry *PredIs_;
|
||||
struct pred_entry *PredLogUpdClause_;
|
||||
struct pred_entry *PredLogUpdClauseErase_;
|
||||
struct pred_entry *PredLogUpdClause0_;
|
||||
struct pred_entry *PredMetaCall_;
|
||||
struct pred_entry *PredProtectStack_;
|
||||
struct pred_entry *PredRecordedWithKey_;
|
||||
struct pred_entry *PredRestoreRegs_;
|
||||
struct pred_entry *PredSafeCallCleanup_;
|
||||
struct pred_entry *PredStaticClause_;
|
||||
struct pred_entry *PredThrow_;
|
||||
struct pred_entry *PredTraceMetaCall_;
|
||||
struct pred_entry *PredCommentHook_;
|
||||
struct pred_entry *PredProcedure_;
|
||||
struct pred_entry *PredUndefinedQuery_;
|
||||
/* low-level tracer */
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
int Yap_do_low_level_trace_;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
lockvar Yap_low_level_trace_lock_;
|
||||
#endif
|
||||
#endif
|
||||
/* code management info */
|
||||
UInt Yap_ClauseSpace_;
|
||||
UInt Yap_IndexSpace_Tree_;
|
||||
UInt Yap_IndexSpace_EXT_;
|
||||
UInt Yap_IndexSpace_SW_;
|
||||
UInt Yap_LUClauseSpace_;
|
||||
UInt Yap_LUIndexSpace_Tree_;
|
||||
UInt Yap_LUIndexSpace_CP_;
|
||||
UInt Yap_LUIndexSpace_EXT_;
|
||||
UInt Yap_LUIndexSpace_SW_;
|
||||
/* static code: may be shared by many predicate or may be used for meta-execution */
|
||||
yamop COMMA_CODE_[5];
|
||||
yamop DUMMYCODE_[1];
|
||||
yamop FAILCODE_[1];
|
||||
yamop NOCODE_[1];
|
||||
yamop ENV_FOR_TRUSTFAIL_[2];
|
||||
yamop *TRUSTFAILCODE_;
|
||||
yamop ENV_FOR_YESCODE_[2];
|
||||
yamop *YESCODE_;
|
||||
yamop RTRYCODE_[1];
|
||||
#ifdef BEAM
|
||||
yamop BEAM_RETRY_CODE_[1];
|
||||
#endif /* BEAM */
|
||||
#ifdef YAPOR
|
||||
yamop GETWORK_[1];
|
||||
yamop GETWORK_SEQ_[1];
|
||||
yamop GETWORK_FIRST_TIME_[1];
|
||||
#endif /* YAPOR */
|
||||
#ifdef TABLING
|
||||
yamop LOAD_ANSWER_[1];
|
||||
yamop TRY_ANSWER_[1];
|
||||
yamop ANSWER_RESOLUTION_[1];
|
||||
yamop COMPLETION_[1];
|
||||
#ifdef THREADS_CONSUMER_SHARING
|
||||
yamop ANSWER_RESOLUTION_COMPLETION_[1];
|
||||
#endif /* THREADS_CONSUMER_SHARING */
|
||||
#endif /* TABLING */
|
||||
/* */
|
||||
/* PREG just before we enter $spy. We use that to find out the clause which */
|
||||
/* was calling the debugged goal. */
|
||||
/* */
|
||||
yamop *P_before_spy_;
|
||||
/* support recorded_k */
|
||||
yamop *RETRY_C_RECORDEDP_CODE_;
|
||||
yamop *RETRY_C_RECORDED_K_CODE_;
|
||||
/* compiler flags */
|
||||
int PROFILING_;
|
||||
int CALL_COUNTING_;
|
||||
int optimizer_on_;
|
||||
int compile_mode_;
|
||||
int profiling_;
|
||||
int call_counting_;
|
||||
/********* whether we should try to compile array references ******************/
|
||||
int compile_arrays_;
|
||||
/* DBTerms: pre-compiled ground terms */
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
lockvar DBTermsListLock_;
|
||||
#endif
|
||||
struct dbterm_list *DBTermsList_;
|
||||
/* JITI support */
|
||||
yamop *ExpandClausesFirst_;
|
||||
yamop *ExpandClausesLast_;
|
||||
UInt Yap_ExpandClauses_;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
lockvar ExpandClausesListLock_;
|
||||
lockvar OpListLock_;
|
||||
#endif
|
||||
/* instrumentation */
|
||||
#ifdef DEBUG
|
||||
UInt Yap_NewCps_;
|
||||
UInt Yap_LiveCps_;
|
||||
UInt Yap_DirtyCps_;
|
||||
UInt Yap_FreedCps_;
|
||||
#endif
|
||||
UInt Yap_expand_clauses_sz_;
|
||||
/* UDI support */
|
||||
struct udi_info *UdiControlBlocks_;
|
||||
/* data-base statistics */
|
||||
/* system boots in compile mode */
|
||||
Int STATIC_PREDICATES_MARKED_;
|
||||
/* Internal Database */
|
||||
Prop *INT_KEYS_;
|
||||
Prop *INT_LU_KEYS_;
|
||||
Prop *INT_BB_KEYS_;
|
||||
/* Internal Database Statistics */
|
||||
UInt INT_KEYS_SIZE_;
|
||||
UInt INT_KEYS_TIMESTAMP_;
|
||||
UInt INT_BB_KEYS_SIZE_;
|
||||
/* Internal Data-Base Control */
|
||||
int UPDATE_MODE_;
|
||||
/* nasty IDB stuff */
|
||||
struct DB_STRUCT *DBErasedMarker_;
|
||||
struct logic_upd_clause *LogDBErasedMarker_;
|
||||
/* Dead clauses and IDB entries */
|
||||
struct static_clause *DeadStaticClauses_;
|
||||
struct static_mega_clause *DeadMegaClauses_;
|
||||
struct static_index *DeadStaticIndices_;
|
||||
struct logic_upd_clause *DBErasedList_;
|
||||
struct logic_upd_index *DBErasedIList_;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
lockvar DeadStaticClausesLock_;
|
||||
lockvar DeadMegaClausesLock_;
|
||||
lockvar DeadStaticIndicesLock_;
|
||||
#endif
|
||||
#ifdef COROUTINING
|
||||
/* number of attribute modules */
|
||||
int NUM_OF_ATTS_;
|
||||
/* initialised by memory allocator */
|
||||
UInt Yap_AttsSize_;
|
||||
#endif
|
||||
/* Operators */
|
||||
struct operator_entry *OpList_;
|
||||
/* foreign code loaded */
|
||||
struct ForeignLoadItem *ForeignCodeLoaded_;
|
||||
ADDR ForeignCodeBase_;
|
||||
ADDR ForeignCodeTop_;
|
||||
ADDR ForeignCodeMax_;
|
||||
/* recorded terms */
|
||||
struct record_list *Yap_Records_;
|
||||
Atom EmptyWakeups_[MAX_EMPTY_WAKEUPS];
|
||||
int MaxEmptyWakeups_;
|
||||
/* SWI blobs */
|
||||
struct YAP_blob_t *BlobTypes_;
|
||||
struct AtomEntryStruct *Blobs_;
|
||||
UInt NOfBlobs_;
|
||||
UInt NOfBlobsMax_;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
lockvar Blobs_Lock_;
|
||||
#endif
|
||||
|
||||
|
@ -1,144 +1,144 @@
|
||||
|
||||
/* This file, iglobals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/GLOBALS instead */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
static void InitGlobal(void) {
|
||||
|
||||
GLOBAL_Initialised = FALSE;
|
||||
GLOBAL_InitialisedFromPL = FALSE;
|
||||
GLOBAL_PL_Argc = 0;
|
||||
GLOBAL_PL_Argv = NULL;
|
||||
GLOBAL_FAST_BOOT_FLAG = false;
|
||||
|
||||
GLOBAL_HaltHooks = NULL;
|
||||
GLOBAL_JIT_finalizer = NULL;
|
||||
|
||||
GLOBAL_AllowLocalExpansion = TRUE;
|
||||
GLOBAL_AllowGlobalExpansion = TRUE;
|
||||
GLOBAL_AllowTrailExpansion = TRUE;
|
||||
GLOBAL_SizeOfOverflow = 0;
|
||||
|
||||
GLOBAL_AGcThreshold = 10000;
|
||||
GLOBAL_AGCHook = NULL;
|
||||
|
||||
#if THREADS
|
||||
|
||||
GLOBAL_NOfThreads = 1;
|
||||
|
||||
GLOBAL_NOfThreadsCreated = 1;
|
||||
|
||||
GLOBAL_ThreadsTotalTime = 0L;
|
||||
|
||||
INIT_LOCK(GLOBAL_ThreadHandlesLock);
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
|
||||
INIT_LOCK(GLOBAL_BGL);
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
|
||||
#endif /* YAPOR || TABLING */
|
||||
|
||||
|
||||
|
||||
#if defined(THREADS)
|
||||
|
||||
GLOBAL_named_mboxes = NULL;
|
||||
INIT_LOCK(GLOBAL_mboxq_lock);
|
||||
GLOBAL_mbox_count = 0;
|
||||
|
||||
#endif /* THREADS */
|
||||
|
||||
|
||||
#if defined(THREADS)||defined(YAPOR)
|
||||
INIT_LOCK(GLOBAL_StreamDescLock);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef COROUTINING
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
GLOBAL_tot_agc_time = 0;
|
||||
|
||||
GLOBAL_tot_agc_recovered = 0;
|
||||
|
||||
#if HAVE_MMAP
|
||||
GLOBAL_mmap_arrays = NULL;
|
||||
#endif
|
||||
#ifdef DEBUG
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#if defined(COFF) || defined(A_OUT)
|
||||
|
||||
|
||||
#endif
|
||||
GLOBAL_OpaqueHandlersCount = 0;
|
||||
GLOBAL_OpaqueHandlers = NULL;
|
||||
#if __simplescalar__
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GLOBAL_DIRNAME = NULL;
|
||||
#if LOW_PROF
|
||||
GLOBAL_ProfilerOn = FALSE;
|
||||
GLOBAL_FProf = NULL;
|
||||
GLOBAL_FPreds = NULL;
|
||||
#endif /* LOW_PROF */
|
||||
|
||||
#if THREADS
|
||||
GLOBAL_FreeMutexes = NULL;
|
||||
GLOBAL_mutex_backbone = NULL;
|
||||
INIT_LOCK(GLOBAL_MUT_ACCESS);
|
||||
#endif
|
||||
GLOBAL_Home = NULL;
|
||||
|
||||
GLOBAL_CharConversionTable = NULL;
|
||||
GLOBAL_CharConversionTable2 = NULL;
|
||||
|
||||
GLOBAL_MaxPriority = 1200;
|
||||
|
||||
GLOBAL_FileAliases = Yap_InitStandardAliases();
|
||||
|
||||
|
||||
GLOBAL_VFS = Yap_InitAssetManager();
|
||||
}
|
||||
|
||||
/* This file, iglobals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/GLOBALS instead */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
static void InitGlobal(void) {
|
||||
|
||||
GLOBAL_Initialised = FALSE;
|
||||
GLOBAL_InitialisedFromPL = FALSE;
|
||||
GLOBAL_PL_Argc = 0;
|
||||
GLOBAL_PL_Argv = NULL;
|
||||
GLOBAL_FAST_BOOT_FLAG = false;
|
||||
|
||||
GLOBAL_HaltHooks = NULL;
|
||||
GLOBAL_JIT_finalizer = NULL;
|
||||
|
||||
GLOBAL_AllowLocalExpansion = TRUE;
|
||||
GLOBAL_AllowGlobalExpansion = TRUE;
|
||||
GLOBAL_AllowTrailExpansion = TRUE;
|
||||
GLOBAL_SizeOfOverflow = 0;
|
||||
|
||||
GLOBAL_AGcThreshold = 10000;
|
||||
GLOBAL_AGCHook = NULL;
|
||||
|
||||
#if THREADS
|
||||
|
||||
GLOBAL_NOfThreads = 1;
|
||||
|
||||
GLOBAL_NOfThreadsCreated = 1;
|
||||
|
||||
GLOBAL_ThreadsTotalTime = 0L;
|
||||
|
||||
INIT_LOCK(GLOBAL_ThreadHandlesLock);
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
|
||||
INIT_LOCK(GLOBAL_BGL);
|
||||
#endif
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
|
||||
#endif /* YAPOR || TABLING */
|
||||
|
||||
|
||||
|
||||
#if defined(THREADS)
|
||||
|
||||
GLOBAL_named_mboxes = NULL;
|
||||
INIT_LOCK(GLOBAL_mboxq_lock);
|
||||
GLOBAL_mbox_count = 0;
|
||||
|
||||
#endif /* THREADS */
|
||||
|
||||
|
||||
#if defined(THREADS)||defined(YAPOR)
|
||||
INIT_LOCK(GLOBAL_StreamDescLock);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef COROUTINING
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
GLOBAL_tot_agc_time = 0;
|
||||
|
||||
GLOBAL_tot_agc_recovered = 0;
|
||||
|
||||
#if HAVE_MMAP
|
||||
GLOBAL_mmap_arrays = NULL;
|
||||
#endif
|
||||
#ifdef DEBUG
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#if defined(COFF) || defined(A_OUT)
|
||||
|
||||
|
||||
#endif
|
||||
GLOBAL_OpaqueHandlersCount = 0;
|
||||
GLOBAL_OpaqueHandlers = NULL;
|
||||
#if __simplescalar__
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GLOBAL_DIRNAME = NULL;
|
||||
#if LOW_PROF
|
||||
GLOBAL_ProfilerOn = FALSE;
|
||||
GLOBAL_FProf = NULL;
|
||||
GLOBAL_FPreds = NULL;
|
||||
#endif /* LOW_PROF */
|
||||
|
||||
#if THREADS
|
||||
GLOBAL_FreeMutexes = NULL;
|
||||
GLOBAL_mutex_backbone = NULL;
|
||||
INIT_LOCK(GLOBAL_MUT_ACCESS);
|
||||
#endif
|
||||
GLOBAL_Home = NULL;
|
||||
|
||||
GLOBAL_CharConversionTable = NULL;
|
||||
GLOBAL_CharConversionTable2 = NULL;
|
||||
|
||||
GLOBAL_MaxPriority = 1200;
|
||||
|
||||
GLOBAL_FileAliases = Yap_InitStandardAliases();
|
||||
|
||||
|
||||
GLOBAL_VFS = Yap_InitAssetManager();
|
||||
}
|
||||
|
@ -1,292 +1,291 @@
|
||||
|
||||
/* This file, ihstruct.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/HEAPFIELDS instead */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#if USE_DL_MALLOC
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
INIT_LOCK(DLMallocLock);
|
||||
#endif
|
||||
#endif
|
||||
#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
|
||||
#ifndef HeapUsed
|
||||
#define HeapUsed Yap_givemallinfo()
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
INIT_LOCK(FreeBlocksLock);
|
||||
INIT_LOCK(HeapUsedLock);
|
||||
INIT_LOCK(HeapTopLock);
|
||||
HeapTopOwner = -1;
|
||||
#endif
|
||||
MaxStack = 0;
|
||||
MaxTrail = 0;
|
||||
|
||||
|
||||
#if USE_THREADED_CODE
|
||||
|
||||
#endif
|
||||
|
||||
EXECUTE_CPRED_OP_CODE = Yap_opcode(_execute_cpred);
|
||||
EXPAND_OP_CODE = Yap_opcode(_expand_index);
|
||||
FAIL_OPCODE = Yap_opcode(_op_fail);
|
||||
INDEX_OPCODE = Yap_opcode(_index_pred);
|
||||
LOCKPRED_OPCODE = Yap_opcode(_lock_pred);
|
||||
ORLAST_OPCODE = Yap_opcode(_or_last);
|
||||
UNDEF_OPCODE = Yap_opcode(_undef_p);
|
||||
RETRY_USERC_OPCODE = Yap_opcode(_retry_userc);
|
||||
EXECUTE_CPRED_OPCODE = Yap_opcode(_execute_cpred);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
InitInvisibleAtoms();
|
||||
InitWideAtoms();
|
||||
InitAtoms();
|
||||
|
||||
#include "iatoms.h"
|
||||
#ifdef EUROTRA
|
||||
TermDollarU = MkAtomTerm(AtomDollarU);
|
||||
#endif
|
||||
TermAnswer = MkAtomTerm(AtomAnswer);
|
||||
|
||||
USER_MODULE = MkAtomTerm(AtomUser);
|
||||
IDB_MODULE = MkAtomTerm(AtomIDB);
|
||||
ATTRIBUTES_MODULE = MkAtomTerm(AtomAttributes);
|
||||
CHARSIO_MODULE = MkAtomTerm(AtomCharsio);
|
||||
CHTYPE_MODULE = MkAtomTerm(AtomChType);
|
||||
TERMS_MODULE = MkAtomTerm(AtomTerms);
|
||||
SYSTEM_MODULE = MkAtomTerm(AtomSystem);
|
||||
READUTIL_MODULE = MkAtomTerm(AtomReadutil);
|
||||
HACKS_MODULE = MkAtomTerm(AtomYapHacks);
|
||||
ARG_MODULE = MkAtomTerm(AtomArg);
|
||||
GLOBALS_MODULE = MkAtomTerm(AtomNb);
|
||||
SWI_MODULE = MkAtomTerm(AtomSwi);
|
||||
DBLOAD_MODULE = MkAtomTerm(AtomDBLoad);
|
||||
RANGE_MODULE = MkAtomTerm(AtomRange);
|
||||
ERROR_MODULE = MkAtomTerm(AtomError);
|
||||
|
||||
|
||||
|
||||
CurrentModules = NULL;
|
||||
|
||||
|
||||
Yap_InitModules();
|
||||
|
||||
HIDDEN_PREDICATES = NULL;
|
||||
|
||||
|
||||
Yap_InitPlIO(yapi);
|
||||
GLOBAL_Flags = 0;
|
||||
Yap_InitFlags(true);
|
||||
|
||||
Yap_ExecutionMode = INTERPRETED;
|
||||
|
||||
PredsInHashTable = 0;
|
||||
PredHashTableSize = 0;
|
||||
InitPredHash();
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
|
||||
#endif
|
||||
|
||||
CreepCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomCreep,1),PROLOG_MODULE));
|
||||
UndefCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomUndefp0,2),PROLOG_MODULE));
|
||||
SpyCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomSpy,1),PROLOG_MODULE));
|
||||
PredFail = RepPredProp(PredPropByAtom(AtomFail,PROLOG_MODULE));
|
||||
PredTrue = RepPredProp(PredPropByAtom(AtomTrue,PROLOG_MODULE));
|
||||
#ifdef COROUTINING
|
||||
WakeUpCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomWakeUpGoal,2),PROLOG_MODULE));
|
||||
#endif
|
||||
PredDollarCatch = RepPredProp(PredPropByFunc(FunctorCatch,PROLOG_MODULE));
|
||||
#ifdef YAPOR
|
||||
PredGetwork = RepPredProp(PredPropByAtom(AtomGetwork,PROLOG_MODULE));
|
||||
#endif /* YAPOR */
|
||||
PredGoalExpansion = RepPredProp(PredPropByFunc(FunctorGoalExpansion,USER_MODULE));
|
||||
PredHandleThrow = RepPredProp(PredPropByFunc(FunctorHandleThrow,PROLOG_MODULE));
|
||||
PredIs = RepPredProp(PredPropByFunc(FunctorIs,PROLOG_MODULE));
|
||||
PredLogUpdClause = RepPredProp(PredPropByFunc(FunctorDoLogUpdClause,PROLOG_MODULE));
|
||||
PredLogUpdClauseErase = RepPredProp(PredPropByFunc(FunctorDoLogUpdClauseErase,PROLOG_MODULE));
|
||||
PredLogUpdClause0 = RepPredProp(PredPropByFunc(FunctorDoLogUpdClause,PROLOG_MODULE));
|
||||
PredMetaCall = RepPredProp(PredPropByFunc(FunctorMetaCall,PROLOG_MODULE));
|
||||
PredProtectStack = RepPredProp(PredPropByFunc(FunctorProtectStack,PROLOG_MODULE));
|
||||
PredRecordedWithKey = RepPredProp(PredPropByFunc(FunctorRecordedWithKey,PROLOG_MODULE));
|
||||
PredRestoreRegs = RepPredProp(PredPropByFunc(FunctorRestoreRegs,PROLOG_MODULE));
|
||||
PredSafeCallCleanup = RepPredProp(PredPropByFunc(FunctorSafeCallCleanup,PROLOG_MODULE));
|
||||
PredStaticClause = RepPredProp(PredPropByFunc(FunctorDoStaticClause,PROLOG_MODULE));
|
||||
PredThrow = RepPredProp(PredPropByFunc(FunctorThrow,PROLOG_MODULE));
|
||||
PredTraceMetaCall = RepPredProp(PredPropByFunc(FunctorTraceMetaCall,PROLOG_MODULE));
|
||||
PredCommentHook = RepPredProp(PredPropByFunc(FunctorCommentHook,PROLOG_MODULE));
|
||||
PredProcedure = Yap_MkLogPred(RepPredProp(PredPropByFunc(FunctorProcedure,PROLOG_MODULE)));
|
||||
PredUndefinedQuery = RepPredProp(PredPropByFunc(FunctorUndefinedQuery,PROLOG_MODULE));
|
||||
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
Yap_do_low_level_trace = FALSE;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
INIT_LOCK(Yap_low_level_trace_lock);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Yap_ClauseSpace = 0;
|
||||
Yap_IndexSpace_Tree = 0;
|
||||
Yap_IndexSpace_EXT = 0;
|
||||
Yap_IndexSpace_SW = 0;
|
||||
Yap_LUClauseSpace = 0;
|
||||
Yap_LUIndexSpace_Tree = 0;
|
||||
Yap_LUIndexSpace_CP = 0;
|
||||
Yap_LUIndexSpace_EXT = 0;
|
||||
Yap_LUIndexSpace_SW = 0;
|
||||
|
||||
|
||||
DUMMYCODE->opc = Yap_opcode(_op_fail);
|
||||
FAILCODE->opc = Yap_opcode(_op_fail);
|
||||
NOCODE->opc = Yap_opcode(_Nstop);
|
||||
InitEnvInst(ENV_FOR_TRUSTFAIL,&TRUSTFAILCODE,_trust_fail,PredFail);
|
||||
|
||||
InitEnvInst(ENV_FOR_YESCODE,&YESCODE,_Ystop,PredFail);
|
||||
|
||||
InitOtaplInst(RTRYCODE,_retry_and_mark,PredFail);
|
||||
#ifdef BEAM
|
||||
BEAM_RETRY_CODE->opc = Yap_opcode(_beam_retry_code);
|
||||
#endif /* BEAM */
|
||||
#ifdef YAPOR
|
||||
InitOtaplInst(GETWORK,_getwork,PredGetwork);
|
||||
InitOtaplInst(GETWORK_SEQ,_getwork_seq,PredGetworkSeq);
|
||||
GETWORK_FIRST_TIME->opc = Yap_opcode(_getwork_first_time);
|
||||
#endif /* YAPOR */
|
||||
#ifdef TABLING
|
||||
InitOtaplInst(LOAD_ANSWER,_table_load_answer,PredFail);
|
||||
InitOtaplInst(TRY_ANSWER,_table_try_answer,PredFail);
|
||||
InitOtaplInst(ANSWER_RESOLUTION,_table_answer_resolution,PredFail);
|
||||
InitOtaplInst(COMPLETION,_table_completion,PredFail);
|
||||
#ifdef THREADS_CONSUMER_SHARING
|
||||
InitOtaplInst(ANSWER_RESOLUTION_COMPLETION,_table_answer_resolution_completion,PredFail);
|
||||
#endif /* THREADS_CONSUMER_SHARING */
|
||||
#endif /* TABLING */
|
||||
|
||||
|
||||
|
||||
|
||||
P_before_spy = NULL;
|
||||
|
||||
RETRY_C_RECORDEDP_CODE = NULL;
|
||||
RETRY_C_RECORDED_K_CODE = NULL;
|
||||
|
||||
PROFILING = FALSE;
|
||||
CALL_COUNTING = FALSE;
|
||||
optimizer_on = TRUE;
|
||||
compile_mode = 0;
|
||||
profiling = FALSE;
|
||||
call_counting = FALSE;
|
||||
|
||||
compile_arrays = FALSE;
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
INIT_LOCK(DBTermsListLock);
|
||||
#endif
|
||||
DBTermsList = NULL;
|
||||
|
||||
ExpandClausesFirst = NULL;
|
||||
ExpandClausesLast = NULL;
|
||||
Yap_ExpandClauses = 0;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
INIT_LOCK(ExpandClausesListLock);
|
||||
INIT_LOCK(OpListLock);
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
Yap_NewCps = 0L;
|
||||
Yap_LiveCps = 0L;
|
||||
Yap_DirtyCps = 0L;
|
||||
Yap_FreedCps = 0L;
|
||||
#endif
|
||||
Yap_expand_clauses_sz = 0L;
|
||||
|
||||
UdiControlBlocks = NULL;
|
||||
|
||||
|
||||
STATIC_PREDICATES_MARKED = FALSE;
|
||||
|
||||
INT_KEYS = NULL;
|
||||
INT_LU_KEYS = NULL;
|
||||
INT_BB_KEYS = NULL;
|
||||
|
||||
INT_KEYS_SIZE = INT_KEYS_DEFAULT_SIZE;
|
||||
INT_KEYS_TIMESTAMP = 0L;
|
||||
INT_BB_KEYS_SIZE = INT_KEYS_DEFAULT_SIZE;
|
||||
|
||||
UPDATE_MODE = UPDATE_MODE_LOGICAL;
|
||||
|
||||
InitDBErasedMarker();
|
||||
InitLogDBErasedMarker();
|
||||
|
||||
DeadStaticClauses = NULL;
|
||||
DeadMegaClauses = NULL;
|
||||
DeadStaticIndices = NULL;
|
||||
DBErasedList = NULL;
|
||||
DBErasedIList = NULL;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
INIT_LOCK(DeadStaticClausesLock);
|
||||
INIT_LOCK(DeadMegaClausesLock);
|
||||
INIT_LOCK(DeadStaticIndicesLock);
|
||||
#endif
|
||||
#ifdef COROUTINING
|
||||
|
||||
NUM_OF_ATTS = 1;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
OpList = NULL;
|
||||
|
||||
ForeignCodeLoaded = NULL;
|
||||
ForeignCodeBase = NULL;
|
||||
ForeignCodeTop = NULL;
|
||||
ForeignCodeMax = NULL;
|
||||
|
||||
Yap_Records = NULL;
|
||||
InitEmptyWakeups();
|
||||
MaxEmptyWakeups = 0;
|
||||
|
||||
BlobTypes = NULL;
|
||||
Blobs = NULL;
|
||||
NOfBlobs = 0;
|
||||
NOfBlobsMax = 256;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
INIT_LOCK(Blobs_Lock);
|
||||
#endif
|
||||
|
||||
|
||||
/* This file, ihstruct.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/HEAPFIELDS instead */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#if USE_DL_MALLOC
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
INIT_LOCK(DLMallocLock);
|
||||
#endif
|
||||
#endif
|
||||
#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
|
||||
#ifndef HeapUsed
|
||||
#define HeapUsed Yap_givemallinfo()
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
INIT_LOCK(FreeBlocksLock);
|
||||
INIT_LOCK(HeapUsedLock);
|
||||
INIT_LOCK(HeapTopLock);
|
||||
HeapTopOwner = -1;
|
||||
#endif
|
||||
MaxStack = 0;
|
||||
MaxTrail = 0;
|
||||
|
||||
|
||||
#if USE_THREADED_CODE
|
||||
|
||||
#endif
|
||||
|
||||
EXECUTE_CPRED_OP_CODE = Yap_opcode(_execute_cpred);
|
||||
EXPAND_OP_CODE = Yap_opcode(_expand_index);
|
||||
FAIL_OPCODE = Yap_opcode(_op_fail);
|
||||
INDEX_OPCODE = Yap_opcode(_index_pred);
|
||||
LOCKPRED_OPCODE = Yap_opcode(_lock_pred);
|
||||
ORLAST_OPCODE = Yap_opcode(_or_last);
|
||||
UNDEF_OPCODE = Yap_opcode(_undef_p);
|
||||
RETRY_USERC_OPCODE = Yap_opcode(_retry_userc);
|
||||
EXECUTE_CPRED_OPCODE = Yap_opcode(_execute_cpred);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
InitInvisibleAtoms();
|
||||
InitWideAtoms();
|
||||
InitAtoms();
|
||||
|
||||
#include "iatoms.h"
|
||||
#ifdef EUROTRA
|
||||
TermDollarU = MkAtomTerm(AtomDollarU);
|
||||
#endif
|
||||
|
||||
USER_MODULE = MkAtomTerm(AtomUser);
|
||||
IDB_MODULE = MkAtomTerm(AtomIDB);
|
||||
ATTRIBUTES_MODULE = MkAtomTerm(AtomAttributes);
|
||||
CHARSIO_MODULE = MkAtomTerm(AtomCharsio);
|
||||
CHTYPE_MODULE = MkAtomTerm(AtomChType);
|
||||
TERMS_MODULE = MkAtomTerm(AtomTerms);
|
||||
SYSTEM_MODULE = MkAtomTerm(AtomSystem);
|
||||
READUTIL_MODULE = MkAtomTerm(AtomReadutil);
|
||||
HACKS_MODULE = MkAtomTerm(AtomYapHacks);
|
||||
ARG_MODULE = MkAtomTerm(AtomArg);
|
||||
GLOBALS_MODULE = MkAtomTerm(AtomNb);
|
||||
SWI_MODULE = MkAtomTerm(AtomSwi);
|
||||
DBLOAD_MODULE = MkAtomTerm(AtomDBLoad);
|
||||
RANGE_MODULE = MkAtomTerm(AtomRange);
|
||||
ERROR_MODULE = MkAtomTerm(AtomError);
|
||||
|
||||
|
||||
|
||||
CurrentModules = NULL;
|
||||
|
||||
|
||||
Yap_InitModules();
|
||||
|
||||
HIDDEN_PREDICATES = NULL;
|
||||
|
||||
|
||||
Yap_InitPlIO(yapi);
|
||||
GLOBAL_Flags = 0;
|
||||
Yap_InitFlags(true);
|
||||
|
||||
Yap_ExecutionMode = INTERPRETED;
|
||||
|
||||
PredsInHashTable = 0;
|
||||
PredHashTableSize = 0;
|
||||
InitPredHash();
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
|
||||
#endif
|
||||
|
||||
CreepCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomCreep,1),PROLOG_MODULE));
|
||||
UndefCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomUndefp0,2),PROLOG_MODULE));
|
||||
SpyCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomSpy,1),PROLOG_MODULE));
|
||||
PredFail = RepPredProp(PredPropByAtom(AtomFail,PROLOG_MODULE));
|
||||
PredTrue = RepPredProp(PredPropByAtom(AtomTrue,PROLOG_MODULE));
|
||||
#ifdef COROUTINING
|
||||
WakeUpCode = RepPredProp(PredPropByFunc(Yap_MkFunctor(AtomWakeUpGoal,2),PROLOG_MODULE));
|
||||
#endif
|
||||
PredDollarCatch = RepPredProp(PredPropByFunc(FunctorCatch,PROLOG_MODULE));
|
||||
#ifdef YAPOR
|
||||
PredGetwork = RepPredProp(PredPropByAtom(AtomGetwork,PROLOG_MODULE));
|
||||
#endif /* YAPOR */
|
||||
PredGoalExpansion = RepPredProp(PredPropByFunc(FunctorGoalExpansion,USER_MODULE));
|
||||
PredHandleThrow = RepPredProp(PredPropByFunc(FunctorHandleThrow,PROLOG_MODULE));
|
||||
PredIs = RepPredProp(PredPropByFunc(FunctorIs,PROLOG_MODULE));
|
||||
PredLogUpdClause = RepPredProp(PredPropByFunc(FunctorDoLogUpdClause,PROLOG_MODULE));
|
||||
PredLogUpdClauseErase = RepPredProp(PredPropByFunc(FunctorDoLogUpdClauseErase,PROLOG_MODULE));
|
||||
PredLogUpdClause0 = RepPredProp(PredPropByFunc(FunctorDoLogUpdClause,PROLOG_MODULE));
|
||||
PredMetaCall = RepPredProp(PredPropByFunc(FunctorMetaCall,PROLOG_MODULE));
|
||||
PredProtectStack = RepPredProp(PredPropByFunc(FunctorProtectStack,PROLOG_MODULE));
|
||||
PredRecordedWithKey = RepPredProp(PredPropByFunc(FunctorRecordedWithKey,PROLOG_MODULE));
|
||||
PredRestoreRegs = RepPredProp(PredPropByFunc(FunctorRestoreRegs,PROLOG_MODULE));
|
||||
PredSafeCallCleanup = RepPredProp(PredPropByFunc(FunctorSafeCallCleanup,PROLOG_MODULE));
|
||||
PredStaticClause = RepPredProp(PredPropByFunc(FunctorDoStaticClause,PROLOG_MODULE));
|
||||
PredThrow = RepPredProp(PredPropByFunc(FunctorThrow,PROLOG_MODULE));
|
||||
PredTraceMetaCall = RepPredProp(PredPropByFunc(FunctorTraceMetaCall,PROLOG_MODULE));
|
||||
PredCommentHook = RepPredProp(PredPropByFunc(FunctorCommentHook,PROLOG_MODULE));
|
||||
PredProcedure = Yap_MkLogPred(RepPredProp(PredPropByFunc(FunctorProcedure,PROLOG_MODULE)));
|
||||
PredUndefinedQuery = RepPredProp(PredPropByFunc(FunctorUndefinedQuery,PROLOG_MODULE));
|
||||
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
Yap_do_low_level_trace = FALSE;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
INIT_LOCK(Yap_low_level_trace_lock);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Yap_ClauseSpace = 0;
|
||||
Yap_IndexSpace_Tree = 0;
|
||||
Yap_IndexSpace_EXT = 0;
|
||||
Yap_IndexSpace_SW = 0;
|
||||
Yap_LUClauseSpace = 0;
|
||||
Yap_LUIndexSpace_Tree = 0;
|
||||
Yap_LUIndexSpace_CP = 0;
|
||||
Yap_LUIndexSpace_EXT = 0;
|
||||
Yap_LUIndexSpace_SW = 0;
|
||||
|
||||
|
||||
DUMMYCODE->opc = Yap_opcode(_op_fail);
|
||||
FAILCODE->opc = Yap_opcode(_op_fail);
|
||||
NOCODE->opc = Yap_opcode(_Nstop);
|
||||
InitEnvInst(ENV_FOR_TRUSTFAIL,&TRUSTFAILCODE,_trust_fail,PredFail);
|
||||
|
||||
InitEnvInst(ENV_FOR_YESCODE,&YESCODE,_Ystop,PredFail);
|
||||
|
||||
InitOtaplInst(RTRYCODE,_retry_and_mark,PredFail);
|
||||
#ifdef BEAM
|
||||
BEAM_RETRY_CODE->opc = Yap_opcode(_beam_retry_code);
|
||||
#endif /* BEAM */
|
||||
#ifdef YAPOR
|
||||
InitOtaplInst(GETWORK,_getwork,PredGetwork);
|
||||
InitOtaplInst(GETWORK_SEQ,_getwork_seq,PredGetworkSeq);
|
||||
GETWORK_FIRST_TIME->opc = Yap_opcode(_getwork_first_time);
|
||||
#endif /* YAPOR */
|
||||
#ifdef TABLING
|
||||
InitOtaplInst(LOAD_ANSWER,_table_load_answer,PredFail);
|
||||
InitOtaplInst(TRY_ANSWER,_table_try_answer,PredFail);
|
||||
InitOtaplInst(ANSWER_RESOLUTION,_table_answer_resolution,PredFail);
|
||||
InitOtaplInst(COMPLETION,_table_completion,PredFail);
|
||||
#ifdef THREADS_CONSUMER_SHARING
|
||||
InitOtaplInst(ANSWER_RESOLUTION_COMPLETION,_table_answer_resolution_completion,PredFail);
|
||||
#endif /* THREADS_CONSUMER_SHARING */
|
||||
#endif /* TABLING */
|
||||
|
||||
|
||||
|
||||
|
||||
P_before_spy = NULL;
|
||||
|
||||
RETRY_C_RECORDEDP_CODE = NULL;
|
||||
RETRY_C_RECORDED_K_CODE = NULL;
|
||||
|
||||
PROFILING = FALSE;
|
||||
CALL_COUNTING = FALSE;
|
||||
optimizer_on = TRUE;
|
||||
compile_mode = 0;
|
||||
profiling = FALSE;
|
||||
call_counting = FALSE;
|
||||
|
||||
compile_arrays = FALSE;
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
INIT_LOCK(DBTermsListLock);
|
||||
#endif
|
||||
DBTermsList = NULL;
|
||||
|
||||
ExpandClausesFirst = NULL;
|
||||
ExpandClausesLast = NULL;
|
||||
Yap_ExpandClauses = 0;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
INIT_LOCK(ExpandClausesListLock);
|
||||
INIT_LOCK(OpListLock);
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
Yap_NewCps = 0L;
|
||||
Yap_LiveCps = 0L;
|
||||
Yap_DirtyCps = 0L;
|
||||
Yap_FreedCps = 0L;
|
||||
#endif
|
||||
Yap_expand_clauses_sz = 0L;
|
||||
|
||||
UdiControlBlocks = NULL;
|
||||
|
||||
|
||||
STATIC_PREDICATES_MARKED = FALSE;
|
||||
|
||||
INT_KEYS = NULL;
|
||||
INT_LU_KEYS = NULL;
|
||||
INT_BB_KEYS = NULL;
|
||||
|
||||
INT_KEYS_SIZE = INT_KEYS_DEFAULT_SIZE;
|
||||
INT_KEYS_TIMESTAMP = 0L;
|
||||
INT_BB_KEYS_SIZE = INT_KEYS_DEFAULT_SIZE;
|
||||
|
||||
UPDATE_MODE = UPDATE_MODE_LOGICAL;
|
||||
|
||||
InitDBErasedMarker();
|
||||
InitLogDBErasedMarker();
|
||||
|
||||
DeadStaticClauses = NULL;
|
||||
DeadMegaClauses = NULL;
|
||||
DeadStaticIndices = NULL;
|
||||
DBErasedList = NULL;
|
||||
DBErasedIList = NULL;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
INIT_LOCK(DeadStaticClausesLock);
|
||||
INIT_LOCK(DeadMegaClausesLock);
|
||||
INIT_LOCK(DeadStaticIndicesLock);
|
||||
#endif
|
||||
#ifdef COROUTINING
|
||||
|
||||
NUM_OF_ATTS = 1;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
OpList = NULL;
|
||||
|
||||
ForeignCodeLoaded = NULL;
|
||||
ForeignCodeBase = NULL;
|
||||
ForeignCodeTop = NULL;
|
||||
ForeignCodeMax = NULL;
|
||||
|
||||
Yap_Records = NULL;
|
||||
InitEmptyWakeups();
|
||||
MaxEmptyWakeups = 0;
|
||||
|
||||
BlobTypes = NULL;
|
||||
Blobs = NULL;
|
||||
NOfBlobs = 0;
|
||||
NOfBlobsMax = 256;
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
INIT_LOCK(Blobs_Lock);
|
||||
#endif
|
||||
|
||||
|
@ -1,272 +1,272 @@
|
||||
|
||||
/* This file, ilocals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/LOCALS instead */
|
||||
|
||||
|
||||
static void InitWorker(int wid) {
|
||||
|
||||
REMOTE_c_input_stream(wid) = 0;
|
||||
REMOTE_c_output_stream(wid) = 1;
|
||||
REMOTE_c_error_stream(wid) = 2;
|
||||
REMOTE_sockets_io(wid) = false;
|
||||
REMOTE_within_print_message(wid) = false;
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_newline(wid) = true;
|
||||
REMOTE_AtPrompt(wid) = AtomNil;
|
||||
|
||||
REMOTE_encoding(wid) = Yap_DefaultEncoding();
|
||||
REMOTE_quasi_quotations(wid) = false;
|
||||
REMOTE_default_priority(wid) = 1200;
|
||||
REMOTE_eot_before_eof(wid) = false;
|
||||
REMOTE_max_depth(wid) = 0;
|
||||
REMOTE_max_list(wid) = 0;
|
||||
REMOTE_max_write_args(wid) = 0;
|
||||
|
||||
REMOTE_OldASP(wid) = NULL;
|
||||
REMOTE_OldLCL0(wid) = NULL;
|
||||
REMOTE_OldTR(wid) = NULL;
|
||||
REMOTE_OldGlobalBase(wid) = NULL;
|
||||
REMOTE_OldH(wid) = NULL;
|
||||
REMOTE_OldH0(wid) = NULL;
|
||||
REMOTE_OldTrailBase(wid) = NULL;
|
||||
REMOTE_OldTrailTop(wid) = NULL;
|
||||
REMOTE_OldHeapBase(wid) = NULL;
|
||||
REMOTE_OldHeapTop(wid) = NULL;
|
||||
REMOTE_ClDiff(wid) = 0L;
|
||||
REMOTE_GDiff(wid) = 0L;
|
||||
REMOTE_HDiff(wid) = 0L;
|
||||
REMOTE_GDiff0(wid) = 0L;
|
||||
REMOTE_GSplit(wid) = NULL;
|
||||
REMOTE_LDiff(wid) = 0L;
|
||||
REMOTE_TrDiff(wid) = 0L;
|
||||
REMOTE_XDiff(wid) = 0L;
|
||||
REMOTE_DelayDiff(wid) = 0L;
|
||||
REMOTE_BaseDiff(wid) = 0L;
|
||||
|
||||
REMOTE_ReductionsCounter(wid) = 0L;
|
||||
REMOTE_PredEntriesCounter(wid) = 0L;
|
||||
REMOTE_RetriesCounter(wid) = 0L;
|
||||
REMOTE_ReductionsCounterOn(wid) = 0L;
|
||||
REMOTE_PredEntriesCounterOn(wid) = 0L;
|
||||
REMOTE_RetriesCounterOn(wid) = 0L;
|
||||
|
||||
|
||||
REMOTE_ConsultSp(wid) = NULL;
|
||||
|
||||
|
||||
|
||||
REMOTE_ConsultBase(wid) = NULL;
|
||||
|
||||
REMOTE_ConsultLow(wid) = NULL;
|
||||
REMOTE_VarNames(wid) = ((Term)0);
|
||||
REMOTE_SourceFileName(wid) = NULL;
|
||||
REMOTE_SourceFileLineno(wid) = 0;
|
||||
|
||||
REMOTE_GlobalArena(wid) = 0L;
|
||||
REMOTE_GlobalArenaOverflows(wid) = 0L;
|
||||
REMOTE_ArenaOverflows(wid) = 0L;
|
||||
REMOTE_DepthArenas(wid) = 0;
|
||||
REMOTE_LastAssertedPred(wid) = NULL;
|
||||
REMOTE_TmpPred(wid) = NULL;
|
||||
REMOTE_ScannerStack(wid) = NULL;
|
||||
REMOTE_ScannerExtraBlocks(wid) = NULL;
|
||||
|
||||
|
||||
REMOTE_CBorder(wid) = 0;
|
||||
|
||||
REMOTE_MaxActiveSignals(wid) = 64L;
|
||||
|
||||
REMOTE_Signals(wid) = 0L;
|
||||
|
||||
REMOTE_IPredArity(wid) = 0L;
|
||||
REMOTE_ProfEnd(wid) = NULL;
|
||||
REMOTE_DoingUndefp(wid) = FALSE;
|
||||
REMOTE_StartCharCount(wid) = 0L;
|
||||
REMOTE_StartLineCount(wid) = 0L;
|
||||
REMOTE_StartLinePos(wid) = 0L;
|
||||
InitScratchPad(wid);
|
||||
#ifdef COROUTINING
|
||||
REMOTE_WokenGoals(wid) = 0L;
|
||||
REMOTE_AttsMutableList(wid) = 0L;
|
||||
#endif
|
||||
|
||||
REMOTE_GcGeneration(wid) = 0L;
|
||||
REMOTE_GcPhase(wid) = 0L;
|
||||
REMOTE_GcCurrentPhase(wid) = 0L;
|
||||
REMOTE_GcCalls(wid) = 0L;
|
||||
REMOTE_TotGcTime(wid) = 0L;
|
||||
REMOTE_TotGcRecovered(wid) = 0L;
|
||||
REMOTE_LastGcTime(wid) = 0L;
|
||||
REMOTE_LastSSTime(wid) = 0L;
|
||||
REMOTE_OpenArray(wid) = NULL;
|
||||
|
||||
REMOTE_total_marked(wid) = 0L;
|
||||
REMOTE_total_oldies(wid) = 0L;
|
||||
REMOTE_current_B(wid) = NULL;
|
||||
REMOTE_prev_HB(wid) = NULL;
|
||||
REMOTE_HGEN(wid) = NULL;
|
||||
REMOTE_iptop(wid) = NULL;
|
||||
#if defined(GC_NO_TAGS)
|
||||
REMOTE_bp(wid) = NULL;
|
||||
#endif
|
||||
REMOTE_sTR(wid) = NULL;
|
||||
REMOTE_sTR0(wid) = NULL;
|
||||
REMOTE_new_TR(wid) = NULL;
|
||||
REMOTE_cont_top0(wid) = NULL;
|
||||
REMOTE_cont_top(wid) = NULL;
|
||||
REMOTE_discard_trail_entries(wid) = 0;
|
||||
|
||||
REMOTE_gc_ma_h_top(wid) = NULL;
|
||||
REMOTE_gc_ma_h_list(wid) = NULL;
|
||||
REMOTE_gc_timestamp(wid) = 0L;
|
||||
REMOTE_db_vec(wid) = NULL;
|
||||
REMOTE_db_vec0(wid) = NULL;
|
||||
REMOTE_db_root(wid) = NULL;
|
||||
REMOTE_db_nil(wid) = NULL;
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_extra_gc_cells_size(wid) = 256;
|
||||
REMOTE_DynamicArrays(wid) = NULL;
|
||||
REMOTE_StaticArrays(wid) = NULL;
|
||||
REMOTE_GlobalVariables(wid) = NULL;
|
||||
REMOTE_AllowRestart(wid) = FALSE;
|
||||
|
||||
REMOTE_CMemFirstBlock(wid) = NULL;
|
||||
REMOTE_CMemFirstBlockSz(wid) = 0L;
|
||||
|
||||
REMOTE_nperm(wid) = 0;
|
||||
REMOTE_jMP(wid) = 0;
|
||||
|
||||
REMOTE_LabelFirstArray(wid) = NULL;
|
||||
REMOTE_LabelFirstArraySz(wid) = 0L;
|
||||
|
||||
|
||||
#ifdef THREADS
|
||||
InitThreadHandle(wid);
|
||||
#endif /* THREADS */
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
Yap_init_local_optyap_data(wid);
|
||||
REMOTE_TabMode(wid) = 0L;
|
||||
#endif /* YAPOR || TABLING */
|
||||
REMOTE_InterruptsDisabled(wid) = FALSE;
|
||||
REMOTE_execution(wid) = NULL;
|
||||
#if LOW_LEVEL_TRACER
|
||||
REMOTE_total_choicepoints(wid) = 0;
|
||||
#endif
|
||||
REMOTE_consult_level(wid) = 0;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_ActiveError(wid) = calloc(sizeof(yap_error_descriptor_t),1);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_TextBuffer(wid) = Yap_InitTextAllocator();
|
||||
|
||||
REMOTE_BreakLevel(wid) = 0;
|
||||
REMOTE_PrologMode(wid) = BootMode;
|
||||
REMOTE_CritLocks(wid) = 0;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef ANALYST
|
||||
|
||||
|
||||
#endif /* ANALYST */
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_mathstring(wid) = NULL;
|
||||
|
||||
REMOTE_heap_overflows(wid) = 0;
|
||||
REMOTE_total_heap_overflow_time(wid) = 0;
|
||||
REMOTE_stack_overflows(wid) = 0;
|
||||
REMOTE_total_stack_overflow_time(wid) = 0;
|
||||
REMOTE_delay_overflows(wid) = 0;
|
||||
REMOTE_total_delay_overflow_time(wid) = 0;
|
||||
REMOTE_trail_overflows(wid) = 0;
|
||||
REMOTE_total_trail_overflow_time(wid) = 0;
|
||||
REMOTE_atom_table_overflows(wid) = 0;
|
||||
REMOTE_total_atom_table_overflow_time(wid) = 0;
|
||||
|
||||
#ifdef LOAD_DYLD
|
||||
REMOTE_dl_errno(wid) = 0;
|
||||
#endif
|
||||
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
REMOTE_do_trace_primitives(wid) = TRUE;
|
||||
#endif
|
||||
|
||||
REMOTE_ExportAtomHashChain(wid) = NULL;
|
||||
REMOTE_ExportAtomHashTableSize(wid) = 0;
|
||||
REMOTE_ExportAtomHashTableNum(wid) = 0;
|
||||
REMOTE_ExportFunctorHashChain(wid) = NULL;
|
||||
REMOTE_ExportFunctorHashTableSize(wid) = 0;
|
||||
REMOTE_ExportFunctorHashTableNum(wid) = 0;
|
||||
REMOTE_ExportPredEntryHashChain(wid) = NULL;
|
||||
REMOTE_ExportPredEntryHashTableSize(wid) = 0;
|
||||
REMOTE_ExportPredEntryHashTableNum(wid) = 0;
|
||||
REMOTE_ExportDBRefHashChain(wid) = NULL;
|
||||
REMOTE_ExportDBRefHashTableSize(wid) = 0;
|
||||
REMOTE_ExportDBRefHashTableNum(wid) = 0;
|
||||
REMOTE_ImportAtomHashChain(wid) = NULL;
|
||||
REMOTE_ImportAtomHashTableSize(wid) = 0;
|
||||
REMOTE_ImportAtomHashTableNum(wid) = 0;
|
||||
REMOTE_ImportFunctorHashChain(wid) = NULL;
|
||||
REMOTE_ImportFunctorHashTableSize(wid) = 0;
|
||||
REMOTE_ImportFunctorHashTableNum(wid) = 0;
|
||||
REMOTE_ImportOPCODEHashChain(wid) = NULL;
|
||||
REMOTE_ImportOPCODEHashTableSize(wid) = 0;
|
||||
REMOTE_ImportPredEntryHashChain(wid) = NULL;
|
||||
REMOTE_ImportPredEntryHashTableSize(wid) = 0;
|
||||
REMOTE_ImportPredEntryHashTableNum(wid) = 0;
|
||||
REMOTE_ImportDBRefHashChain(wid) = NULL;
|
||||
REMOTE_ImportDBRefHashTableSize(wid) = 0;
|
||||
REMOTE_ImportDBRefHashTableNum(wid) = 0;
|
||||
REMOTE_ImportFAILCODE(wid) = NULL;
|
||||
|
||||
|
||||
REMOTE_exo_it(wid) = NULL;
|
||||
REMOTE_exo_base(wid) = NULL;
|
||||
REMOTE_exo_arity(wid) = 0;
|
||||
REMOTE_exo_arg(wid) = 0;
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_CurSlot(wid) = 0;
|
||||
REMOTE_FrozenHandles(wid) = 0;
|
||||
REMOTE_NSlots(wid) = 0;
|
||||
REMOTE_SlotBase(wid) = InitHandles(wid);
|
||||
|
||||
REMOTE_Mutexes(wid) = NULL;
|
||||
REMOTE_SourceModule(wid) = 0;
|
||||
REMOTE_Including(wid) = TermNil;
|
||||
REMOTE_MAX_SIZE(wid) = 1024L;
|
||||
|
||||
REMOTE_LastWTime(wid) = 0;
|
||||
REMOTE_shared(wid) = NULL;
|
||||
}
|
||||
|
||||
/* This file, ilocals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/LOCALS instead */
|
||||
|
||||
|
||||
static void InitWorker(int wid) {
|
||||
|
||||
REMOTE_c_input_stream(wid) = 0;
|
||||
REMOTE_c_output_stream(wid) = 1;
|
||||
REMOTE_c_error_stream(wid) = 2;
|
||||
REMOTE_sockets_io(wid) = false;
|
||||
REMOTE_within_print_message(wid) = false;
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_newline(wid) = true;
|
||||
REMOTE_AtPrompt(wid) = AtomNil;
|
||||
|
||||
REMOTE_encoding(wid) = Yap_DefaultEncoding();
|
||||
REMOTE_quasi_quotations(wid) = false;
|
||||
REMOTE_default_priority(wid) = 1200;
|
||||
REMOTE_eot_before_eof(wid) = false;
|
||||
REMOTE_max_depth(wid) = 0;
|
||||
REMOTE_max_list(wid) = 0;
|
||||
REMOTE_max_write_args(wid) = 0;
|
||||
|
||||
REMOTE_OldASP(wid) = NULL;
|
||||
REMOTE_OldLCL0(wid) = NULL;
|
||||
REMOTE_OldTR(wid) = NULL;
|
||||
REMOTE_OldGlobalBase(wid) = NULL;
|
||||
REMOTE_OldH(wid) = NULL;
|
||||
REMOTE_OldH0(wid) = NULL;
|
||||
REMOTE_OldTrailBase(wid) = NULL;
|
||||
REMOTE_OldTrailTop(wid) = NULL;
|
||||
REMOTE_OldHeapBase(wid) = NULL;
|
||||
REMOTE_OldHeapTop(wid) = NULL;
|
||||
REMOTE_ClDiff(wid) = 0L;
|
||||
REMOTE_GDiff(wid) = 0L;
|
||||
REMOTE_HDiff(wid) = 0L;
|
||||
REMOTE_GDiff0(wid) = 0L;
|
||||
REMOTE_GSplit(wid) = NULL;
|
||||
REMOTE_LDiff(wid) = 0L;
|
||||
REMOTE_TrDiff(wid) = 0L;
|
||||
REMOTE_XDiff(wid) = 0L;
|
||||
REMOTE_DelayDiff(wid) = 0L;
|
||||
REMOTE_BaseDiff(wid) = 0L;
|
||||
|
||||
REMOTE_ReductionsCounter(wid) = 0L;
|
||||
REMOTE_PredEntriesCounter(wid) = 0L;
|
||||
REMOTE_RetriesCounter(wid) = 0L;
|
||||
REMOTE_ReductionsCounterOn(wid) = 0L;
|
||||
REMOTE_PredEntriesCounterOn(wid) = 0L;
|
||||
REMOTE_RetriesCounterOn(wid) = 0L;
|
||||
|
||||
|
||||
REMOTE_ConsultSp(wid) = NULL;
|
||||
|
||||
|
||||
|
||||
REMOTE_ConsultBase(wid) = NULL;
|
||||
|
||||
REMOTE_ConsultLow(wid) = NULL;
|
||||
REMOTE_VarNames(wid) = ((Term)0);
|
||||
REMOTE_SourceFileName(wid) = NULL;
|
||||
REMOTE_SourceFileLineno(wid) = 0;
|
||||
|
||||
REMOTE_GlobalArena(wid) = 0L;
|
||||
REMOTE_GlobalArenaOverflows(wid) = 0L;
|
||||
REMOTE_ArenaOverflows(wid) = 0L;
|
||||
REMOTE_DepthArenas(wid) = 0;
|
||||
REMOTE_LastAssertedPred(wid) = NULL;
|
||||
REMOTE_TmpPred(wid) = NULL;
|
||||
REMOTE_ScannerStack(wid) = NULL;
|
||||
REMOTE_ScannerExtraBlocks(wid) = NULL;
|
||||
|
||||
|
||||
REMOTE_CBorder(wid) = 0;
|
||||
|
||||
REMOTE_MaxActiveSignals(wid) = 64L;
|
||||
|
||||
REMOTE_Signals(wid) = 0L;
|
||||
|
||||
REMOTE_IPredArity(wid) = 0L;
|
||||
REMOTE_ProfEnd(wid) = NULL;
|
||||
REMOTE_DoingUndefp(wid) = FALSE;
|
||||
REMOTE_StartCharCount(wid) = 0L;
|
||||
REMOTE_StartLineCount(wid) = 0L;
|
||||
REMOTE_StartLinePos(wid) = 0L;
|
||||
InitScratchPad(wid);
|
||||
#ifdef COROUTINING
|
||||
REMOTE_WokenGoals(wid) = 0L;
|
||||
REMOTE_AttsMutableList(wid) = 0L;
|
||||
#endif
|
||||
|
||||
REMOTE_GcGeneration(wid) = 0L;
|
||||
REMOTE_GcPhase(wid) = 0L;
|
||||
REMOTE_GcCurrentPhase(wid) = 0L;
|
||||
REMOTE_GcCalls(wid) = 0L;
|
||||
REMOTE_TotGcTime(wid) = 0L;
|
||||
REMOTE_TotGcRecovered(wid) = 0L;
|
||||
REMOTE_LastGcTime(wid) = 0L;
|
||||
REMOTE_LastSSTime(wid) = 0L;
|
||||
REMOTE_OpenArray(wid) = NULL;
|
||||
|
||||
REMOTE_total_marked(wid) = 0L;
|
||||
REMOTE_total_oldies(wid) = 0L;
|
||||
REMOTE_current_B(wid) = NULL;
|
||||
REMOTE_prev_HB(wid) = NULL;
|
||||
REMOTE_HGEN(wid) = NULL;
|
||||
REMOTE_iptop(wid) = NULL;
|
||||
#if defined(GC_NO_TAGS)
|
||||
REMOTE_bp(wid) = NULL;
|
||||
#endif
|
||||
REMOTE_sTR(wid) = NULL;
|
||||
REMOTE_sTR0(wid) = NULL;
|
||||
REMOTE_new_TR(wid) = NULL;
|
||||
REMOTE_cont_top0(wid) = NULL;
|
||||
REMOTE_cont_top(wid) = NULL;
|
||||
REMOTE_discard_trail_entries(wid) = 0;
|
||||
|
||||
REMOTE_gc_ma_h_top(wid) = NULL;
|
||||
REMOTE_gc_ma_h_list(wid) = NULL;
|
||||
REMOTE_gc_timestamp(wid) = 0L;
|
||||
REMOTE_db_vec(wid) = NULL;
|
||||
REMOTE_db_vec0(wid) = NULL;
|
||||
REMOTE_db_root(wid) = NULL;
|
||||
REMOTE_db_nil(wid) = NULL;
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_extra_gc_cells_size(wid) = 256;
|
||||
REMOTE_DynamicArrays(wid) = NULL;
|
||||
REMOTE_StaticArrays(wid) = NULL;
|
||||
REMOTE_GlobalVariables(wid) = NULL;
|
||||
REMOTE_AllowRestart(wid) = FALSE;
|
||||
|
||||
REMOTE_CMemFirstBlock(wid) = NULL;
|
||||
REMOTE_CMemFirstBlockSz(wid) = 0L;
|
||||
|
||||
REMOTE_nperm(wid) = 0;
|
||||
REMOTE_jMP(wid) = 0;
|
||||
|
||||
REMOTE_LabelFirstArray(wid) = NULL;
|
||||
REMOTE_LabelFirstArraySz(wid) = 0L;
|
||||
|
||||
|
||||
#ifdef THREADS
|
||||
InitThreadHandle(wid);
|
||||
#endif /* THREADS */
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
Yap_init_local_optyap_data(wid);
|
||||
REMOTE_TabMode(wid) = 0L;
|
||||
#endif /* YAPOR || TABLING */
|
||||
REMOTE_InterruptsDisabled(wid) = FALSE;
|
||||
REMOTE_execution(wid) = NULL;
|
||||
#if LOW_LEVEL_TRACER
|
||||
REMOTE_total_choicepoints(wid) = 0;
|
||||
#endif
|
||||
REMOTE_consult_level(wid) = 0;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_ActiveError(wid) = calloc(sizeof(yap_error_descriptor_t),1);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_TextBuffer(wid) = Yap_InitTextAllocator();
|
||||
|
||||
REMOTE_BreakLevel(wid) = 0;
|
||||
REMOTE_PrologMode(wid) = BootMode;
|
||||
REMOTE_CritLocks(wid) = 0;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef ANALYST
|
||||
|
||||
|
||||
#endif /* ANALYST */
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_mathstring(wid) = NULL;
|
||||
|
||||
REMOTE_heap_overflows(wid) = 0;
|
||||
REMOTE_total_heap_overflow_time(wid) = 0;
|
||||
REMOTE_stack_overflows(wid) = 0;
|
||||
REMOTE_total_stack_overflow_time(wid) = 0;
|
||||
REMOTE_delay_overflows(wid) = 0;
|
||||
REMOTE_total_delay_overflow_time(wid) = 0;
|
||||
REMOTE_trail_overflows(wid) = 0;
|
||||
REMOTE_total_trail_overflow_time(wid) = 0;
|
||||
REMOTE_atom_table_overflows(wid) = 0;
|
||||
REMOTE_total_atom_table_overflow_time(wid) = 0;
|
||||
|
||||
#ifdef LOAD_DYLD
|
||||
REMOTE_dl_errno(wid) = 0;
|
||||
#endif
|
||||
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
REMOTE_do_trace_primitives(wid) = TRUE;
|
||||
#endif
|
||||
|
||||
REMOTE_ExportAtomHashChain(wid) = NULL;
|
||||
REMOTE_ExportAtomHashTableSize(wid) = 0;
|
||||
REMOTE_ExportAtomHashTableNum(wid) = 0;
|
||||
REMOTE_ExportFunctorHashChain(wid) = NULL;
|
||||
REMOTE_ExportFunctorHashTableSize(wid) = 0;
|
||||
REMOTE_ExportFunctorHashTableNum(wid) = 0;
|
||||
REMOTE_ExportPredEntryHashChain(wid) = NULL;
|
||||
REMOTE_ExportPredEntryHashTableSize(wid) = 0;
|
||||
REMOTE_ExportPredEntryHashTableNum(wid) = 0;
|
||||
REMOTE_ExportDBRefHashChain(wid) = NULL;
|
||||
REMOTE_ExportDBRefHashTableSize(wid) = 0;
|
||||
REMOTE_ExportDBRefHashTableNum(wid) = 0;
|
||||
REMOTE_ImportAtomHashChain(wid) = NULL;
|
||||
REMOTE_ImportAtomHashTableSize(wid) = 0;
|
||||
REMOTE_ImportAtomHashTableNum(wid) = 0;
|
||||
REMOTE_ImportFunctorHashChain(wid) = NULL;
|
||||
REMOTE_ImportFunctorHashTableSize(wid) = 0;
|
||||
REMOTE_ImportFunctorHashTableNum(wid) = 0;
|
||||
REMOTE_ImportOPCODEHashChain(wid) = NULL;
|
||||
REMOTE_ImportOPCODEHashTableSize(wid) = 0;
|
||||
REMOTE_ImportPredEntryHashChain(wid) = NULL;
|
||||
REMOTE_ImportPredEntryHashTableSize(wid) = 0;
|
||||
REMOTE_ImportPredEntryHashTableNum(wid) = 0;
|
||||
REMOTE_ImportDBRefHashChain(wid) = NULL;
|
||||
REMOTE_ImportDBRefHashTableSize(wid) = 0;
|
||||
REMOTE_ImportDBRefHashTableNum(wid) = 0;
|
||||
REMOTE_ImportFAILCODE(wid) = NULL;
|
||||
|
||||
|
||||
REMOTE_exo_it(wid) = NULL;
|
||||
REMOTE_exo_base(wid) = NULL;
|
||||
REMOTE_exo_arity(wid) = 0;
|
||||
REMOTE_exo_arg(wid) = 0;
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_CurSlot(wid) = 0;
|
||||
REMOTE_FrozenHandles(wid) = 0;
|
||||
REMOTE_NSlots(wid) = 0;
|
||||
REMOTE_SlotBase(wid) = InitHandles(wid);
|
||||
|
||||
REMOTE_Mutexes(wid) = NULL;
|
||||
REMOTE_SourceModule(wid) = 0;
|
||||
REMOTE_Including(wid) = TermNil;
|
||||
REMOTE_MAX_SIZE(wid) = 1024L;
|
||||
|
||||
REMOTE_LastWTime(wid) = 0;
|
||||
REMOTE_shared(wid) = NULL;
|
||||
}
|
||||
|
@ -1,292 +1,291 @@
|
||||
|
||||
/* This file, rhstruct.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/HEAPFIELDS instead */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#if USE_DL_MALLOC
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
REINIT_LOCK(DLMallocLock);
|
||||
#endif
|
||||
#endif
|
||||
#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
|
||||
#ifndef HeapUsed
|
||||
#define HeapUsed Yap_givemallinfo()
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
REINIT_LOCK(FreeBlocksLock);
|
||||
REINIT_LOCK(HeapUsedLock);
|
||||
REINIT_LOCK(HeapTopLock);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
#if USE_THREADED_CODE
|
||||
OP_RTABLE = OpRTableAdjust(OP_RTABLE);
|
||||
#endif
|
||||
|
||||
EXECUTE_CPRED_OP_CODE = Yap_opcode(_execute_cpred);
|
||||
EXPAND_OP_CODE = Yap_opcode(_expand_index);
|
||||
FAIL_OPCODE = Yap_opcode(_op_fail);
|
||||
INDEX_OPCODE = Yap_opcode(_index_pred);
|
||||
LOCKPRED_OPCODE = Yap_opcode(_lock_pred);
|
||||
ORLAST_OPCODE = Yap_opcode(_or_last);
|
||||
UNDEF_OPCODE = Yap_opcode(_undef_p);
|
||||
RETRY_USERC_OPCODE = Yap_opcode(_retry_userc);
|
||||
EXECUTE_CPRED_OPCODE = Yap_opcode(_execute_cpred);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
RestoreInvisibleAtoms();
|
||||
RestoreWideAtoms();
|
||||
RestoreAtoms();
|
||||
|
||||
#include "ratoms.h"
|
||||
#ifdef EUROTRA
|
||||
TermDollarU = AtomTermAdjust(TermDollarU);
|
||||
#endif
|
||||
TermAnswer = AtomTermAdjust(TermAnswer);
|
||||
|
||||
USER_MODULE = AtomTermAdjust(USER_MODULE);
|
||||
IDB_MODULE = AtomTermAdjust(IDB_MODULE);
|
||||
ATTRIBUTES_MODULE = AtomTermAdjust(ATTRIBUTES_MODULE);
|
||||
CHARSIO_MODULE = AtomTermAdjust(CHARSIO_MODULE);
|
||||
CHTYPE_MODULE = AtomTermAdjust(CHTYPE_MODULE);
|
||||
TERMS_MODULE = AtomTermAdjust(TERMS_MODULE);
|
||||
SYSTEM_MODULE = AtomTermAdjust(SYSTEM_MODULE);
|
||||
READUTIL_MODULE = AtomTermAdjust(READUTIL_MODULE);
|
||||
HACKS_MODULE = AtomTermAdjust(HACKS_MODULE);
|
||||
ARG_MODULE = AtomTermAdjust(ARG_MODULE);
|
||||
GLOBALS_MODULE = AtomTermAdjust(GLOBALS_MODULE);
|
||||
SWI_MODULE = AtomTermAdjust(SWI_MODULE);
|
||||
DBLOAD_MODULE = AtomTermAdjust(DBLOAD_MODULE);
|
||||
RANGE_MODULE = AtomTermAdjust(RANGE_MODULE);
|
||||
ERROR_MODULE = AtomTermAdjust(ERROR_MODULE);
|
||||
|
||||
|
||||
|
||||
CurrentModules = ModEntryPtrAdjust(CurrentModules);
|
||||
|
||||
|
||||
|
||||
|
||||
RestoreHiddenPredicates();
|
||||
|
||||
|
||||
|
||||
|
||||
RestoreFlags(GLOBAL_flagCount);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
RestorePredHash();
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
|
||||
#endif
|
||||
|
||||
CreepCode = PtoPredAdjust(CreepCode);
|
||||
UndefCode = PtoPredAdjust(UndefCode);
|
||||
SpyCode = PtoPredAdjust(SpyCode);
|
||||
PredFail = PtoPredAdjust(PredFail);
|
||||
PredTrue = PtoPredAdjust(PredTrue);
|
||||
#ifdef COROUTINING
|
||||
WakeUpCode = PtoPredAdjust(WakeUpCode);
|
||||
#endif
|
||||
PredDollarCatch = PtoPredAdjust(PredDollarCatch);
|
||||
#ifdef YAPOR
|
||||
PredGetwork = PtoPredAdjust(PredGetwork);
|
||||
#endif /* YAPOR */
|
||||
PredGoalExpansion = PtoPredAdjust(PredGoalExpansion);
|
||||
PredHandleThrow = PtoPredAdjust(PredHandleThrow);
|
||||
PredIs = PtoPredAdjust(PredIs);
|
||||
PredLogUpdClause = PtoPredAdjust(PredLogUpdClause);
|
||||
PredLogUpdClauseErase = PtoPredAdjust(PredLogUpdClauseErase);
|
||||
PredLogUpdClause0 = PtoPredAdjust(PredLogUpdClause0);
|
||||
PredMetaCall = PtoPredAdjust(PredMetaCall);
|
||||
PredProtectStack = PtoPredAdjust(PredProtectStack);
|
||||
PredRecordedWithKey = PtoPredAdjust(PredRecordedWithKey);
|
||||
PredRestoreRegs = PtoPredAdjust(PredRestoreRegs);
|
||||
PredSafeCallCleanup = PtoPredAdjust(PredSafeCallCleanup);
|
||||
PredStaticClause = PtoPredAdjust(PredStaticClause);
|
||||
PredThrow = PtoPredAdjust(PredThrow);
|
||||
PredTraceMetaCall = PtoPredAdjust(PredTraceMetaCall);
|
||||
PredCommentHook = PtoPredAdjust(PredCommentHook);
|
||||
PredProcedure = PtoPredAdjust(PredProcedure);
|
||||
PredUndefinedQuery = PtoPredAdjust(PredUndefinedQuery);
|
||||
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
REINIT_LOCK(Yap_low_level_trace_lock);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DUMMYCODE->opc = Yap_opcode(_op_fail);
|
||||
FAILCODE->opc = Yap_opcode(_op_fail);
|
||||
NOCODE->opc = Yap_opcode(_Nstop);
|
||||
RestoreEnvInst(ENV_FOR_TRUSTFAIL,&TRUSTFAILCODE,_trust_fail,PredFail);
|
||||
|
||||
RestoreEnvInst(ENV_FOR_YESCODE,&YESCODE,_Ystop,PredFail);
|
||||
|
||||
RestoreOtaplInst(RTRYCODE,_retry_and_mark,PredFail);
|
||||
#ifdef BEAM
|
||||
BEAM_RETRY_CODE->opc = Yap_opcode(_beam_retry_code);
|
||||
#endif /* BEAM */
|
||||
#ifdef YAPOR
|
||||
RestoreOtaplInst(GETWORK,_getwork,PredGetwork);
|
||||
RestoreOtaplInst(GETWORK_SEQ,_getwork_seq,PredGetworkSeq);
|
||||
GETWORK_FIRST_TIME->opc = Yap_opcode(_getwork_first_time);
|
||||
#endif /* YAPOR */
|
||||
#ifdef TABLING
|
||||
RestoreOtaplInst(LOAD_ANSWER,_table_load_answer,PredFail);
|
||||
RestoreOtaplInst(TRY_ANSWER,_table_try_answer,PredFail);
|
||||
RestoreOtaplInst(ANSWER_RESOLUTION,_table_answer_resolution,PredFail);
|
||||
RestoreOtaplInst(COMPLETION,_table_completion,PredFail);
|
||||
#ifdef THREADS_CONSUMER_SHARING
|
||||
RestoreOtaplInst(ANSWER_RESOLUTION_COMPLETION,_table_answer_resolution_completion,PredFail);
|
||||
#endif /* THREADS_CONSUMER_SHARING */
|
||||
#endif /* TABLING */
|
||||
|
||||
|
||||
|
||||
|
||||
P_before_spy = PtoOpAdjust(P_before_spy);
|
||||
|
||||
RETRY_C_RECORDEDP_CODE = PtoOpAdjust(RETRY_C_RECORDEDP_CODE);
|
||||
RETRY_C_RECORDED_K_CODE = PtoOpAdjust(RETRY_C_RECORDED_K_CODE);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
REINIT_LOCK(DBTermsListLock);
|
||||
#endif
|
||||
RestoreDBTermsList();
|
||||
|
||||
|
||||
RestoreExpandList();
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
REINIT_LOCK(ExpandClausesListLock);
|
||||
REINIT_LOCK(OpListLock);
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
RestoreUdiControlBlocks();
|
||||
|
||||
|
||||
|
||||
|
||||
RestoreIntKeys();
|
||||
RestoreIntLUKeys();
|
||||
RestoreIntBBKeys();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
RestoreDBErasedMarker();
|
||||
RestoreLogDBErasedMarker();
|
||||
|
||||
RestoreDeadStaticClauses();
|
||||
RestoreDeadMegaClauses();
|
||||
RestoreDeadStaticIndices();
|
||||
RestoreDBErasedList();
|
||||
RestoreDBErasedIList();
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
REINIT_LOCK(DeadStaticClausesLock);
|
||||
REINIT_LOCK(DeadMegaClausesLock);
|
||||
REINIT_LOCK(DeadStaticIndicesLock);
|
||||
#endif
|
||||
#ifdef COROUTINING
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
OpList = OpListAdjust(OpList);
|
||||
|
||||
RestoreForeignCode();
|
||||
|
||||
|
||||
|
||||
|
||||
RestoreYapRecords();
|
||||
RestoreEmptyWakeups();
|
||||
|
||||
|
||||
RestoreBlobTypes();
|
||||
RestoreBlobs();
|
||||
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
REINIT_LOCK(Blobs_Lock);
|
||||
#endif
|
||||
|
||||
|
||||
/* This file, rhstruct.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/HEAPFIELDS instead */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#if USE_DL_MALLOC
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
REINIT_LOCK(DLMallocLock);
|
||||
#endif
|
||||
#endif
|
||||
#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
|
||||
#ifndef HeapUsed
|
||||
#define HeapUsed Yap_givemallinfo()
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
REINIT_LOCK(FreeBlocksLock);
|
||||
REINIT_LOCK(HeapUsedLock);
|
||||
REINIT_LOCK(HeapTopLock);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
#if USE_THREADED_CODE
|
||||
OP_RTABLE = OpRTableAdjust(OP_RTABLE);
|
||||
#endif
|
||||
|
||||
EXECUTE_CPRED_OP_CODE = Yap_opcode(_execute_cpred);
|
||||
EXPAND_OP_CODE = Yap_opcode(_expand_index);
|
||||
FAIL_OPCODE = Yap_opcode(_op_fail);
|
||||
INDEX_OPCODE = Yap_opcode(_index_pred);
|
||||
LOCKPRED_OPCODE = Yap_opcode(_lock_pred);
|
||||
ORLAST_OPCODE = Yap_opcode(_or_last);
|
||||
UNDEF_OPCODE = Yap_opcode(_undef_p);
|
||||
RETRY_USERC_OPCODE = Yap_opcode(_retry_userc);
|
||||
EXECUTE_CPRED_OPCODE = Yap_opcode(_execute_cpred);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
RestoreInvisibleAtoms();
|
||||
RestoreWideAtoms();
|
||||
RestoreAtoms();
|
||||
|
||||
#include "ratoms.h"
|
||||
#ifdef EUROTRA
|
||||
TermDollarU = AtomTermAdjust(TermDollarU);
|
||||
#endif
|
||||
|
||||
USER_MODULE = AtomTermAdjust(USER_MODULE);
|
||||
IDB_MODULE = AtomTermAdjust(IDB_MODULE);
|
||||
ATTRIBUTES_MODULE = AtomTermAdjust(ATTRIBUTES_MODULE);
|
||||
CHARSIO_MODULE = AtomTermAdjust(CHARSIO_MODULE);
|
||||
CHTYPE_MODULE = AtomTermAdjust(CHTYPE_MODULE);
|
||||
TERMS_MODULE = AtomTermAdjust(TERMS_MODULE);
|
||||
SYSTEM_MODULE = AtomTermAdjust(SYSTEM_MODULE);
|
||||
READUTIL_MODULE = AtomTermAdjust(READUTIL_MODULE);
|
||||
HACKS_MODULE = AtomTermAdjust(HACKS_MODULE);
|
||||
ARG_MODULE = AtomTermAdjust(ARG_MODULE);
|
||||
GLOBALS_MODULE = AtomTermAdjust(GLOBALS_MODULE);
|
||||
SWI_MODULE = AtomTermAdjust(SWI_MODULE);
|
||||
DBLOAD_MODULE = AtomTermAdjust(DBLOAD_MODULE);
|
||||
RANGE_MODULE = AtomTermAdjust(RANGE_MODULE);
|
||||
ERROR_MODULE = AtomTermAdjust(ERROR_MODULE);
|
||||
|
||||
|
||||
|
||||
CurrentModules = ModEntryPtrAdjust(CurrentModules);
|
||||
|
||||
|
||||
|
||||
|
||||
RestoreHiddenPredicates();
|
||||
|
||||
|
||||
|
||||
|
||||
RestoreFlags(GLOBAL_flagCount);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
RestorePredHash();
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
|
||||
#endif
|
||||
|
||||
CreepCode = PtoPredAdjust(CreepCode);
|
||||
UndefCode = PtoPredAdjust(UndefCode);
|
||||
SpyCode = PtoPredAdjust(SpyCode);
|
||||
PredFail = PtoPredAdjust(PredFail);
|
||||
PredTrue = PtoPredAdjust(PredTrue);
|
||||
#ifdef COROUTINING
|
||||
WakeUpCode = PtoPredAdjust(WakeUpCode);
|
||||
#endif
|
||||
PredDollarCatch = PtoPredAdjust(PredDollarCatch);
|
||||
#ifdef YAPOR
|
||||
PredGetwork = PtoPredAdjust(PredGetwork);
|
||||
#endif /* YAPOR */
|
||||
PredGoalExpansion = PtoPredAdjust(PredGoalExpansion);
|
||||
PredHandleThrow = PtoPredAdjust(PredHandleThrow);
|
||||
PredIs = PtoPredAdjust(PredIs);
|
||||
PredLogUpdClause = PtoPredAdjust(PredLogUpdClause);
|
||||
PredLogUpdClauseErase = PtoPredAdjust(PredLogUpdClauseErase);
|
||||
PredLogUpdClause0 = PtoPredAdjust(PredLogUpdClause0);
|
||||
PredMetaCall = PtoPredAdjust(PredMetaCall);
|
||||
PredProtectStack = PtoPredAdjust(PredProtectStack);
|
||||
PredRecordedWithKey = PtoPredAdjust(PredRecordedWithKey);
|
||||
PredRestoreRegs = PtoPredAdjust(PredRestoreRegs);
|
||||
PredSafeCallCleanup = PtoPredAdjust(PredSafeCallCleanup);
|
||||
PredStaticClause = PtoPredAdjust(PredStaticClause);
|
||||
PredThrow = PtoPredAdjust(PredThrow);
|
||||
PredTraceMetaCall = PtoPredAdjust(PredTraceMetaCall);
|
||||
PredCommentHook = PtoPredAdjust(PredCommentHook);
|
||||
PredProcedure = PtoPredAdjust(PredProcedure);
|
||||
PredUndefinedQuery = PtoPredAdjust(PredUndefinedQuery);
|
||||
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
REINIT_LOCK(Yap_low_level_trace_lock);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DUMMYCODE->opc = Yap_opcode(_op_fail);
|
||||
FAILCODE->opc = Yap_opcode(_op_fail);
|
||||
NOCODE->opc = Yap_opcode(_Nstop);
|
||||
RestoreEnvInst(ENV_FOR_TRUSTFAIL,&TRUSTFAILCODE,_trust_fail,PredFail);
|
||||
|
||||
RestoreEnvInst(ENV_FOR_YESCODE,&YESCODE,_Ystop,PredFail);
|
||||
|
||||
RestoreOtaplInst(RTRYCODE,_retry_and_mark,PredFail);
|
||||
#ifdef BEAM
|
||||
BEAM_RETRY_CODE->opc = Yap_opcode(_beam_retry_code);
|
||||
#endif /* BEAM */
|
||||
#ifdef YAPOR
|
||||
RestoreOtaplInst(GETWORK,_getwork,PredGetwork);
|
||||
RestoreOtaplInst(GETWORK_SEQ,_getwork_seq,PredGetworkSeq);
|
||||
GETWORK_FIRST_TIME->opc = Yap_opcode(_getwork_first_time);
|
||||
#endif /* YAPOR */
|
||||
#ifdef TABLING
|
||||
RestoreOtaplInst(LOAD_ANSWER,_table_load_answer,PredFail);
|
||||
RestoreOtaplInst(TRY_ANSWER,_table_try_answer,PredFail);
|
||||
RestoreOtaplInst(ANSWER_RESOLUTION,_table_answer_resolution,PredFail);
|
||||
RestoreOtaplInst(COMPLETION,_table_completion,PredFail);
|
||||
#ifdef THREADS_CONSUMER_SHARING
|
||||
RestoreOtaplInst(ANSWER_RESOLUTION_COMPLETION,_table_answer_resolution_completion,PredFail);
|
||||
#endif /* THREADS_CONSUMER_SHARING */
|
||||
#endif /* TABLING */
|
||||
|
||||
|
||||
|
||||
|
||||
P_before_spy = PtoOpAdjust(P_before_spy);
|
||||
|
||||
RETRY_C_RECORDEDP_CODE = PtoOpAdjust(RETRY_C_RECORDEDP_CODE);
|
||||
RETRY_C_RECORDED_K_CODE = PtoOpAdjust(RETRY_C_RECORDED_K_CODE);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
REINIT_LOCK(DBTermsListLock);
|
||||
#endif
|
||||
RestoreDBTermsList();
|
||||
|
||||
|
||||
RestoreExpandList();
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
REINIT_LOCK(ExpandClausesListLock);
|
||||
REINIT_LOCK(OpListLock);
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
RestoreUdiControlBlocks();
|
||||
|
||||
|
||||
|
||||
|
||||
RestoreIntKeys();
|
||||
RestoreIntLUKeys();
|
||||
RestoreIntBBKeys();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
RestoreDBErasedMarker();
|
||||
RestoreLogDBErasedMarker();
|
||||
|
||||
RestoreDeadStaticClauses();
|
||||
RestoreDeadMegaClauses();
|
||||
RestoreDeadStaticIndices();
|
||||
RestoreDBErasedList();
|
||||
RestoreDBErasedIList();
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
REINIT_LOCK(DeadStaticClausesLock);
|
||||
REINIT_LOCK(DeadMegaClausesLock);
|
||||
REINIT_LOCK(DeadStaticIndicesLock);
|
||||
#endif
|
||||
#ifdef COROUTINING
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
OpList = OpListAdjust(OpList);
|
||||
|
||||
RestoreForeignCode();
|
||||
|
||||
|
||||
|
||||
|
||||
RestoreYapRecords();
|
||||
RestoreEmptyWakeups();
|
||||
|
||||
|
||||
RestoreBlobTypes();
|
||||
RestoreBlobs();
|
||||
|
||||
|
||||
#if defined(YAPOR) || defined(THREADS)
|
||||
REINIT_LOCK(Blobs_Lock);
|
||||
#endif
|
||||
|
||||
|
@ -1,272 +1,272 @@
|
||||
|
||||
/* This file, rlocals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/LOCALS instead */
|
||||
|
||||
|
||||
static void RestoreWorker(int wid USES_REGS) {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_GlobalArena(wid) = TermToGlobalOrAtomAdjust(REMOTE_GlobalArena(wid));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef COROUTINING
|
||||
REMOTE_WokenGoals(wid) = TermToGlobalAdjust(REMOTE_WokenGoals(wid));
|
||||
REMOTE_AttsMutableList(wid) = TermToGlobalAdjust(REMOTE_AttsMutableList(wid));
|
||||
#endif
|
||||
|
||||
REMOTE_GcGeneration(wid) = TermToGlobalAdjust(REMOTE_GcGeneration(wid));
|
||||
REMOTE_GcPhase(wid) = TermToGlobalAdjust(REMOTE_GcPhase(wid));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(GC_NO_TAGS)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_DynamicArrays(wid) = PtoArrayEAdjust(REMOTE_DynamicArrays(wid));
|
||||
REMOTE_StaticArrays(wid) = PtoArraySAdjust(REMOTE_StaticArrays(wid));
|
||||
REMOTE_GlobalVariables(wid) = PtoGlobalEAdjust(REMOTE_GlobalVariables(wid));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef THREADS
|
||||
|
||||
#endif /* THREADS */
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
|
||||
|
||||
#endif /* YAPOR || TABLING */
|
||||
|
||||
|
||||
#if LOW_LEVEL_TRACER
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef ANALYST
|
||||
|
||||
|
||||
#endif /* ANALYST */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef LOAD_DYLD
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/* This file, rlocals.h, was generated automatically by "yap -L misc/buildlocalglobal"
|
||||
please do not update, update H/LOCALS instead */
|
||||
|
||||
|
||||
static void RestoreWorker(int wid USES_REGS) {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_GlobalArena(wid) = TermToGlobalOrAtomAdjust(REMOTE_GlobalArena(wid));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef COROUTINING
|
||||
REMOTE_WokenGoals(wid) = TermToGlobalAdjust(REMOTE_WokenGoals(wid));
|
||||
REMOTE_AttsMutableList(wid) = TermToGlobalAdjust(REMOTE_AttsMutableList(wid));
|
||||
#endif
|
||||
|
||||
REMOTE_GcGeneration(wid) = TermToGlobalAdjust(REMOTE_GcGeneration(wid));
|
||||
REMOTE_GcPhase(wid) = TermToGlobalAdjust(REMOTE_GcPhase(wid));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(GC_NO_TAGS)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
REMOTE_DynamicArrays(wid) = PtoArrayEAdjust(REMOTE_DynamicArrays(wid));
|
||||
REMOTE_StaticArrays(wid) = PtoArraySAdjust(REMOTE_StaticArrays(wid));
|
||||
REMOTE_GlobalVariables(wid) = PtoGlobalEAdjust(REMOTE_GlobalVariables(wid));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef THREADS
|
||||
|
||||
#endif /* THREADS */
|
||||
#if defined(YAPOR) || defined(TABLING)
|
||||
|
||||
|
||||
#endif /* YAPOR || TABLING */
|
||||
|
||||
|
||||
#if LOW_LEVEL_TRACER
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef ANALYST
|
||||
|
||||
|
||||
#endif /* ANALYST */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef LOAD_DYLD
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef LOW_LEVEL_TRACER
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,16 @@
|
||||
set (Python_ADDITIONAL_VERSIONS 3.7 3.6 3.5 3.6 3.4 )
|
||||
|
||||
set (PythonInterp_FIND_VERSION 3)
|
||||
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)
|
||||
|
||||
|
||||
@ -29,6 +39,7 @@ ENDIF()
|
||||
|
||||
if (PYTHONLIBS_FOUND AND SWIG_FOUND)
|
||||
add_subdirectory(packages/python/swig)
|
||||
|
||||
include(FindPythonModule)
|
||||
|
||||
find_python_module( jupyter )
|
||||
|
@ -2052,24 +2052,5 @@ calls it, or to nothing if 'inline' is not supported under any name. */
|
||||
#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
|
||||
|
||||
|
@ -81,7 +81,7 @@ typedef struct vfs {
|
||||
/// in this space, usual w,r,a,b flags plus B (store in a buffer)
|
||||
bool (*close)(int sno); /// close the object
|
||||
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
|
||||
int64_t (*seek)(int sno, int64_t offset,
|
||||
int whence); /// jump around the stream
|
||||
|
@ -18,6 +18,36 @@
|
||||
|
||||
#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 <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -22,6 +22,7 @@
|
||||
* @addtogroup swi-c-interface
|
||||
*
|
||||
*/
|
||||
#define _EXPORT_KERNEL 1
|
||||
|
||||
#include <Yap.h>
|
||||
#include <Yatom.h>
|
||||
@ -44,7 +45,7 @@
|
||||
static PL_blob_t unregistered_blob_atom = {
|
||||
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
|
||||
Term yt = Yap_GetFromSlot(t);
|
||||
Atom a;
|
||||
|
@ -20,6 +20,7 @@ Moyle. All rights reserved.
|
||||
*/
|
||||
|
||||
#define PL_KERNEL 1
|
||||
#define _EXPORT_KERNEL 1
|
||||
|
||||
//=== includes ===============================================================
|
||||
#include <assert.h>
|
||||
|
@ -1858,8 +1858,8 @@ void Yap_InitPlIO(struct yap_boot_params *argi) {
|
||||
Yap_stdout = fdopen(argi->out-1, "a");
|
||||
else if (argi->out)
|
||||
Yap_stdout = NULL;
|
||||
else
|
||||
Yap_stdout = stdout;
|
||||
else
|
||||
Yap_stdout = stdout;
|
||||
if (argi->err >0 )
|
||||
Yap_stderr = fdopen(argi->err-1, "a");
|
||||
else if (argi->out)
|
||||
|
@ -7,7 +7,10 @@ set (PYTHON_HEADERS python.h)
|
||||
|
||||
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.
|
||||
set_property(TARGET YAPPython PROPERTY CXX_STANDARD 11)
|
||||
|
@ -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,
|
||||
term_t py) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
|
||||
#include "python.h"
|
||||
#include "py4yap.h"
|
||||
|
||||
extern PyObject *py_Local, *py_Global;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
#include "python.h"
|
||||
#include "py4yap.h"
|
||||
|
||||
static foreign_t repr_term(PyObject *pVal, term_t t) {
|
||||
term_t to = PL_new_term_ref(), t1 = PL_new_term_ref();
|
||||
|
@ -23,6 +23,12 @@
|
||||
#define EXTRA_MESSSAGES 1
|
||||
|
||||
#ifndef PYTHON_H
|
||||
|
||||
#define X_API
|
||||
#define I_API
|
||||
#define O_API
|
||||
|
||||
|
||||
#define PYTHON_H 1
|
||||
|
||||
PyObject *find_obj(PyObject *ob, term_t lhs, bool eval);
|
@ -1,4 +1,4 @@
|
||||
#include "python.h"
|
||||
#include "py4yap.h"
|
||||
|
||||
/**
|
||||
*
|
||||
@ -700,6 +700,7 @@ static PyObject *structseq_repr(PyObject *iobj) {
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
PyObject *term_to_nametuple(const char *s, arity_t arity, PyObject *tuple) {
|
||||
PyObject *o;
|
||||
#if PY_MAJOR_VERSION >= 3
|
||||
@ -722,7 +723,7 @@ PyObject *term_to_nametuple(const char *s, arity_t arity, PyObject *tuple) {
|
||||
return NULL;
|
||||
typp->tp_flags &= ~Py_TPFLAGS_HEAPTYPE;
|
||||
// typp->tp_str = structseq_str;
|
||||
// typp->tp_repr = structseq_repr;
|
||||
typp->tp_repr = structseq_repr;
|
||||
// typp = PyStructSequence_NewType(desc);
|
||||
// don't do this: we cannot add a type as an atribute.
|
||||
//PyModule_AddObject(py_Main, s, (PyObject *)typp);
|
||||
|
27
packages/python/pyload.c
Normal file
27
packages/python/pyload.c
Normal 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
|
@ -1,5 +1,5 @@
|
||||
|
||||
#include "python.h"
|
||||
#include "py4yap.h"
|
||||
|
||||
PyObject *py_Main;
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
|
||||
#include "python.h"
|
||||
#include <YapStreams.h>
|
||||
#include "py4yap.h"
|
||||
#include <VFS.h>
|
||||
|
||||
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;
|
||||
|
||||
}
|
||||
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
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
# This is a CMake example for Python
|
||||
|
||||
INCLUDE(NewUseSWIG)
|
||||
#INCLUDE(NewUseSWIG)
|
||||
|
||||
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(../../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
|
||||
# s used in MSYS
|
||||
@ -65,9 +49,12 @@ endif()
|
||||
|
||||
set (PL ${pl_library} ${PROLOG_SOURCES} )
|
||||
|
||||
add_custom_target( YAP4PY_SETUP
|
||||
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
|
||||
add_custom_target( YAP4PY_SETUP
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/yap.py
|
||||
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 copy ${PL} ${CMAKE_CURRENT_BINARY_DIR}/yap4py/prolog
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/yap4py/prolog/pl
|
||||
|
@ -1,3 +0,0 @@
|
||||
|
||||
// make Python happy...
|
||||
|
@ -6,7 +6,7 @@
|
||||
from __future__ import print_function
|
||||
|
||||
from setuptools import setup
|
||||
from setuptools.extension import Extension
|
||||
from setuptools.extension import Extension
|
||||
from codecs import open
|
||||
from os import path, makedirs, walk
|
||||
from shutil import copytree, rmtree, copy2, move
|
||||
@ -18,23 +18,23 @@ import os.path
|
||||
# the name of the package
|
||||
name = 'YAP4PY'
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# -----------------------------------------------------------------------------
|
||||
# Minimal Python version sanity check
|
||||
#-----------------------------------------------------------------------------
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
import sys
|
||||
|
||||
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
|
||||
print(error, file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
PY3 = (sys.version_info[0] >= 3)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# -----------------------------------------------------------------------------
|
||||
# get on with it
|
||||
#-----------------------------------------------------------------------------
|
||||
# -----------------------------------------------------------------------------
|
||||
from codecs import open
|
||||
from os import path, makedirs, walk
|
||||
from shutil import copytree, rmtree, copy2, move
|
||||
@ -53,85 +53,86 @@ pkg_root = pjoin(here, name)
|
||||
|
||||
my_extra_link_args = []
|
||||
if platform.system() == 'Darwin':
|
||||
my_extra_link_args = ['-Wl,-rpath','-Wl,${_ABS_PYTHON_MODULE_PATH}']
|
||||
so = 'dylib'
|
||||
#or dll in glob('yap/dlls/*'):
|
||||
my_extra_link_args = ['-Wl,-rpath', '-Wl,${_ABS_PYTHON_MODULE_PATH}']
|
||||
# or dll in glob('yap/dlls/*'):
|
||||
# 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']
|
||||
|
||||
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
|
||||
native_sources = ['yap.i']
|
||||
here = path.abspath(path.dirname(__file__))
|
||||
|
||||
# Get the long description from the README file
|
||||
|
||||
extensions=[Extension('_yap', native_sources,
|
||||
define_macros = [('MAJOR_VERSION', '1'),
|
||||
extensions = [Extension('_yap', native_sources,
|
||||
define_macros=[('MAJOR_VERSION', '1'),
|
||||
('MINOR_VERSION', '0'),
|
||||
('_YAP_NOT_INSTALLED_', '1'),
|
||||
('_GNU_SOURCE', '1'),
|
||||
('YAP_PYTHON', '1')],
|
||||
runtime_library_dirs=['yap4py','${libdir}','${bindir}'],
|
||||
swig_opts=['-modern', '-c++', '-py3','-I${RELATIVE_SOURCE}/CXX'],
|
||||
library_dirs=['../../..','../../../CXX','../../packages/python',"${dlls}","${bindir}", '.'],
|
||||
extra_link_args=my_extra_link_args,
|
||||
extra_compile_args=['-std=c++11','-g3','-O0'],
|
||||
libraries=['Yap','${GMP_LIBRARIES}'],
|
||||
include_dirs=['../../..',
|
||||
'${GMP_INCLUDE_DIRS}',
|
||||
'${RELATIVE_SOURCE}H',
|
||||
'${RELATIVE_SOURCE}H/generated',
|
||||
'${RELATIVE_SOURCE}OPTYap',
|
||||
'${RELATIVE_SOURCE}os',
|
||||
'${RELATIVE_SOURCE}include',
|
||||
'${RELATIVE_SOURCE}CXX', '.']
|
||||
)]
|
||||
runtime_library_dirs=['yap4py', '${libdir}', '${bindir}'],
|
||||
swig_opts=['-modern', '-c++', '-py3', '-I${CMAKE_SOURCE_DIR}/CXX', '-I${CMAKE_SOURCE_DIR}/include',
|
||||
'-I${CMAKE_SOURCE_DIR}/H', '-I${CMAKE_SOURCE_DIR}/H/generated',
|
||||
'-I${CMAKE_SOURCE_DIR}/os', '-I${CMAKE_SOURCE_DIR}/OPTYap', '-I../../..'],
|
||||
library_dirs=['../../..', '../../../CXX', '../../packages/python', "${dlls}", "${bindir}", '.'],
|
||||
extra_link_args=my_extra_link_args,
|
||||
libraries=['Yap', '${GMP_LIBRARIES}'],
|
||||
include_dirs=['../../..',
|
||||
'${GMP_INCLUDE_DIRS}',
|
||||
'${CMAKE_SOURCE_DIR}/H',
|
||||
'${CMAKE_SOURCE_DIR}/H/generated',
|
||||
'${CMAKE_SOURCE_DIR}/OPTYap',
|
||||
'${CMAKE_SOURCE_DIR}/os',
|
||||
'${CMAKE_SOURCE_DIR}/include',
|
||||
'${CMAKE_SOURCE_DIR}/CXX', '.']
|
||||
)]
|
||||
|
||||
packages = ['yap4py']
|
||||
|
||||
|
||||
def visit(d0, pls):
|
||||
for (r,ds,fs) in walk('.'):
|
||||
for (r, ds, fs) in walk('.'):
|
||||
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'):
|
||||
pls += [os.path.join(r, f)]
|
||||
for i in ds:
|
||||
pls = visit(os.path.join(d0, i), pls)
|
||||
return pls
|
||||
|
||||
|
||||
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(
|
||||
name = name,
|
||||
version = version_ns['__version__'],
|
||||
scripts = glob(pjoin('scripts', '*')),
|
||||
packages = packages,
|
||||
py_modules = ['yap'],
|
||||
package_data = package_data,
|
||||
include_package_data = True,
|
||||
description = "YAP in Python",
|
||||
author = 'YAP Development Team',
|
||||
author_email = 'ipython-dev@scipy.org',
|
||||
url = 'http://ipython.org',
|
||||
license = 'BSD',
|
||||
ext_modules = extensions,
|
||||
platforms = "Linux, Mac OS X, Windows",
|
||||
keywords = ['Interactive', 'Interpreter', 'Shell', 'Web'],
|
||||
classifiers = [
|
||||
name=name,
|
||||
version=version_ns['__version__'],
|
||||
scripts=glob(pjoin('scripts', '*')),
|
||||
packages=packages,
|
||||
py_modules=['yap'],
|
||||
package_data=package_data,
|
||||
include_package_data=True,
|
||||
description="YAP in Python",
|
||||
author='YAP Development Team',
|
||||
author_email='ipython-dev@scipy.org',
|
||||
url='http://ipython.org',
|
||||
license='BSD',
|
||||
ext_modules=extensions,
|
||||
platforms="Linux, Mac OS X, Windows",
|
||||
keywords=['Interactive', 'Interpreter', 'Shell', 'Web'],
|
||||
classifiers=[
|
||||
'Intended Audience :: Developers',
|
||||
'Intended Audience :: System Administrators',
|
||||
'Intended Audience :: Science/Research',
|
||||
|
@ -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
|
@ -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
|
@ -1 +0,0 @@
|
||||
|
@ -1 +0,0 @@
|
||||
yapex
|
Reference in New Issue
Block a user