diff options
Diffstat (limited to 'boehm-gc/gc_priv.h')
-rw-r--r-- | boehm-gc/gc_priv.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/boehm-gc/gc_priv.h b/boehm-gc/gc_priv.h index 96ba1da1044..888e46e1e60 100644 --- a/boehm-gc/gc_priv.h +++ b/boehm-gc/gc_priv.h @@ -434,7 +434,7 @@ void GC_print_callers (/* struct callinfo info[NFRAMES] */); # ifdef LINUX_THREADS # include <pthread.h> # ifdef __i386__ - inline static GC_test_and_set(volatile unsigned int *addr) { + inline static int GC_test_and_set(volatile unsigned int *addr) { int oldval; /* Note: the "xchg" instruction does not need a "lock" prefix */ __asm__ __volatile__("xchgl %0, %1" @@ -520,6 +520,10 @@ void GC_print_callers (/* struct callinfo info[NFRAMES] */); # define LOCK() EnterCriticalSection(&GC_allocate_ml); # define UNLOCK() LeaveCriticalSection(&GC_allocate_ml); # endif +# ifdef QUICK_THREADS +# define LOCK() +# define UNLOCK() +# endif # ifndef SET_LOCK_HOLDER # define SET_LOCK_HOLDER() # define UNSET_LOCK_HOLDER() @@ -1467,6 +1471,10 @@ void GC_print_obj(/* ptr_t p */); /* P points to somewhere inside an object with */ /* debugging info. Print a human readable */ /* description of the object to stderr. */ +ptr_t GC_debug_object_start(/* ptr_t p */); + /* P points to the start of an object that may */ + /* have debug info at its head. Return the */ + /* start of the real data. */ extern void (*GC_check_heap)(); /* Check that all objects in the heap with */ /* debugging info are intact. Print */ |