1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-11 22:31:12 +02:00

* debug.h (SCM_VOIDFRAME, SCM_VOIDFRAMEP): New macros.

(scm_debug_info): New member: id.
This commit is contained in:
Mikael Djurfeldt 1996-10-14 20:28:13 +00:00
parent 38bd0b3b0e
commit 473c250d0a

View file

@ -115,6 +115,7 @@ typedef union scm_debug_info
{
struct { SCM exp, env; } e;
struct { SCM proc, args; } a;
SCM id;
} scm_debug_info;
extern int scm_debug_eframe_size;
@ -132,17 +133,18 @@ extern scm_debug_frame *scm_last_debug_frame;
#define SCM_EVALFRAME (0L << 10)
#define SCM_APPLYFRAME (1L << 10)
#define SCM_VOIDFRAME (2L << 10)
#define SCM_TAILREC (1L << 9)
#define SCM_TRACED_FRAME (1L << 8)
#define SCM_ARGS_READY (1L << 7)
#define SCM_DOVERFLOW (1L << 6)
#define SCM_MAX_FRAME_SIZE 63 /* also used as a mask for the size field */
#define SCM_FRAMETYPE (1L << 10)
#define SCM_FRAMETYPE (3L << 10)
#define SCM_EVALFRAMEP(x) (((x).status & SCM_FRAMETYPE) == SCM_EVALFRAME)
#define SCM_APPLYFRAMEP(x) (((x).status & SCM_FRAMETYPE) == SCM_APPLYFRAME)
#define SCM_STARTFRAMEP(x) (((x).status & SCM_FRAMETYPE) == SCM_STARTFRAME)
#define SCM_VOIDFRAMEP(x) (((x).status & SCM_FRAMETYPE) == SCM_VOIDFRAME)
#define SCM_OVERFLOWP(x) (((x).status & SCM_DOVERFLOW) != 0)
#define SCM_ARGS_READY_P(x) (((x).status & SCM_ARGS_READY) != 0)
#define SCM_TRACED_FRAME_P(x) (((x).status & SCM_TRACED_FRAME) != 0)