Commit Graph

31 Commits

Author SHA1 Message Date
Tom Tromey 975147a4a4 re PR boehm-gc/29068 (Bootstrap fails building libjava on SPARC/Solaris)
libjava
	PR boehm-gc/29068:
	* boehm.cc (_Jv_GCAttachThread): Disable on Solaris.
	(_Jv_GCDetachThread): Likewise.
boehm-gc
	PR boehm-gc/29068.
	* misc.c (GC_init_inner): Don't use GC_get_thread_stack_base on
	Solaris.

From-SVN: r116948
2006-09-14 18:06:04 +00:00
Bryce McKinlay 7ddf92a874 re PR libgcj/13212 (JNI/CNI AttachCurrentThread does not register thread with garbage collector)
boehm-gc
	PR libgcj/13212:
	* configure.ac: Check for pthread_getattr_np(). Remove
	GC_PTHREAD_SYM_VERSION detection.
	* include/gc.h (GC_register_my_thread, GC_unregister_my_thread,
	GC_get_thread_stack_base): New declarations.
	* pthread_support.c (GC_register_my_thread, GC_unregister_my_thread,
	GC_get_thread_stack_base): New functions.
	(GC_delete_thread): Don't try to free the first_thread.
	* misc.c (GC_init_inner): Use GC_get_thread_stack_base() if possible.
	(pthread_create_, constr): Removed.
	(pthread_create): Don't rename.
	* include/gc_ext_config.h.in: Rebuilt.
	* include/gc_pthread_redirects.h (pthread_create): Define 
	unconditionally.
	* include/gc_config.h.in: Rebuilt.
	* configure: Rebuilt.
libjava
	* java/lang/natThread.cc (_Jv_AttachCurrentThread): Attach thread
	to GC.
	(_Jv_DetachCurrentThread): Detach thread from GC.
	* include/boehm-gc.h (_Jv_GCAttachThread, _Jv_GCDetachThread):
	Declare.
	* boehm.cc (_Jv_GCAttachThread): New function.
	(_Jv_GCDetachThread): Likewise.

From-SVN: r116313
2006-08-21 22:07:30 +00:00
Bryce McKinlay 54f28c21ee Import Boehm GC version 6.6.
From-SVN: r110204
2006-01-25 03:03:14 +00:00
Danny Smith 8f63f56bd1 misc.c (GC_init): Replace lhs cast with rhs cast.
From-SVN: r86356
2004-08-21 07:49:17 +00:00
Bryce McKinlay 4109fe8594 configure.in (GCINCS): Don't use "boehm-cflags".
libjava:
2004-08-13  Bryce McKinlay  <mckinlay@redhat.com>

	* configure.in (GCINCS): Don't use "boehm-cflags". Instead, -I
	boehm-gc's include dirs.
	* configure: Rebuilt.
	* include/boehm-gc.h: Include gc_config.h.

boehm-gc:
2004-08-13  Bryce McKinlay  <mckinlay@redhat.com>

	* configure.ac (gc_cflags): Add -Iinclude.
	(AC_CONFIG_HEADERS): New. Configure gc_config.h header.
	Don't write DEFS to boehm-cflags file.
	* configure: Rebuilt.
	* gcj_mlc.c: Check #ifdef GC_GCJ_SUPPORT after including headers.
	* specific.c: Check #ifdef GC_LINUX_THREADS after including headers.
	* include/gc_config_macros.h: Remove backward-compatibility
	redefinitions of GC_ names.
	* include/gc.h: Include <gc_config.h>.

2004-08-13  Bryce McKinlay  <mckinlay@redhat.com>

	Import Boehm GC version 6.3.

From-SVN: r85972
2004-08-14 00:05:36 +01:00
Hans Boehm aa44273b85 configure.in: Remove NO_GETENV definition for win32.
* configure.in: Remove NO_GETENV definition for win32.
	* mach_dep.c (GC_generic_push_regs): Prevent tail call optimization.
	* misc.c (GC_init_inner): Call GC_thr_init for win32.
	  (GC_set_warn_proc): Add assertion.
	* win32_threads.c: Import 6.3alpha2 version.
	* include/private/gc_priv.h: Add support for EMPTY_GETENV_RESULTS.

From-SVN: r72074
2003-10-03 18:43:06 +00:00
Jeff Sturm 30c3de1ffb Import GC 6.3alpha1.
* BCC_MAKEFILE: Merge with GC 6.3alpha1 release.
	* ChangeLog: Likewise.
	* Makefile.am: Likewise.
	* Makefile.direct: Likewise.
	* Makefile.dj: Likewise.
	* allchblk.c: Likewise.
	* alloc.c: Likewise.
	* backgraph.c: Likewise.
	* configure.host: Likewise.
	* configure.in: Likewise.
	* dbg_mlc.c: Likewise.
	* dyn_load.c: Likewise.
	* finalize.c: Likewise.
	* gc_cpp.cc: Likewise.
	* gc_dlopen.c: Likewise.
	* gcj_mlc.c: Likewise.
	* if_mach.c: Likewise.
	* mach_dep.c: Likewise.
	* malloc.c: Likewise.
	* mallocx.c: Likewise.
	* mark.c: Likewise.
	* mark_rts.c: Likewise.
	* misc.c: Likewise.
	* os_dep.c: Likewise.
	* ptr_chck.c: Likewise.
	* reclaim.c: Likewise.
	* solaris_pthreads.c: Likewise.
	* solaris_threads.c: Likewise.
	* sparc_mach_dep.S: Likewise.
	* threadlibs.c: Likewise.
	* typd_mlc.c: Likewise.
	* version.h: Likewise.
	* win32_threads.c: Likewise.
	* Mac_files/MacOS_Test_config.h: Likewise.
	* Mac_files/MacOS_config.h: Likewise.
	* cord/cordbscs.c: Likewise.
	* cord/cordprnt.c: Likewise.
	* cord/de_win.c: Likewise.
	* doc/README: Likewise.
	* doc/README.MacOSX: Likewise.
	* doc/README.changes: Likewise.
	* doc/README.environment: Likewise.
	* doc/README.ews4800: Likewise.
	* doc/README.linux: Likewise.
	* doc/README.macros: Likewise.
	* doc/README.win32: Likewise.
	* doc/debugging.html: Likewise.
	* doc/gcdescr.html: Likewise.
	* doc/tree.html: Likewise.
	* include/Makefile.in: Likewise.
	* include/gc.h: Likewise.
	* include/gc_cpp.h: Likewise.
	* include/gc_local_alloc.h: Likewise.
	* include/gc_mark.h: Likewise.
	* include/gc_pthread_redirects.h: Likewise.
	* include/gc_typed.h: Likewise.
	* include/new_gc_alloc.h: Likewise.
	* include/private/dbg_mlc.h: Likewise.
	* include/private/gc_hdrs.h: Likewise.
	* include/private/gc_locks.h: Likewise.
	* include/private/gc_pmark.h: Likewise.
	* include/private/gc_priv.h: Likewise.
	* include/private/gcconfig.h: Likewise.
	* include/private/solaris_threads.h: Likewise.
	* include/private/specific.h: Likewise.
	* tests/test.c: Likewise.
	* tests/test_cpp.cc: Likewise.

	* configure: Rebuild.
	* Makefile.in: Rebuild.

	* mips_sgi_mach_dep.s: Add.

	* alpha_mach_dep.s: Remove.
	* irix_threads.c: Remove.
	* linux_threads.c: Remove.
	* mips_sgi_mach_dep.S: Remove.
	* missing: Remove.
	* powerpc_macosx_mach_dep.s: Remove.
	* doc/Makefile.am: Remove.
	* doc/Makefile.in: Remove.

From-SVN: r69880
2003-07-28 04:18:23 +00:00
Hans Boehm c62b906422 gcconfig.h (GC_data_start): declare when needed.
2003-03-04  Hans Boehm <Hans.Boehm@hp.com>
	* include/private/gcconfig.h (GC_data_start): declare when needed.
	* include/private/gc_priv.h: Include gcconfig.h after ptr_t
	declaration.
	* dyn_load.c (GC_register_dynamic_libraries_dl_iterate_phdr,
	GC_register_dynlib_callback): Register main data for static
	executable if dl_iterate_phdr() didn't.
	* misc.c (GC_init_inner): Call GC_init_linux_data_start() even
	if we don't expect to register main static data.

From-SVN: r63809
2003-03-04 22:18:08 +00:00
Hans Boehm ebcc6a7ec0 mark_rts.c (GC_cond_register_dynamic_libraries): add.
2003-03-03  Hans Boehm  <Hans.Boehm@hp.com>
	* mark_rts.c (GC_cond_register_dynamic_libraries): add.
	(GC_push_roots): explicitly mark free list headers, register
	dynamic libraries only if !REGISTER_LIBRARIES_EARLY.
	* alloc.c (GC_stopped_mark): Conditionally call
	GC_cond_register_dynamic_libraries().
	(GC_collect_a_little_inner, GC_try_to_collect_inner): Check GC_dont_gc.
	* dyn_load.c (GC_register_main_static_data): define.
	(GC_register_dyn_libraries (Linux /proc, Linux ELF versions)):
	no longer skip main data.
	* misc.c (GC_REGISTER_MAIN_STATIC_DATA): define.
	(GC_init_inner): Make main data registration conditional.
	* include/private/gc_priv.h (GC_register_main_static_data): declare.
	* include/private/gcconfig.h (REGISTER_LIBRARIES_EARLY): define
	for LINUX.

From-SVN: r63727
2003-03-03 19:34:11 +00:00
Hans Boehm 787bf7e377 gc_priv.h (WARN macro): Add "GC warning:" prefix.
* include/private/gc_priv.h (WARN macro): Add "GC warning:" prefix.
	(GC_large_alloc_warn_interval, GC_large_alloc_warn_suppressed):
	declare.
	* allchblk.c (GC_allchblk_nth): Change text and support reduced
	frequency for blacklist warning message.
	* misc.c (GC_large_alloc_warn_interval,
	GC_large_alloc_warn_suppressed): define.
	(GC_init_inner): Check GC_NO_BLACKLIST_WARNING and
	GC_LARGE_ALLOC_WARN_INTERVAL environment variables.
	* doc/README.environment (GC_NO_BLACKLIST_WARNING): Deprecate.
	(GC_LARGE_ALLOC_WARN_INTERVAL): Add documentation.

	* dyn_load.c (_DYNAMIC): Move declaration to file scope.

From-SVN: r52053
2002-04-09 00:39:16 +00:00
Anthony Green 512e32d289 Address mingw32 issues.
From-SVN: r50816
2002-03-15 18:01:38 +00:00
Adam Megacz 916c46b5ab dyn_load.c: Renamed GC_win32s to GC_no_win32_dlls.
2002-03-12  Adam Megacz  <adam@xwt.org>

        * dyn_load.c: Renamed GC_win32s to GC_no_win32_dlls.
        * misc.c: Renamed GC_is_win32s() to GC_no_win32_dlls
        * os_dep.c: Renamed GC_win32s to GC_no_win32_dlls and
        statically initialized it to TRUE if compiling with GCC.
        * win32_threads.c (thread_start): We no longer use SEH if
        compiling with GCC.
        * mark.c (GC_mark_some): We no longer use SEH if
        compiling with GCC.

From-SVN: r50671
2002-03-12 19:06:36 +00:00
Bryce McKinlay 79f777fd1e Imported GC 6.1 Alpha 3. Finally.
From-SVN: r49698
2002-02-12 04:37:57 +00:00
Anthony Green b6459d9a78 xscale-elf support
From-SVN: r49626
2002-02-09 00:50:05 +00:00
Adam Megacz b1d246853d gc.h: (GC_CreateThread) This function is now exposed on all Win32 platforms.
2002-02-06  Adam Megacz <adam@xwt.org>

        * boehm-gc/include/gc.h: (GC_CreateThread) This function is
        now exposed on all Win32 platforms.
        * boehm-gc/win32_threads.c: (GC_CreateThread) This now
        compiles on Win32; it invokes CreateThread() if GC is built
        as a DLL; otherwise it registers the thread.
        * boehm-gc/misc.c (GC_init): Initialize GC_allocate_ml in case
        libgcjgc was not built as a DLL.

From-SVN: r49563
2002-02-07 03:56:40 +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 c8cd06a813 misc.c: Back out buggy changes to stack clearing code.
* misc.c: Back out buggy changes to stack clearing code.
	Reduce CLEAR_SIZE to 1/4 of original value to reduce time
	spent clearing memory.

From-SVN: r41172
2001-04-06 17:11:43 -07: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 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
Anthony Green 89afab9c44 misc.c (GC_enable): Always define GC_enable and GC_disable.
2000-03-26  Anthony Green  <green@redhat.com>

	* misc.c (GC_enable): Always define GC_enable and GC_disable.

From-SVN: r32867
2000-04-02 15:36:43 +00:00
Anthony Green abd995697d gcconfig.h: Use libgcj hack for Alpha Linux.
* gcconfig.h: Use libgcj hack for Alpha Linux.
       Undefine MPROTEXT_VDB (from Jeff Sturm).
       * os_dep.c: Remove Alpha Linux hacks.
       * misc.c: Ditto.

From-SVN: r31028
1999-12-20 02:34:52 +00:00
Anthony Green d0017c11ff gcconfig.h (DATASTART): Define as (&data_start) for PowerPC Linux.
* gcconfig.h (DATASTART): Define as (&data_start) for PowerPC
        Linux.
        (DYNAMIC_LOADING): Define for PowerPC Linux.
        * os_dep.c: Remove some special cases for PowerPC Linux.
        * misc.c (GC_init_inner): Don't call GC_init_linux_data_start
        for PowerPC Linux.

From-SVN: r30873
1999-12-12 18:06:08 +00:00
Tom Tromey a57e0ef582 misc.c (GC_init_inner): Don't call GC_init_linuxppc().
* misc.c (GC_init_inner): Don't call GC_init_linuxppc().
	(GC_thr_init): Don't declare.

From-SVN: r30395
1999-11-04 18:53:24 +00:00
Tom Tromey 81976f93fe configure: Rebuilt.
* configure: Rebuilt.
	* configure.in: Removed qt threads case.
	* dyn_load.c: Don't mention QUICK_THREADS.
	* os_dep.c: Don't mention QUICK_THREADS.
	* misc.c: Don't mention QUICK_THREADS.
	* gcconfig.h: Don't mention QUICK_THREADS.
	* gc_priv.h: Removed QUICK_THREADS code.
	* quick_threads.c: Removed.

From-SVN: r30394
1999-11-04 17:25:07 +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 139386ba56 Alpha patch from Jeff Sturm:
* os_dep.c (GC_init_linuxalpha): New function.
	* misc.c: Initialize for alpha linux.
	* gc_priv.h (GC_test_and_set): Define for alpha.
	* config.h: Don't assume __data_start on alpha.

From-SVN: r27670
1999-06-21 15:39:02 +00:00
Tom Tromey 66deb2be59 libtoolized GC library. See ChangeLog for details.
Also a couple bug fixes:
	* dyn_load.c (GC_FirstDLOpenedLinkMap): Declare _DYNAMIC as
	`weak'.
	* misc.c (GC_init_inner): If QUICK_THREADS defined, compute
	GC_stackbottom.

From-SVN: r26650
1999-04-26 14:15:05 +00:00
Tom Tromey 1530be84fc Cygnus/libgcj changes to Boehm GC.
From-SVN: r26257
1999-04-07 08:01:42 +00:00
Tom Tromey 2f5f7a08c8 Initial revision
From-SVN: r26254
1999-04-07 08:01:39 +00:00