Commit Graph

18 Commits

Author SHA1 Message Date
Hans Boehm
4d6ac5424e linux_threads.c (return_free_lists): Clear fl[i] unconditionally.
* linux_threads.c (return_free_lists): Clear fl[i] unconditionally.
	(GC_local_gcj_malloc): Add assertion.
	(start_mark_threads): Fix abort message.
	* mark.c (GC_mark_from): Generalize assertion.
	* reclaim.c (GC_clear_fl_links): New function.
	(GC_start_reclaim): Must clear some freelist links.
	* include/private/specific.h, specific.c: Add assertions.
	Safer definition for INVALID_QTID, quick_thread_id.  Fix/add comments.
	Rearrange tse fields.

From-SVN: r51582
2002-03-29 22:52:13 +00:00
Jeff Sturm
fd28f67b2f * linux_threads.c (GC_get_nprocs): Close file descriptor.
From-SVN: r51321
2002-03-25 18:08:57 +00:00
Bryce McKinlay
79f777fd1e Imported GC 6.1 Alpha 3. Finally.
From-SVN: r49698
2002-02-12 04:37:57 +00:00
Loren J. Rittle
2b2ec3fbff linux_threads.c (WRAP_FUNC(pthread_join)): Remove special case for GC_FREEBSD_THREADS.
* linux_threads.c (WRAP_FUNC(pthread_join)): Remove special
	case for GC_FREEBSD_THREADS.
	* configure.in (*-*-freebsd*): Clarify warning.
	* configure: Rebuilt.

From-SVN: r47347
2001-11-26 17:40:34 +00:00
Bryce McKinlay
aeb76991de linux_threads.c (GC_init_parallel): Do not declare as a static constructor.
* linux_threads.c (GC_init_parallel): Do not declare as a static
	constructor.
	* include/gc.h (GC_init): Declare here. Add description.
	* include/private/gc_priv.h (GC_init): Remove declaration.

From-SVN: r46420
2001-10-23 01:28:56 +01:00
Loren J. Rittle
f6d882d975 gc_pthread_redirects.h: Generalize test to use GC_PTHREADS.
* include/gc_pthread_redirects.h: Generalize test to use GC_PTHREADS.
	* linux_threads.c (WRAP_FUNC(pthread_join)): Conditionalized on
	GC_FREEBSD_THREADS, handle strange interaction between system
	pthread implementation and boehm-gc signal-handler architecture.
	* tests/test.c (main): Conditionalized on GC_FREEBSD_THREADS,
	set stack.
	* include/private/gcconfig.h (configuration keyed off FREEBSD):
	Define SIG_SUSPEND, SIG_THR_RESTART.  Do not define
	MPROTECT_VDB when GC_FREEBSD_THREADS is defined.

From-SVN: r46307
2001-10-17 04:55:30 +00:00
Bryce McKinlay
4c7726b172 Makefile.am, [...]: Imported GC 6.1 Alpha 1 and merged local changes.
* Makefile.am, acinclude.m4, configure.in: Imported GC 6.1 Alpha 1
	and merged local changes.

From-SVN: r46283
2001-10-16 10:01:40 +01:00
Tom Tromey
5a2586cf8f Makefile.am, [...]: Imported GC 6.0 and merged local changes.
* Makefile.am, acinclude.m4, configure.in: Imported GC 6.0 and
	merged local changes.

From-SVN: r44994
2001-08-18 01:04:43 +00:00
Bryce McKinlay
9110a741e3 Imported version version 6.0alpha7.
* README, README.Mac, README.OS2, README.QUICK, README.alpha,
	README.amiga, README.debugging, README.dj, README.hp, README.linux,
	README.rs6000, README.sgi, README.solaris2, README.uts,
	README.win32, SCoptions.amiga, backptr.h, barrett_diagram,
	dbg_mlc.h, gc.h, gc.man, gc_alloc.h, gc_cpp.h, gc_hdrs.h, gc_mark.h,
	gc_priv.h, gc_private.h, gc_typed.h, gcconfig.h,
	hpux_irix_threads.c, makefile.depend, nursery.c,
	solaris_threads.h, test.c, test_cpp.cc, weakpointer.h, cord/README,
	cord/SCOPTIONS.amiga, cord/SMakefile.amiga, cord/cord.h,
	cord/ec.h, cord/gc.h, cord/private/cord_pos.h, include/backptr.h,
	include/gc_copy_descr.h, include/gc_nursery.h: Remove obsolete/moved
	files.

From-SVN: r42379
2001-05-21 09:35:14 +01:00
Hans Boehm
18d6fb9765 configure.host: Build with -fexceptions.
* configure.host: Build with -fexceptions.
	* linux_threads.c: Remember which thread stopped world for

From-SVN: r42362
2001-05-20 22:36:34 +00:00
Hans Boehm
41029b884a finalize.c: - Accomodate finalization requests for static objects.
2001-04-04  Hans Boehm  <hans_boehm@hp.com>

	* finalize.c:
	- Accomodate finalization requests for static objects.
	  (Will be required by hash synchronization.  May be needed
	  in some configurations now.)

	* gc_priv.h:
	- Define MIN_WORDS.  All allocation requests are rounded
	  up to at least this size.  Removes a subtle assumption that
	  Java objects have a 2 word header.

	* gcconfig.h:
	- Adjust Linux/IA64 configuration for non-ancient kernels.
	  (Necessary fix for IA64.)

	* linux_threads.c:
	- Fix syntax error in currently unused code.  Will be needed
	  for Linux/PA-RISC.

	* malloc.c:
	- Handle MIN_WORDS.

	* misc.c:
	- Handle MIN_WORDS.
	- Change stack cleaning code to typically clear about one tenth
	  the memory it used to in the threads configuration.  Occasionally
	  still clear more.  (This is really a fix for a long-standing
	  and fairly significant performance bug with threads.)

	* os_dep.c:
	- Fix the code for finding the beginning of the data segment under
	  Linux.  I believe this is necessary for some IA64 Linux
	  distributions.  It will also helo other platforms, though those
	  may additionally require a gcconfig.h adjustment.  (This basically
	  works around the absence of a data_start or __data_start
	  definition in glibc.)

	* test.c:
	- Handle rounding due to MIN_WORDS.

From-SVN: r41102
2001-04-05 00:14:18 +00:00
Bryce McKinlay
e301621d19 For boehm-gc:
* configure.in: Rename THREADLIB to THREADLIBS.
	* Makefile.am (LINK): Add $(THREADLIBS) to libtool command line. This
	ensures that we link the correct version of the linuxthreads semaphore
	functions.
	* Makefile.in: Rebuilt.
	* configure: Rebuilt.

	* linux_thread.c (GC_thr_init, GC_suspend_handler): Add SIGABRT to the
	list of signals which are not blocked during suspend in the NO_SIGNALS
	case.

For libjava:
	* Makefile.am (libgcj_la_LIBADD): Add $(THREADLIBS). This ensures that
	the correct versions of various linuxthreads functions get linked.
	* Makefile.in: Rebuilt.
	* java/lang/natThread.cc (finalize_native): New static function. Call
	_Jv_ThreadDestroyData.
	(initialize_native): Register finalizer for "data".
	* include/posix-threads.h (_Jv_ThreadInitData): New simpler prototype.
	(_Jv_ThreadDestroyData): New prototype.
	* include/win32-threads.h: Ditto.
	* include/no-threads.h: Ditto.
	* posix-threads.cc (_Jv_ThreadInitData): Implement new prototype.
	(_Jv_ThreadDestroyData): New function. Free native thread "data" and
	move mutex and condition variable destroy code from:
	(really_start): ...here.
	(_Jv_ThreadStart): Set PTHREAD_CREATE_DETACHED.
	* win32-threads.cc (_Jv_ThreadInitData): Implement new prototype.
	(_Jv_ThreadDestroyData): Implemented.
	* nogc.cc (_Jv_AllocObject): Use "void *" not "ptr_t".
	(_Jv_AllocArray): Ditto.

From-SVN: r38557
2000-12-30 12:18:39 +00:00
Jakub Jelinek
70635f1e04 <<<<<<< ChangeLog
2000-04-26  Jakub Jelinek  <jakub@redhat.com>

	* gcconfig.h (SPARC): Define ALIGNMENT to 8 for 64bit SPARC.
	(SPARC/LINUX): Use GC_SysVGetDataStart instead of LINUX_DATA_START
	- sparc glibc does not provide it.
	(SAVE_CALL_CHAIN, ASM_CLEAR_CODE): Define on sparc*-linux*.
	Make STACKBOTTOM depend on the wordsize.
	* os_dep.c (GC_SysVGetDataStart): Compile in on sparc*-linux*.
	(struct frame): Declare on sparc*-linux*.
	(GC_save_callers): Bias the frame pointers if needed (sparc64).
	* mach_dep.c (GC_save_regs_in_stack): Optimize on sparc32.
	Implement on sparc64.
	(GC_clear_stack_inner): Implement on sparc64.
	* gc_priv.h (GC_test_and_set): Implement for sparc.
	* linux_threads.c (GC_suspend_handler, GC_push_all_stacks): Use

From-SVN: r33452
2000-04-27 00:43:33 +00:00
Bryce McKinlay
93002327db Imported version version 5.0alpha6.
* acinclude.m4: Bump version to 5.0a6.
	* configure.in: Don't use alpha_mach_dep.s.
	* include/private/config.h, irix_threads.c gc_watcom.asm: Delete
	obsolete files.

From-SVN: r33251
2000-04-19 11:10:01 +01:00
Bryce McKinlay
54f76845c5 linux_threads.c: Don't block SIGINT, SIGQUIT, SIGTERM in the NO_SIGNALS case.
1999-12-22  Bryce McKinlay  <bryce@albatross.co.nz>

        * linux_threads.c: Don't block SIGINT, SIGQUIT, SIGTERM in the
        NO_SIGNALS case.

From-SVN: r31083
1999-12-24 01:08:34 +00:00
Tom Tromey
20bbd3cd53 Merged GC 5.0alpha4 with local changes, plus:
* Makefile.in: Rebuilt.
	* Makefile.am (gctest_LDADD): Added THREADLIB.
	(TESTS): New macro.
	* configure: Rebuilt.
	* configure.in (INCLUDES): New subst.

From-SVN: r30332
1999-11-01 23:15:51 +00:00
Tom Tromey
b694131f21 * linux_threads.c: Don't reference __pthread_initial_thread_bos.
From-SVN: r26711
1999-04-30 16:00:28 +00:00
Tom Tromey
73ffefd017 Initial revision
From-SVN: r26246
1999-04-07 08:01:30 +00:00