Commit Graph

64 Commits

Author SHA1 Message Date
H.J. Lu
652466353b gcconfig.h (PREFETCH): Use __builtin_prefetch for gcc >= 3.0.
2004-04-06  H.J. Lu  <hongjiu.lu@intel.com>

	* include/private/gcconfig.h (PREFETCH): Use __builtin_prefetch
	for gcc >= 3.0.
	(PREFETCH_FOR_WRITE): Likewise.

From-SVN: r80459
2004-04-06 11:05:05 -07:00
Nathanael Nerode
7664e6f81c configure.in: Add CCAS, CCASFLAGS for future automakes.
* configure.in: Add CCAS, CCASFLAGS for future automakes.
	* configure, Makefile.in, include/Makefile.in: Regenerate.

From-SVN: r78540
2004-02-27 00:16:56 +00:00
Nathanael Nerode
d38d600314 configure.in: Use NCN_TARGET_NONCANONICAL and friends.
* configure.in: Use NCN_TARGET_NONCANONICAL and friends.
	* configure: Regenerate.
	* Makefile.am: Use target_noncanonical variable from configure.
	* Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.

From-SVN: r78317
2004-02-23 16:19:20 +00:00
Andrew Haley
1bec19ccf7 gcconfig.h (USE_MMAP): Define for all Linux.
2004-01-20  Andrew Haley  <aph@redhat.com>

        * include/private/gcconfig.h (USE_MMAP): Define for all Linux.

        * configure.in: Comment change.

From-SVN: r76210
2004-01-20 15:18:33 +00:00
Richard Earnshaw
35a59bd56f * include/private/gcconfig.h: Re-install change of 2003-04-16.
From-SVN: r73134
2003-10-31 11:03:00 +00:00
Alan Modra
d938f1718c gcconfig.h (ALIGNMENT <powerpc linux>): Remove unsure comment.
* include/private/gcconfig.h (ALIGNMENT <powerpc linux>): Remove
	unsure comment.

From-SVN: r72608
2003-10-18 00:29:17 +09:30
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
Anthony Green
0722cb666c Fix arm-elf support.
From-SVN: r71613
2003-09-21 00:15:52 +00:00
Danny Smith
822ed7f806 gc.h (GC_CreateThread): Declare with WINAPI attribute.
* include/gc.h (GC_CreateThread): Declare with WINAPI
	attribute.
	* win32_threads.c (GC_CreateThread): Make definitions consistent
	with declaration.  Cast &thread_table[i].handle to PHANDLE
	in call to DuplicateHandle
	(thread_start): Declare as static.

From-SVN: r69990
2003-07-31 04:52:36 +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
Jeff Sturm
6991c6c926 Initial revision
From-SVN: r69872
2003-07-28 03:46:07 +00:00
Richard Earnshaw
351c2c4b2f * include/private/gcconfig.h: Add support for arm-netbsdelf.
From-SVN: r65692
2003-04-16 18:28:29 +00:00
Tom Tromey
739c578934 gcconfig.h (LINUX_STACKBOTTOM): Define for POWERPC.
* include/private/gcconfig.h (LINUX_STACKBOTTOM): Define for
	POWERPC.
	(STACK_GRAN, HEURISTIC1): Don't define for POWERPC.

From-SVN: r65411
2003-04-10 00:08:10 +00:00
Richard Henderson
2298018014 gc_locks.h [IA64]: Include ia64intrin.h.
* include/private/gc_locks.h [IA64]: Include ia64intrin.h.
        (GC_test_and_set): Use __sync_lock_test_and_set.
        (GC_clear): Use volatile assignment.
        (GC_compare_and_exchange): Use __sync_bool_compare_and_swap.
        (GC_memory_write_barrier): Use __sync_synchronize.

From-SVN: r64736
2003-03-22 17:36:22 -08: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
Andreas Tobler
290a4db981 gcconfig.h: undefine MPROTECT_VDB for MACOSX
2003-02-11  Andreas Tobler  <a.tobler@schweiz.ch>

        * include/private/gcconfig.h: undefine MPROTECT_VDB for MACOSX

From-SVN: r62705
2003-02-11 19:22:08 +01:00
Tom Tromey
7d60eb23b7 For PR libgcj/8933:
* include/Makefile.in: Rebuilt.
	* include/Makefile.am (noinst_HEADERS): Renamed from
	include_HEADERS.

From-SVN: r60702
2002-12-31 17:52:25 +00:00
Andreas Jaeger
eae853b7d5 * include/private/gcconfig.h (HBLKSIZE): Define for x86-64.
From-SVN: r57728
2002-10-02 08:25:37 +02:00
Richard Earnshaw
82cfabc1a9 gcconfig.h: Don't check for __XSCALE__.
* include/private/gcconfig.h: Don't check for __XSCALE__.  Instead
check for __arm__ or __thumb__.

From-SVN: r57610
2002-09-28 12:12:36 +00:00
Ulrich Weigand
10a197ee7c gcconfig: Add machine type S390.
* include/private/gcconfig: Add machine type S390.  Add s390x support.
	* include/private/gc_locks.h (GC_test_and_set): Implement for s390.
	(GC_compare_and_exchange): Likewise.

From-SVN: r57592
2002-09-27 20:40:06 +00:00
Jason Thorpe
179a9cafbe * include/private/gcconfig.h: Fix NetBSD/mips parameters.
From-SVN: r57479
2002-09-24 17:41:01 +00:00
Bo Thorsen
c42c75bfc4 Remove dead endif so x86-64 compilation works.
From-SVN: r55585
2002-07-19 13:21:36 +02:00
Bo Thorsen
48528b673e gcconfig.h: Add x86-64 definitions.
2002-07-18  Bo Thorsen  <bo@suse.de>

	* include/private/gcconfig.h: Add x86-64 definitions.
	* os_dep.c: Add x86-64 support.
	* configure.in: Likewise.
	* configure: Regenerate.

Approved by Hans Boehm.

From-SVN: r55584
2002-07-19 10:54:44 +02:00
H.J. Lu
f3e83dc224 gc_locks.h (GC_test_and_set): Support Linux/mips.
* include/private/gc_locks.h (GC_test_and_set): Support
	Linux/mips.
	(GC_TEST_AND_SET_DEFINED): Likewise.

	* include/private/gcconfig.h (DYNAMIC_LOADING): Defined for
	Linux/mips.
	(DATAEND): Likewise.
	(LINUX_STACKBOTTOM): Likewise.
	(STACKBOTTOM): Removed for Linux/mips.

From-SVN: r54444
2002-06-10 17:10:21 +00:00
Mark Mitchell
61039cd09e irix_threads.cc (GC_pthread_detach): Do not use REAL_FUNC.
* irix_threads.cc (GC_pthread_detach): Do not use REAL_FUNC.
	(GC_pthread_create): Fix typo.
	(GC_TRY_LOCK): Likewise.
	* include/private/gc_locks.h (GC_test_and_set): Only take one
	one argument.
	(LOCK): Adjust appropriately.
	* include/private/gc_priv.h (SIG_SUSPEND): Use SIGRTMIN if
	_SIGRTMIN is unavailable.

From-SVN: r53636
2002-05-19 17:36:14 +00:00
David S. Miller
a61df6c727 [multiple changes]
2002-04-22  David S. Miller  <davem@redhat.com>

	* include/private/gcconfig.h: Hard-code STACKBOTTOM on
	64-bit SPARC Linux, the __libc_stack_end technique does
	not work in this case.

2002-04-22  Jeff Sturm  <jsturm@one-point.com>

	* gcconfig.h: Enable DYNAMIC_LOADING for all sparc-solaris ABIs.

From-SVN: r52601
2002-04-21 23:07:41 -07:00
Hans Boehm
9416403264 gcconfig.h: Use LINUX_STACKBOTTOM for SPARC Linux.
* include/private/gcconfig.h: Use LINUX_STACKBOTTOM for
	SPARC Linux.

From-SVN: r52440
2002-04-17 19:54:59 +00:00
Loren J. Rittle
b911c031b3 gcconfig.h (DATAEND): Update comment example to match reality.
* include/private/gcconfig.h (DATAEND): Update comment example
	to match reality.

From-SVN: r52098
2002-04-09 23:11:36 +00:00
Loren J. Rittle
e285b25952 * include/private/gcconfig.h (DATAEND): Clarify comment.
From-SVN: r52054
2002-04-09 01:35:21 +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
Loren J. Rittle
3c55704ebb gcconfig.h: Add support for an unmapped memory hole between the end of the initialized data...
* include/private/gcconfig.h: Add support for an unmapped
	memory hole between the end of the initialized data segment
	and the start of the BSS on FreeBSD/i386.

From-SVN: r51867
2002-04-04 20:49:38 +00:00
Bryce McKinlay
c71f2c0640 gcconfig.h: define DYNAMIC_LOADING for ELF NetBSD/i386.
2002-03-30  Krister Walfridsson  <cato@df.lth.se>

	* include/private/gcconfig.h: define DYNAMIC_LOADING for ELF
        NetBSD/i386.

From-SVN: r51616
2002-03-31 00:15:36 +00:00
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
Loren J. Rittle
ed47971a35 gcconfig.h: Change all likely references to linker script synthesized symbols to use this...
* include/private/gcconfig.h: Change all likely references
	to linker script synthesized symbols to use this idiom:
	extern int etext[]; etext

From-SVN: r51352
2002-03-25 23:20:31 +00:00
Loren J. Rittle
c0561434cd gcconfig.h: Add unified test for FreeBSD.
* include/private/gcconfig.h: Add unified test for FreeBSD.
	Support FreeBSD/alpha.
	* os_dep.c: Do not include <machine/trap.h> unless available.
	(GC_freebsd_stack_base): Fix types.

From-SVN: r51159
2002-03-22 02:40:32 +00:00
Bryce McKinlay
4559716751 Hashtable synchronization for PowerPC.
libjava:
	Hashtable synchronization for PowerPC.
	* configure.in: Define SLOW_PTHREAD_SELF if configure.host set
	slow_pthread_self. Set up symlink for sysdeps directory.
	* configure: Rebuild.
	* configure.host: Document more shell variables. Set sysdeps_dir
	for most platforms. Set slow_pthread_self for i686. Set
	enable_hash_synchronization_default and slow_pthread_self for PowerPC.
	* posix-threads.cc (_Jv_ThreadSelf_out_of_line): Use release_set so
	that memory barrier is emitted where required.
	* prims.cc: 64-bit align static primitive class instances.
	* include/posix-threads.h (_Jv_ThreadSelf for SLOW_PTHREAD_SELF): Add
	read_barrier() to enforce ordering of reads.
	* sysdep/powerpc/locks.h: New file. Implementation of synchronization
	primitives for PowerPC.
	* sysdep/i386/locks.h: New file. Synchronization primitives for i386
	moved from natObject.cc.
	* sysdep/alpha/locks.h: Likewise.
	* sysdep/ia64/locks.h: Likewise.
	* sysdep/generic/locks.h: Likewise.
	* java/lang/natObject.cc: Move thread synchronization primitives to
	system-dependent headers.
gcc/java:
	* decl.c (java_init_decl_processing): Make sure class_type_node
	alignment is not less than 64 bits if hash synchronization isenabled.

boehm-gc:
	* include/gc_priv.h: Define ALIGN_DOUBLE on 32 bit targets if GCJ
	support is enabled, for hash synchronization.

From-SVN: r50523
2002-03-10 03:53:16 +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
Adam Megacz
7e57448e82 2002-02-01 Adam Megacz <adam@xwt.org>
* boehm-gc on win32 now automatically detects if it is being built
	as a DLL; see http://gcc.gnu.org/ml/java/2001-12/msg00240.html

From-SVN: r49426
2002-02-02 04:23:13 +00:00
David Edelsohn
6cb3421f1f gc.h (GC_INIT): Add DATASTART and DATAEND roots on AIX.
* include/gc.h (GC_INIT): Add DATASTART and DATAEND roots on AIX.
	* include/private/gcconfig.h (RS6000): Add 64-bit AIX support.
	Define USE_GENERIC_PUSH_REGS.  Use AIX _data and _end symbols for
	DATASTART and DATAEND roots.
	* rs6000_mach_dep.s: Add function descriptor and traceback table.

From-SVN: r49218
2002-01-25 13:06:24 -05:00
Jeff Sturm
a5b2a65b97 dyn_load.c: Define ElfW (if needed) for all targets, not just GNU/Linux.
* dyn_load.c: Define ElfW (if needed) for all targets,
	not just GNU/Linux.
	(GC_FirstDLOpenedLinkMap): Use it.
	(GC_register_dynamic_libraries_dl): Use it.
	* include/private/gcconfig.h: Define CPP_WORDSZ, ELF_CLASS
	for sparcv9.

From-SVN: r48086
2001-12-17 03:24:50 +00:00
Loren J. Rittle
dc8a02024d solaris_threads.h: Update to use GC_SOLARIS_THREADS.
* include/private/solaris_threads.h: Update to use GC_SOLARIS_THREADS.

Co-Authored-By: Andreas Tobler <toa@pop.agri.ch>

From-SVN: r46451
2001-10-23 23:21:39 +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
Rainer Orth
9c383523a3 solaris_threads.c (MAX_ORIG_STACK_SIZE): Provide special Solaris 2/Intel definition.
* solaris_threads.c (MAX_ORIG_STACK_SIZE) [I386]: Provide special
	Solaris 2/Intel definition.

	* configure.in (i?86-*-solaris2.[89]*): Define
	SOLARIS25_PROC_VDB_BUG_FIXED.
	* include/private/gcconfig.h [I386 && SUNOS5]: Use it.
	* configure: Regenerate.

	* include/private/gcconfig.h [I386 && SUNOS5] (DATASTART): Use _etext.
	(DATAEND): Define using _end.

From-SVN: r45825
2001-09-26 13:22:03 +00:00
Per Bothner
1a8a749c24 Makefile.am: New file.
* include/Makefile.am:  New file.  It defines include_HEADERS.
	* Makefile.am (SUBDIRS):  New macro, set to include.
	* configure.in (AC_OUTPUT):  Add include/Makefile.

From-SVN: r45555
2001-09-11 18:57:03 -07: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