304 lines
6.0 KiB
C
304 lines
6.0 KiB
C
|
|
||
|
/* This file, hstruct.h, was generated automatically by "yap -L misc/buildheap"
|
||
|
please do not update, update misc/HEAPFIELDS instead */
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
typedef struct worker_local {
|
||
|
|
||
|
UInt Yap_HoleSize;
|
||
|
struct malloc_state *Yap_av;
|
||
|
#if USE_DL_MALLOC
|
||
|
struct Yap_MemoryHoles[MAX_DLMALLOC_HOLES] void;
|
||
|
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;
|
||
|
|
||
|
|
||
|
#if USE_THREADED_CODE
|
||
|
op_entry *OP_RTABLE;
|
||
|
#endif
|
||
|
|
||
|
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;
|
||
|
|
||
|
UInt NOfAtoms;
|
||
|
UInt AtomHashTableSize;
|
||
|
UInt WideAtomHashTableSize;
|
||
|
UInt NOfWideAtoms;
|
||
|
AtomHashEntry INVISIBLECHAIN;
|
||
|
AtomHashEntry *WideHashChain;
|
||
|
AtomHashEntry *HashChain;
|
||
|
|
||
|
#include "tatoms.h"
|
||
|
#ifdef EUROTRA
|
||
|
Term TermDollarU;
|
||
|
#endif
|
||
|
|
||
|
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;
|
||
|
|
||
|
|
||
|
|
||
|
struct mod_entry *CurrentModules;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
Prop HIDDEN_PREDICATES;
|
||
|
|
||
|
|
||
|
|
||
|
union flagTerm* GLOBAL_Flags;
|
||
|
UInt GLOBAL_flagCount;
|
||
|
|
||
|
yap_exec_mode Yap_ExecutionMode;
|
||
|
|
||
|
UInt PredsInHashTable;
|
||
|
uint64_t PredHashTableSize;
|
||
|
struct pred_entry **PredHash;
|
||
|
#if defined(YAPOR) || defined(THREADS)
|
||
|
rwlock_t PredHashRWLock;
|
||
|
#endif
|
||
|
|
||
|
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 *PredGoalExpansion;
|
||
|
struct pred_entry *PredMetaCall;
|
||
|
struct pred_entry *PredTraceMetaCall;
|
||
|
struct pred_entry *PredDollarCatch;
|
||
|
struct pred_entry *PredRecordedWithKey;
|
||
|
struct pred_entry *PredLogUpdClause;
|
||
|
struct pred_entry *PredLogUpdClauseErase;
|
||
|
struct pred_entry *PredLogUpdClause0;
|
||
|
struct pred_entry *PredStaticClause;
|
||
|
struct pred_entry *PredThrow;
|
||
|
struct pred_entry *PredHandleThrow;
|
||
|
struct pred_entry *PredIs;
|
||
|
struct pred_entry *PredSafeCallCleanup;
|
||
|
struct pred_entry *PredRestoreRegs;
|
||
|
struct pred_entry *PredCommentHook;
|
||
|
#ifdef YAPOR
|
||
|
struct pred_entry *PredGetwork;
|
||
|
#endif /* YAPOR */
|
||
|
struct pred_entry *PredProcedure;
|
||
|
|
||
|
#ifdef LOW_LEVEL_TRACER
|
||
|
int Yap_do_low_level_trace;
|
||
|
#if defined(YAPOR) || defined(THREADS)
|
||
|
lockvar Yap_low_level_trace_lock;
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
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;
|
||
|
|
||
|
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 */
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
yamop *P_before_spy;
|
||
|
|
||
|
yamop *RETRY_C_RECORDEDP_CODE;
|
||
|
yamop *RETRY_C_RECORDED_K_CODE;
|
||
|
|
||
|
int PROFILING;
|
||
|
int CALL_COUNTING;
|
||
|
int optimizer_on;
|
||
|
int compile_mode;
|
||
|
int profiling;
|
||
|
int call_counting;
|
||
|
|
||
|
int compile_arrays;
|
||
|
|
||
|
#if defined(YAPOR) || defined(THREADS)
|
||
|
lockvar DBTermsListLock;
|
||
|
#endif
|
||
|
struct dbterm_list *DBTermsList;
|
||
|
|
||
|
yamop *ExpandClausesFirst;
|
||
|
yamop *ExpandClausesLast;
|
||
|
UInt Yap_ExpandClauses;
|
||
|
#if defined(YAPOR) || defined(THREADS)
|
||
|
lockvar ExpandClausesListLock;
|
||
|
lockvar OpListLock;
|
||
|
#endif
|
||
|
|
||
|
#ifdef DEBUG
|
||
|
UInt Yap_NewCps;
|
||
|
UInt Yap_LiveCps;
|
||
|
UInt Yap_DirtyCps;
|
||
|
UInt Yap_FreedCps;
|
||
|
#endif
|
||
|
UInt Yap_expand_clauses_sz;
|
||
|
|
||
|
struct udi_info *UdiControlBlocks;
|
||
|
|
||
|
|
||
|
Int STATIC_PREDICATES_MARKED;
|
||
|
|
||
|
Prop *INT_KEYS;
|
||
|
Prop *INT_LU_KEYS;
|
||
|
Prop *INT_BB_KEYS;
|
||
|
|
||
|
UInt INT_KEYS_SIZE;
|
||
|
UInt INT_KEYS_TIMESTAMP;
|
||
|
UInt INT_BB_KEYS_SIZE;
|
||
|
|
||
|
int UPDATE_MODE;
|
||
|
|
||
|
struct DB_STRUCT *DBErasedMarker;
|
||
|
struct logic_upd_clause *LogDBErasedMarker;
|
||
|
|
||
|
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
|
||
|
|
||
|
int NUM_OF_ATTS;
|
||
|
|
||
|
UInt Yap_AttsSize;
|
||
|
#endif
|
||
|
|
||
|
struct operator_entry *OpList;
|
||
|
|
||
|
struct ForeignLoadItem *ForeignCodeLoaded;
|
||
|
ADDR ForeignCodeBase;
|
||
|
ADDR ForeignCodeTop;
|
||
|
ADDR ForeignCodeMax;
|
||
|
|
||
|
struct record_list *Yap_Records;
|
||
|
|
||
|
Atom *SWI_Atoms;
|
||
|
Functor *SWI_Functors;
|
||
|
swi_rev_hash SWI_ReverseHash[N_SWI_HASH];
|
||
|
|
||
|
Int AtomTranslations;
|
||
|
Int MaxAtomTranslations;
|
||
|
|
||
|
Int FunctorTranslations;
|
||
|
Int MaxFunctorTranslations;
|
||
|
Atom EmptyWakeups[MAX_EMPTY_WAKEUPS];
|
||
|
int MaxEmptyWakeups;
|
||
|
|
||
|
struct YAP_blob_t *BlobTypes;
|
||
|
struct AtomEntryStruct *Blobs;
|
||
|
UInt NOfBlobs;
|
||
|
UInt NOfBlobsMax;
|
||
|
#if defined(YAPOR) || defined(THREADS)
|
||
|
lockvar Blobs_Lock;
|
||
|
#endif
|
||
|
} w_local;
|