325 |
} |
} |
326 |
|
|
327 |
|
|
328 |
#if (SCM_DEBUG_CELL_ACCESSES == 1) |
#if (SCM_DEBUG_DEBUGGER_SUPPORT == 1) |
|
int |
|
|
scm_gc_marked_p (SCM obj) |
|
|
{ |
|
|
return SCM_GC_MARK_P(obj); |
|
|
} |
|
|
#endif |
|
|
|
|
|
#if 0 |
|
|
/* |
|
|
These functions are meant to be called from GDB as a debug aid. |
|
|
|
|
|
I've left them as a convenience for future generations. --hwn. |
|
|
*/ |
|
|
|
|
|
|
|
|
int scm_gc_marked_p (SCM obj); |
|
|
scm_t_cell * scm_gc_get_card (SCM obj); |
|
|
long * scm_gc_get_bvec (SCM obj); |
|
329 |
|
|
330 |
typedef struct scm_t_list_cell_struct { |
typedef struct scm_dbg_t_list_cell { |
331 |
scm_t_bits car; |
scm_t_bits car; |
332 |
struct scm_t_list_cell_struct * cdr; |
struct scm_dbg_t_list_cell * cdr; |
333 |
} scm_t_list_cell; |
} scm_dbg_t_list_cell; |
334 |
|
|
335 |
|
|
336 |
typedef struct scm_t_double_cell |
typedef struct scm_dbg_t_double_cell { |
|
{ |
|
337 |
scm_t_bits word_0; |
scm_t_bits word_0; |
338 |
scm_t_bits word_1; |
scm_t_bits word_1; |
339 |
scm_t_bits word_2; |
scm_t_bits word_2; |
340 |
scm_t_bits word_3; |
scm_t_bits word_3; |
341 |
} scm_t_double_cell; |
} scm_dbg_t_double_cell; |
342 |
|
|
343 |
|
|
344 |
|
int scm_dbg_gc_marked_p (SCM obj); |
345 |
|
scm_t_cell * scm_dbg_gc_get_card (SCM obj); |
346 |
|
long * scm_dbg_gc_get_bvec (SCM obj); |
347 |
|
|
348 |
|
|
349 |
|
int |
350 |
|
scm_dbg_gc_marked_p (SCM obj) |
351 |
|
{ |
352 |
|
if (!SCM_IMP (obj)) |
353 |
|
return SCM_GC_MARK_P(obj); |
354 |
|
else |
355 |
|
return 0; |
356 |
|
} |
357 |
|
|
358 |
scm_t_cell * |
scm_t_cell * |
359 |
scm_gc_get_card (SCM obj) |
scm_dbg_gc_get_card (SCM obj) |
360 |
{ |
{ |
361 |
return SCM_GC_CELL_CARD(obj); |
if (!SCM_IMP (obj)) |
362 |
|
return SCM_GC_CELL_CARD(obj); |
363 |
|
else |
364 |
|
return NULL; |
365 |
} |
} |
366 |
|
|
367 |
long * |
long * |
368 |
scm_gc_get_bvec (SCM obj) |
scm_dbg_gc_get_bvec (SCM obj) |
369 |
{ |
{ |
370 |
return SCM_GC_CARD_BVEC(SCM_GC_CELL_CARD(obj)); |
if (!SCM_IMP (obj)) |
371 |
|
return SCM_GC_CARD_BVEC (SCM_GC_CELL_CARD (obj)); |
372 |
|
else |
373 |
|
return NULL; |
374 |
} |
} |
375 |
|
|
376 |
#endif |
#endif |