/*************************************************************************
* *
* YAP Prolog @(#)amidefs.h 1.3 3/15/90
* Yap Prolog was developed at NCCUP - Universidade do Porto *
* Copyright L.Damas, V.S.Costa and Universidade do Porto 1985-1997 *
**************************************************************************
* File: tracer.h *
* Last rev: *
* mods: *
* comments: definitions for low level tracer *
*************************************************************************/
#ifdef LOW_LEVEL_TRACER
typedef enum {
enter_pred,
try_or,
retry_or,
retry_pred,
retry_table_generator,
retry_table_consumer,
retry_table_loader
} yap_low_level_port;
#ifdef saveregs
#define low_level_trace(Port, pred, args) \
{ \
saveregs(); \
low_level_trace__(Port, pred, args); \
setregs(); \
}
#else
#define low_level_trace(Port, pred, args) low_level_trace__(Port, pred, args)
#endif
void low_level_trace__(yap_low_level_port, PredEntry *, CELL *);
void Yap_InitLowLevelTrace(void);
void toggle_low_level_trace(void);