38HSPACE(
struct malloc_state *, Yap_av)
41HSPACE(
struct memory_hole, Yap_MemoryHoles)
42HSPACE(UInt, Yap_NOfMemoryHoles)
43#if defined(YAPOR) || defined(THREADS)
44HMLOCK(lockvar, DLMallocLock)
47#if USE_DL_MALLOC || (USE_SYSTEM_MALLOC && HAVE_MALLINFO)
49#define HeapUsed Yap_givemallinfo()
51HSPACE(Int, NotHeapUsed)
58HSPACE(
struct FREEB *, FreeBlocks)
59#if defined(YAPOR) || defined(THREADS)
60HMLOCK(lockvar, FreeBlocksLock)
61HMLOCK(lockvar, HeapUsedLock)
62HMLOCK(lockvar, HeapTopLock)
63HI(
int, HeapTopOwner, -1)
71HM(op_entry, OP_RTABLE, NULL, OpRTableAdjust)
75HMOPCODE(EXECUTE_CPRED_OP_CODE, _execute_cpred)
76HMOPCODE(EXPAND_OP_CODE, _expand_index)
77HMOPCODE(FAIL_OPCODE, _op_fail)
78HMOPCODE(INDEX_OPCODE, _index_pred)
79HMOPCODE(LOCKPRED_OPCODE, _lock_pred)
80HMOPCODE(ORLAST_OPCODE, _or_last)
81HMOPCODE(UNDEF_OPCODE, _undef_p)
82HMOPCODE(RETRY_USERC_OPCODE, _retry_userc)
83HMOPCODE(EXECUTE_CPRED_OPCODE, _execute_cpred)
87HSPACE(UInt, AtomHashTableSize)
88HSPACE(UInt, WideAtomHashTableSize)
89HSPACE(UInt, NOfWideAtoms)
91 RestoreInvisibleAtoms())
92HPROC(
AtomHashEntry *, WideHashChain, InitWideAtoms(), RestoreWideAtoms())
101HATOMT(TermDollarU, AtomDollarU)
105HATOMT(USER_MODULE, AtomUser)
106HATOMT(IDB_MODULE, AtomIDB)
107HATOMT(ATTRIBUTES_MODULE, AtomAttributes)
108HATOMT(CHARSIO_MODULE, AtomCharsio)
109HATOMT(CHTYPE_MODULE, AtomChType)
110HATOMT(TERMS_MODULE, AtomTerms)
111HATOMT(SYSTEM_MODULE, AtomSystem)
112HATOMT(READUTIL_MODULE, AtomReadutil)
113HATOMT(HACKS_MODULE, AtomYapHacks)
114HATOMT(ARG_MODULE, AtomArg)
115HATOMT(GLOBALS_MODULE, AtomNb)
116HATOMT(SWI_MODULE, AtomSwi)
117HATOMT(DBLOAD_MODULE, AtomDBLoad)
118HATOMT(RANGE_MODULE, AtomRange)
119HATOMT(ERROR_MODULE, AtomError)
124HM(
struct mod_entry *, CurrentModules, NULL, ModEntryPtrAdjust)
133HM(
Prop, HIDDEN_PREDICATES, NULL, RestoreHiddenPredicates())
142HM(UInt, GLOBAL_flagCount,
Yap_InitFlags(
true), RestoreFlags(GLOBAL_flagCount))
145HM(prolo_exec_mode, Yap_ExecutionMode, INTERPRETED, rv_void)
147HPROC(
struct pred_entry **, PredHash, InitPredHash(), RestorePredHash())
148#if defined(YAPOR) || defined(THREADS)
151HSPACE(UInt, PredsInHashTable)
152HSPACE(UInt, PredHashTableSize)
155HAROP(CreepCode, AtomCreep, 1, PROLOG_MODULE)
156HAROP(UndefCode, AtomUndefp, 2, PROLOG_MODULE)
157HAROP(SpyCode, AtomSpy, 1, PROLOG_MODULE)
158HAROP(PredFail, AtomFail, 0, PROLOG_MODULE)
159HAROP(PredTrue, AtomTrue, 0, PROLOG_MODULE)
161HAROP(WakeUpCode, AtomWakeUpGoal, 2, PROLOG_MODULE)
163HFOP(PredGoalExpansion, FunctorGoalExpansion, USER_MODULE)
164HFOP(PredMetaCall, FunctorMetaCall, PROLOG_MODULE)
165HFOP(PredTraceMetaCall, FunctorTraceMetaCall, PROLOG_MODULE)
166HFOP(PredDollarCatch, FunctorCatch, PROLOG_MODULE)
167HFOP(PredRecordedWithKey, FunctorRecordedWithKey, PROLOG_MODULE)
168HFOP(PredLogUpdClause, FunctorDoLogUpdClause, PROLOG_MODULE)
169HFOP(PredLogUpdClauseErase, FunctorDoLogUpdClauseErase, PROLOG_MODULE)
170HFOP(PredLogUpdClause0, FunctorDoLogUpdClause, PROLOG_MODULE)
171HFOP(PredStaticClause, FunctorDoStaticClause, PROLOG_MODULE)
172HFOP(PredThrow, FunctorThrow, PROLOG_MODULE)
173HFOP(PredHandleThrow, FunctorHandleThrow, PROLOG_MODULE)
174HFOP(PredIs, FunctorIs, PROLOG_MODULE)
175HFOP(PredSafeCallCleanup, FunctorSafeCallCleanup, PROLOG_MODULE)
176HFOP(PredRestoreRegs, FunctorRestoreRegs, PROLOG_MODULE)
177HFOP(PredCommentHook, FunctorCommentHook, PROLOG_MODULE)
179HAROP(PredGetwork, AtomGetwork, 0, PROLOG_MODULE)
180HFOP(PredProcedure, MkLogPred, FunctorProcedure, PROLOG_MODULE)
184#ifdef LOW_LEVEL_TRACER
185HSPACE(
bool, Yap_do_low_level_trace)
186#if defined(YAPOR) || defined(THREADS)
187HMLOCK(Yap_low_level_trace_lock)
192HI(UInt, Yap_ClauseSpace, 0)
193HI(UInt, Yap_IndexSpace_Tree, 0)
194HI(UInt, Yap_IndexSpace_EXT, 0)
195HI(UInt, Yap_IndexSpace_SW, 0)
196HI(UInt, Yap_LUClauseSpace, 0)
197HI(UInt, Yap_LUIndexSpace_Tree, 0)
198HI(UInt, Yap_LUIndexSpace_CP, 0)
199HI(UInt, Yap_LUIndexSpace_EXT, 0)
200HI(UInt, Yap_LUIndexSpace_SW, 0)
204HYOP(5, COMMA_CODE, _op_fail)
205HYOP(1, DUMMYCODE, _op_fail)
206HYOP(1, FAILCODE, _op_fail)
207HYOP(1, NOCODE, _Nstop)
209HYOP(beam_retry_code, 1, BEAM_RETRY_CODE, _beam_retry_code)
212HENVYOP(2, ENV_FOR_TRUSTFAIL, _trust_fail, PredFail, TRUSTFAILCODE)
213HSPACE(
yamop *, TRUSTFAILCODE)
215HENVYOP(2, ENV_FOR_YESCODE, _Ystop, PredFail, YESCODE)
216HSPACE(
yamop *, YESCODE)
218HCPYOP(1, RTRYCODE, _retry_and_mark, PredFail)
220HCPYOP(1, BEAM_RETRY_CODE, PredFail)
223HCPYOP(1, GETWORK, _getwork, PredGetwork)
224HCPYOP(1, GETWORK_SEQ, _getwork_seq, PredGetworkSeq)
225HCPYOP(1, GETWORK_FIRST_TIME, _getwork_first_time, PredGetworkFirstTime)
228HCPYOP(1, LOAD_ANSWER, _table_load_answer, PredFail)
229HCPYOP(1, TRY_ANSWER, _table_try_answer, PredFail)
230HCPYOP(1, ANSWER_RESOLUTION, _table_load_answer, PredFail)
231HCPYOP(1, COMPLETION, _table_completion, PredFail)
232#ifdef THREADS_CONSUMER_SHARING
233HCPYOP(1, ANSWER_RESOLUTION_COMPLETION, _table_answer_resolution_completion,
243HM(
struct yami *, P_before_spy, NULL, PtoOpAdjust(P_before_spy))
246HM(
struct yami *, RETRY_C_RECORDEDP_CODE, NULL,
247 PtoOpAdjust(RETRY_C_RECORDEDP_CODE))
249HM(
struct yami *, RETRY_C_RECORDED_K_CODE, NULL,
250 PtoOpAdjust(RETRY_C_RECORDED__CODE))
253HI(
bool, PROFILING,
false)
254HI(
bool, CALL_COUNTING, false)
255HI(
bool, optimizer_on, true)
256HI(
bool, compile_mode, false)
260HI(
bool, compile_arrays, false)
263#if defined(YAPOR) || defined(THREADS)
264HMLOCK(lockvar, DBTermsListLock)
266HM(
struct dbterm_list *, DBTermsList, NULL, RestoreDBTermsList())
269HI(
yamop, ExpandClausesFirst, NULL)
270HM(
yamop, ExpandClausesLast, NULL, RestoreExpandList())
271HI(UInt, Yap_ExpandClauses, 0)
272#if defined(YAPOR) || defined(THREADS)
273HMLOCK(lockvar, ExpandClausesListLock)
274HMLOCK(lockvar, OpListLock)
278HI(UInt, Yap_NewCps, 0L)
279HI(UInt, Yap_LiveCps, 0L)
280HI(UInt, Yap_DirtyCps, 0L)
281HI(UInt, Yap_FreedCps, 0L)
283HI(UInt, Yap_expand_clauses_sz, 0L)
286H_R(
struct udi_info *, UdiControlBlocks, RestoreUdiControlBlocks())
290HI(Int, STATIC_PREDICATES_MARKED, false)
293HM(
Prop, INT_KEYS, NULL, RestoreIntKeys())
294HM(
Prop, INT_LU_KEYS, NULL, RestoreIntLUKeys())
295HM(
Prop, INT_BB_KEYS, NULL, RestoreIntBBKeys())
298HI(UInt, INT_KEYS_SIZE, INT_KEYS_DEFAULT_SIZE)
299HI(UInt, INT_KEYS_TIMESTAMP, 0L)
300HI(UInt, INT_BB_KEYS_SIZE, INT_KEYS_DEFAULT_SIZE)
303HI(
int, UPDATE_MODE, UPDATE_MODE_LOGICAL)
306HPROC(struct
DB_STRUCT *, DBErasedMarker, InitDBErasedMarker(),
307 RestoreDBErasedMarker())
309 RestoreLogDBErasedMarker())
312H_R(struct
static_clause *, DeadStaticClauses, RestoreDeadStaticClauses())
314H_R(struct
static_index *, DeadStaticIndices, RestoreDeadStaticIndices())
317#if defined(YAPOR) || defined(THREADS)
318HMLOCK(lockvar, DeadStaticClausesLock)
319HMLOCK(lockvar, DeadMegaClausesLock)
320HMLOCK(lockvar, DeadStaticIndicesLock)
325HI(
int, NUM_OF_ATTS, 1)
327HI(UInt, Yap_AttsSize, 0)
334HM(
struct ForeignLoadItem *, ForeignCodeLoaded, NULL, RestoreForeignCode())
335HI(ADDR, ForeignCodeBase, NULL)
336HI(ADDR, ForeignCodeTop, NULL)
337HI(ADDR, ForeignCodeMax, NULL)
340HM(struct
record_list *, Yap_Records, NULL, RestoreYapRecords())
343HPROC(struct atom_entry *, SWI_Atoms, InitSWIAtoms(), RestoreSWIAtoms())
344HSPACE(struct functor_entry *, SWI_Functors)
349HSPACE(Int, AtomTranslations)
350HSPACE(Int, MaxAtomTranslations)
353HI(
int, Initialised, false)
354HI(
int, InitialisedFromPL, false)
356HI(
char **, PL_Argv, NULL)
357HI(
bool, FAST_BOOT_FLAG, false)
361HI(fptr_t, JIT_finalizer, NULL)
364HI(
int, AllowLocalExpansion, true)
365HI(
int, AllowGlobalExpansion, true)
366HI(
int, AllowTrailExpansion, true)
367HI(UInt, SizeOfOverflow, 0)
370HI(UInt, AGcThreshold, 10000)
371HI(Agc_hook, AGCHook, NULL)
374HSPACE(Int, FunctorTranslations)
375HSPACE(Int, MaxFunctorTranslations)
377HPROCN(
Atom, MAX_EMPTY_WAKEUPS, EmptyWakeups, InitEmptyWakeups(),
378 RestoreEmptyWakeups())
379HSPACE(
int, MaxEmptyWakeups)
382HM(struct YAP_blob_t *, BlobTypes, NULL, RestoreBlobTypes())
386HI(UInt, NOfBlobsMax, 256)
387#if defined(YAPOR) || defined(THREADS)
388HMLOCK(lockvar blobs_lock, Blobs_Lock)
394HI(
struct AAssetManager *, assetManager, NULL)
395HI(
char *, AssetsWD, NULL)
401HI(UInt, NOfThreads, 1)
403HI(UInt, NOfThreadsCreated, 1)
405HI(UInt, ThreadsTotalTime, 0L)
407HI(lockvar, ThreadHandlesLock, MkLock)
410#if defined(YAPOR) || defined(THREADS)
412HI(lockvar, BGL, MkLock)
415#if defined(YAPOR) || defined(TABLING)
421HSPACE(
int, PrologShouldHandleInterrupts)
426HSPACE(pthread_t, master_thread)
427HI(
struct thread_mbox *, named_mboxes, NULL)
428HI(lockvar, mboxq_lock, MkLock)
429HI(UInt, mbox_count, 0)
430HSPACE(struct swi_mutex *, WithMutex)
435#if defined(THREADS) || defined(YAPOR)
436HI(lockvar, StreamDescLock MkLock)
446HSPACEN(
ext_op, attvars_ext + 1, attas)
450HSPACE(
int, agc_calls)
451HSPACE(YAP_ULONG_LONG, agc_collected)
453HI(Int, tot_agc_time, 0)
455HI(Int, tot_agc_recovered, 0)
459HI(
struct MMAP_ARRAY_BLOCK *, mmap_arrays, NULL)
464HSPACEN(
char, 20, Option)
465HSPACE(YP_FILE *, logfile)
470#if defined(COFF) || defined(A_OUT)
472HSPACEN(
char, Executable, MAX_PATH)
475HI(
int, OpaqueHandlersCount, 0)
476HI(struct opaque_handler_struct *, OpaqueHandlers, NULL)
479HSPACEN(
char, pwd, MAX_PATH)
485HSPACE(
char *, RestoreFile)
488HSPACE(Int, ProfCalls)
490HSPACE(Int, ProfHGrows)
491HSPACE(Int, ProfSGrows)
492HSPACE(Int, ProfMallocs)
493HSPACE(Int, ProfIndexing)
498HI(
char *, DIRNAME, NULL)
500HI(
int, ProfilerOn,
false)
501HI(FILE *, FProf, NULL)
502HI(FILE *, FPreds, NULL)
507HI(
struct swi_mutex *, FreeMutexes, NULL)
508HI(
struct swi_mutex *, mutex_backbone, NULL)
510HI(lockvar, MUT_ACCESS, MkLock)
513HI(
char *, Home, NULL)
516HI(
char *, CharConversionTable, NULL)
517HI(
char *, CharConversionTable2, NULL)
520HI(
void *, LastWTimePtr, NULL)
523HI(
int, MaxPriority, 1200)
527Yap_has_a_signal__ (USES_REGS1)
529 return LOCAL_Signals != ((uint64_t)0);
533Yap_has_signal__(yap_signals sig USES_REGS)
535 return (LOCAL_Signals & SIGNAL_TO_BIT(sig)) != ((uint64_t)0);
539Yap_only_has_signal__(yap_signals sig USES_REGS)
541 return (LOCAL_Signals & SIGNAL_TO_BIT(sig)) == SIGNAL_TO_BIT(sig);
void Yap_InitFlags(bool bootstrap)
Init System Prolog flags.
@ argv
read-only atom, it describes the list with all arguments received by YAP at boot
@ 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