33EXTERNAL UInt Yap_HoleSize;
35EXTERNAL
struct malloc_state *Yap_av;
36EXTERNAL
struct memory_hole Yap_MemoryHoles[MAX_DLMALLOC_HOLES];
37EXTERNAL UInt Yap_NOfMemoryHoles;
38#if defined(YAPOR) || defined(THREADS)
39EXTERNAL lockvar DLMallocLock;
42#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
44#define HeapUsed Yap_givemallinfo()
46EXTERNAL Int NotHeapUsed;
53EXTERNAL
struct FREEB *FreeBlocks;
54#if defined(YAPOR) || defined(THREADS)
55EXTERNAL lockvar FreeBlocksLock;
56EXTERNAL lockvar HeapUsedLock;
57EXTERNAL lockvar HeapTopLock;
58EXTERNAL
int HeapTopOwner;
60EXTERNAL UInt MaxStack;
61EXTERNAL UInt MaxTrail;
65EXTERNAL
struct opcode_optab_entry *OP_RTABLE;
68EXTERNAL OPCODE EITHER_OPCODE;
69EXTERNAL OPCODE EXECUTE_CPRED_OPCODE;
70EXTERNAL OPCODE EXECUTE_CPRED_OP_CODE;
71EXTERNAL OPCODE EXPAND_OP_CODE;
72EXTERNAL OPCODE FAIL_OPCODE;
73EXTERNAL OPCODE INDEX_OPCODE;
74EXTERNAL OPCODE LOCKPRED_OPCODE;
75EXTERNAL OPCODE ORLAST_OPCODE;
76EXTERNAL OPCODE UNDEF_OPCODE;
77EXTERNAL OPCODE RETRY_USERC_OPCODE;
78EXTERNAL OPCODE EXECUTE_CPRED_OPCODE;
79EXTERNAL OPCODE FCALL_OPCODE;
81EXTERNAL UInt NOfAtoms;
82EXTERNAL UInt AtomHashTableSize;
83EXTERNAL UInt WideAtomHashTableSize;
84EXTERNAL UInt NOfWideAtoms;
91EXTERNAL Term TermDollarU;
94EXTERNAL Term USER_MODULE;
95EXTERNAL Term IDB_MODULE;
96EXTERNAL Term ATTRIBUTES_MODULE;
97EXTERNAL Term CHARSIO_MODULE;
98EXTERNAL Term CHTYPE_MODULE;
99EXTERNAL Term TERMS_MODULE;
100EXTERNAL Term SYSTEM_MODULE;
101EXTERNAL Term READUTIL_MODULE;
102EXTERNAL Term HACKS_MODULE;
103EXTERNAL Term ARG_MODULE;
104EXTERNAL Term GLOBALS_MODULE;
105EXTERNAL Term SWI_MODULE;
106EXTERNAL Term DBLOAD_MODULE;
107EXTERNAL Term RANGE_MODULE;
108EXTERNAL Term ERROR_MODULE;
112EXTERNAL
struct mod_entry *CurrentModules;
117EXTERNAL
Prop HIDDEN_PREDICATES;
121EXTERNAL
union flagTerm* GLOBAL_Flags;
122EXTERNAL UInt GLOBAL_flagCount;
124EXTERNAL yap_exec_mode Yap_ExecutionMode;
126EXTERNAL UInt PredsInHashTable;
127EXTERNAL uint64_t PredHashTableSize;
129#if defined(YAPOR) || defined(THREADS)
152EXTERNAL
struct pred_entry *PredLogUpdClauseErase;
158EXTERNAL
struct pred_entry *PredRecordedWithKey;
160EXTERNAL
struct pred_entry *PredSafeCallCleanup;
166EXTERNAL
struct pred_entry *PredUndefinedQuery;
170#ifdef LOW_LEVEL_TRACER
171EXTERNAL
int Yap_do_low_level_trace;
172#if defined(YAPOR) || defined(THREADS)
173EXTERNAL lockvar Yap_low_level_trace_lock;
177EXTERNAL UInt Yap_ClauseSpace;
178EXTERNAL UInt Yap_IndexSpace_Tree;
179EXTERNAL UInt Yap_IndexSpace_EXT;
180EXTERNAL UInt Yap_IndexSpace_SW;
181EXTERNAL UInt Yap_LUClauseSpace;
182EXTERNAL UInt Yap_LUIndexSpace_Tree;
183EXTERNAL UInt Yap_LUIndexSpace_CP;
184EXTERNAL UInt Yap_LUIndexSpace_EXT;
185EXTERNAL UInt Yap_LUIndexSpace_SW;
187EXTERNAL
yamop COMMA_CODE[5];
188EXTERNAL
yamop DUMMYCODE[1];
189EXTERNAL
yamop FAILCODE[1];
190EXTERNAL
yamop NOCODE[1];
191EXTERNAL
yamop EXITCODE[1];
192EXTERNAL
yamop ENV_FOR_TRUSTFAIL[2];
193EXTERNAL
yamop *TRUSTFAILCODE;
194EXTERNAL
yamop ENV_FOR_YESCODE[2];
195EXTERNAL
yamop *YESCODE;
196EXTERNAL
yamop RTRYCODE[1];
198EXTERNAL
yamop BEAM_RETRY_CODE[1];
201EXTERNAL
yamop GETWORK[1];
202EXTERNAL
yamop GETWORK_SEQ[1];
203EXTERNAL
yamop GETWORK_FIRST_TIME[1];
206EXTERNAL
yamop LOAD_ANSWER[1];
207EXTERNAL
yamop TRY_ANSWER[1];
208EXTERNAL
yamop ANSWER_RESOLUTION[1];
209EXTERNAL
yamop COMPLETION[1];
210#ifdef THREADS_CONSUMER_SHARING
211EXTERNAL
yamop ANSWER_RESOLUTION_COMPLETION[1];
218EXTERNAL
yamop *P_before_spy;
220EXTERNAL
yamop *RETRY_C_RECORDEDP_CODE;
221EXTERNAL
yamop *RETRY_C_RECORDED_K_CODE;
223EXTERNAL
int PROFILING;
224EXTERNAL
int CALL_COUNTING;
225EXTERNAL
int optimizer_on;
226EXTERNAL
int compile_mode;
230EXTERNAL
int compile_arrays;
232#if defined(YAPOR) || defined(THREADS)
233EXTERNAL lockvar DBTermsListLock;
237EXTERNAL
yamop *ExpandClausesFirst;
238EXTERNAL
yamop *ExpandClausesLast;
239EXTERNAL UInt Yap_ExpandClauses;
240#if defined(YAPOR) || defined(THREADS)
241EXTERNAL lockvar ExpandClausesListLock;
242EXTERNAL lockvar OpListLock;
246EXTERNAL UInt Yap_NewCps;
247EXTERNAL UInt Yap_LiveCps;
248EXTERNAL UInt Yap_DirtyCps;
249EXTERNAL UInt Yap_FreedCps;
251EXTERNAL UInt Yap_expand_clauses_sz;
253EXTERNAL
struct udi_info *UdiControlBlocks;
256EXTERNAL Int STATIC_PREDICATES_MARKED;
258EXTERNAL
Prop *INT_KEYS;
259EXTERNAL
Prop *INT_LU_KEYS;
260EXTERNAL
Prop *INT_BB_KEYS;
262EXTERNAL UInt INT_KEYS_SIZE;
263EXTERNAL UInt INT_KEYS_TIMESTAMP;
264EXTERNAL UInt INT_BB_KEYS_SIZE;
266EXTERNAL
int UPDATE_MODE;
268EXTERNAL
struct DB_STRUCT *DBErasedMarker;
276#if defined(YAPOR) || defined(THREADS)
277EXTERNAL lockvar DeadStaticClausesLock;
278EXTERNAL lockvar DeadMegaClausesLock;
279EXTERNAL lockvar DeadStaticIndicesLock;
283EXTERNAL
int NUM_OF_ATTS;
285EXTERNAL UInt Yap_AttsSize;
288EXTERNAL UInt setup_call_catcher_cleanup_tag;
293EXTERNAL ADDR ForeignCodeBase;
294EXTERNAL ADDR ForeignCodeTop;
295EXTERNAL ADDR ForeignCodeMax;
298EXTERNAL
Atom EmptyWakeups[MAX_EMPTY_WAKEUPS];
299EXTERNAL
int MaxEmptyWakeups;
303EXTERNAL UInt NOfBlobs;
304EXTERNAL UInt NOfBlobsMax;
305#if defined(YAPOR) || defined(THREADS)
306EXTERNAL lockvar Blobs_Lock;
@ call_counting
Predicates compiled with this flag set maintain a counter on the numbers of proceduree calls and of r...
Module property: low-level data used to manage modes.
a flag is represented as a Prolog term