Back to index

plt-scheme  4.2.1
gc2_dump.h
Go to the documentation of this file.
00001 
00002 /* Extra headers for the GC2 tracing interface */
00003 
00004 #ifndef __mzscheme_gc_2_dump__
00005 #define __mzscheme_gc_2_dump__
00006 
00007 typedef char *(*GC_get_type_name_proc)(short t);
00008 typedef char *(*GC_get_xtagged_name_proc)(void *p);
00009 typedef void (*GC_for_each_found_proc)(void *p);
00010 
00011 typedef void (*GC_print_tagged_value_proc)(const char *prefix, 
00012                                       void *v, int xtagged, unsigned long diff, int max_w,
00013                                       const char *suffix);
00014 
00015 GC2_EXTERN void GC_dump_with_traces(int flags,
00016                                 GC_get_type_name_proc get_type_name,
00017                                 GC_get_xtagged_name_proc get_xtagged_name,
00018                                 GC_for_each_found_proc for_each_found,
00019                                 short trace_for_tag,
00020                                 GC_print_tagged_value_proc print_tagged_value,
00021                                 int path_length_limit);
00022 
00023 GC2_EXTERN void GC_dump_variable_stack(void **var_stack,
00024                                        long delta,
00025                                        void *limit,
00026                                        void *stack_mem,
00027                                        GC_get_type_name_proc get_type_name,
00028                                        GC_get_xtagged_name_proc get_xtagged_name,
00029                                        GC_print_tagged_value_proc print_tagged_value);
00030 
00031 # define GC_DUMP_SHOW_DETAILS  0x1
00032 # define GC_DUMP_SHOW_TRACE    0x2
00033 # define GC_DUMP_SHOW_FINALS   0x4
00034 
00035 GC2_EXTERN int GC_is_tagged(void *p);
00036 GC2_EXTERN int GC_is_tagged_start(void *p);
00037 GC2_EXTERN void *GC_next_tagged_start(void *p);
00038 
00039 #endif