]> granicus.if.org Git - gc/commitdiff
2007-07-02 Hans Boehm <Hans.Boehm@hp.com>
authorhboehm <hboehm>
Mon, 2 Jul 2007 22:01:11 +0000 (22:01 +0000)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 26 Jul 2011 17:06:41 +0000 (21:06 +0400)
* include/gc_config_macros.h: Also check for IA64 when setting
GC_HPUX_THREADS.
* mallocx.c: Change my_bytes_allocd to signed_word.
* include/gc_pthread_redirects.h: Remove obsolete Solaris threads
(as opposed to pthreads) support.

ChangeLog
include/gc_config_macros.h
include/gc_pthread_redirects.h
mallocx.c

index 47f92754bcc2358140ac3fc14ccc1901f782f89f..4410a1ac1ed39446f89fd161a0f172ea55a4bb78 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-07-02  Hans Boehm <Hans.Boehm@hp.com>
+
+       * include/gc_config_macros.h: Also check for IA64 when setting
+       GC_HPUX_THREADS.
+       * mallocx.c: Change my_bytes_allocd to signed_word.
+       * include/gc_pthread_redirects.h: Remove obsolete Solaris threads
+       (as opposed to pthreads) support.
+
 2007-07-02  Hans Boehm <Hans.Boehm@hp.com>
 
        * mach_dep.c (GC_with_callee_saves_pushed): Don't use getcontext()
index 3587ed60093284cbf15cedee8a37ab27fff61545..66abf0b1e3e371d0e5aa16b4c7c186a8d9ef9811 100644 (file)
@@ -80,7 +80,8 @@
 #   define GC_PTHREADS
 # endif
 # if !defined(__linux__) && (defined(_PA_RISC1_1) || defined(_PA_RISC2_0) \
-                         || defined(hppa) || defined(__HPPA))
+                         || defined(hppa) || defined(__HPPA)) \
+                        || (defined(__ia64) && defined(_HPUX_SOURCE))
 #   define GC_HPUX_THREADS
 #   define GC_PTHREADS
 # endif
index 21e9c9fa605fc15e4f3c29ce7a21861c226aa7fd..b567f63e14f0efd1b6a140162df4e694369ce976 100644 (file)
@@ -5,47 +5,16 @@
 
 #define GC_PTHREAD_REDIRECTS_H
 
-#if defined(GC_SOLARIS_THREADS)
-/* We need to intercept calls to many of the threads primitives, so    */
-/* that we can locate thread stacks and stop the world.                        */
-/* Note also that the collector cannot see thread specific data.       */
-/* Thread specific data should generally consist of pointers to                */
-/* uncollectable objects (allocated with GC_malloc_uncollectable,      */
-/* not the system malloc), which are deallocated using the destructor  */
-/* facility in thr_keycreate.  Alternatively, keep a redundant pointer */
-/* to thread specific data on the thread stack.                                */
-# include <thread.h>
-  int GC_thr_create(void *stack_base, size_t stack_size,
-                    void *(*start_routine)(void *), void *arg, long flags,
-                    thread_t *new_thread);
-  int GC_thr_join(thread_t wait_for, thread_t *departed, void **status);
-  int GC_thr_suspend(thread_t target_thread);
-  int GC_thr_continue(thread_t target_thread);
-  void * GC_dlopen(const char *path, int mode);
-# define thr_create GC_thr_create
-# define thr_join GC_thr_join
-# define thr_suspend GC_thr_suspend
-# define thr_continue GC_thr_continue
-#endif /* GC_SOLARIS_THREADS */
+#if !defined(GC_USE_LD_WRAP) && defined(GC_PTHREADS)
+/* We need to intercept calls to many of the threads primitives, so     */
+/* that we can locate thread stacks and stop the world.                  */
+/* Note also that the collector cannot always see thread specific data.  */
+/* Thread specific data should generally consist of pointers to          */
+/* uncollectable objects (allocated with GC_malloc_uncollectable,        */
+/* not the system malloc), which are deallocated using the destructor    */
+/* facility in thr_keycreate.  Alternatively, keep a redundant pointer   */
+/* to thread specific data on the thread stack.                         */
 
-#if defined(GC_SOLARIS_PTHREADS)
-# include <pthread.h>
-# include <signal.h>
-  extern int GC_pthread_create(pthread_t *new_thread,
-                                const pthread_attr_t *attr,
-                                void * (*thread_execp)(void *), void *arg);
-  extern int GC_pthread_join(pthread_t wait_for, void **status);
-# define pthread_join GC_pthread_join
-# define pthread_create GC_pthread_create
-#endif
-
-#if defined(GC_SOLARIS_PTHREADS) || defined(GC_SOLARIS_THREADS)
-# define dlopen GC_dlopen
-#endif /* SOLARIS_THREADS || SOLARIS_PTHREADS */
-
-
-#if !defined(GC_USE_LD_WRAP) && defined(GC_PTHREADS) && !defined(GC_SOLARIS_PTHREADS)
-/* We treat these similarly. */
 # include <pthread.h>
 # include <signal.h>
 
index 4ee74091cdb82bbcb70e8e3d71da3166dc7f7a44..8a397cf073287e091c1336a2233fbb53e6b5780b 100644 (file)
--- a/mallocx.c
+++ b/mallocx.c
@@ -272,7 +272,7 @@ void *p;
 void **opp;
 size_t lw;     /* Length in words.     */
 size_t lg;     /* Length in granules.  */
-word my_bytes_allocd = 0;
+signed_word my_bytes_allocd = 0;
 struct obj_kind * ok = &(GC_obj_kinds[k]);
 DCL_LOCK_STATE;