X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fmm%2Fcacao-gc%2Fgc.h;h=f5e624c1265e92b8cf322b01ab050df8ea38a54f;hb=6c145a7523605d227727a3aec68c22e50234947c;hp=3390c6a61ca44f8dd4f0f7fdacebd6acae8ae057;hpb=76cbb203d94b68dea71702fe5d3f9a0bf23ead73;p=cacao.git diff --git a/src/mm/cacao-gc/gc.h b/src/mm/cacao-gc/gc.h index 3390c6a61..f5e624c12 100644 --- a/src/mm/cacao-gc/gc.h +++ b/src/mm/cacao-gc/gc.h @@ -40,6 +40,20 @@ #define _GC_H +#include "config.h" +#include "vm/types.h" + +#if defined(ENABLE_THREADS) +# include "threads/native/threads.h" +#endif + + +/* Configuration Switches *****************************************************/ + +/*#define GCCONF_FINALIZER*/ +/*#define GCCONF_HDRFLAG_REFERENCING*/ + + /* Debugging ******************************************************************/ #define GC_DEBUGGING @@ -92,14 +106,22 @@ #define GC_TEST_FLAGS(obj, flags) ((obj)->hdrflags & (flags)) #define POINTS_INTO(ptr, ptr_start, ptr_end) \ - ((void *) (ptr) > (ptr_start) && (void *) (ptr) < (ptr_end)) + ((void *) (ptr) >= (ptr_start) && (void *) (ptr) < (ptr_end)) /* Global Variables ***********************************************************/ +extern bool gc_pending; extern bool gc_notify_finalizer; +/* Prototypes *****************************************************************/ + +#if defined(ENABLE_THREADS) +void gc_suspend(threadobject *thread, ucontext_t *context); +#endif + + /* Statistics *****************************************************************/ #if defined(ENABLE_STATISTICS)