diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-04-07 08:01:42 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-04-07 08:01:42 +0000 |
commit | 22b297cdeaa7704bc964a76562dcf8aed710c2bb (patch) | |
tree | 7f963ae6b27df44232d80c837e9ccc32932e94af /boehm-gc/gc_priv.h | |
parent | 386fe957b821b33f2ff2724bf5aaf0c6030c6a99 (diff) | |
download | gcc-22b297cdeaa7704bc964a76562dcf8aed710c2bb.tar.gz |
Cygnus/libgcj changes to Boehm GC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26257 138bc75d-0d04-0410-961f-82ee72b054a4
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 */ |