aboutsummaryrefslogtreecommitdiff
path: root/boehm-gc/gc_priv.h
diff options
context:
space:
mode:
authorTom Tromey <tromey@gcc.gnu.org>1999-04-07 08:01:42 +0000
committerTom Tromey <tromey@gcc.gnu.org>1999-04-07 08:01:42 +0000
commit1530be84fcd15570f9885c29a8cc94880ecd6d57 (patch)
tree7f963ae6b27df44232d80c837e9ccc32932e94af /boehm-gc/gc_priv.h
parent537cff9c871369177f5c01fe02d3a9dd85492750 (diff)
downloadgcc-1530be84fcd15570f9885c29a8cc94880ecd6d57.zip
gcc-1530be84fcd15570f9885c29a8cc94880ecd6d57.tar.gz
gcc-1530be84fcd15570f9885c29a8cc94880ecd6d57.tar.bz2
Cygnus/libgcj changes to Boehm GC.
From-SVN: r26257
Diffstat (limited to 'boehm-gc/gc_priv.h')
-rw-r--r--boehm-gc/gc_priv.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/boehm-gc/gc_priv.h b/boehm-gc/gc_priv.h
index 96ba1da..888e46e 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 */