hboehm [Fri, 11 May 2007 00:30:36 +0000 (00:30 +0000)]
2007-05-10 Hans Boehm <Hans.Boehm@hp.com>
* include/gc_cpp.h: Documentation updates.
* include/gc_config_macros.h: Don't check for __ppc__ to set
DARWIN_THREADS.
* Makefile.am: Include configure_atomic_ops.sh in dist.
* Makefile.in: Regenerate.
hboehm [Tue, 1 May 2007 20:45:14 +0000 (20:45 +0000)]
2007-05-01 Hans Boehm <Hans.Boehm@hp.com>
(and Manuel Serrano, Craig McDaniel)
* configure.ac: Comment out redundant
AC_DEFINE(NO_EXECUTE_PERMISSION).
* configure: Regenerate.
* sparc_mach_dep.S: Remove single quote in comment.
* include/private/gcconfig.h: Fix DATAEND for NONSTOP.
* win32_threads.c: Include stdint.h for Mingw. Add GC_API for DllMain.
(GC_use_DllMain): Fix assertion.
a_tobler [Wed, 14 Feb 2007 20:13:00 +0000 (20:13 +0000)]
2007-02-14 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac: Introduce extra_ldflags_libgc. Use it for Darwin.
* configure: Regenerate.
* Makefile.am (libgc_la_LDFLAGS): Use extra_ldflags_libgc.
* Makefile.in: Regenerate.
* include/private/gcconfig.h: Enable MPROTECT_VDB for all Darwin
targets. Remove comments.
Prepare ppc64 support for Darwin.
hboehm [Thu, 25 Jan 2007 23:43:10 +0000 (23:43 +0000)]
2007-01-25 Petr Salinger and Hans Boehm <Hans.Boehm@hp.com>
* include/private/gc_priv.h (NEED_FIND_LIMIT, FREEBSD variant):
also define for X86_64.
* configure.ac: Move generic gnu (Hurd) case to below kfreebsd case.
* configure: Regenerate.
* doc/README.changes: Point to ChangeLog.
a_tobler [Thu, 25 Jan 2007 05:18:27 +0000 (05:18 +0000)]
2007-01-25 Andreas Tobler <a.tobler@schweiz.org>
* darwin_stop_world.c: Move THREAD_FLD defines to ...
* include/private/gc_priv.h: ... here.
Fix THREAD_STATE definitions for ppc64.
* os_dep.c (catch_exception_raise): Use THREAD_FLD for exc_state member
access.
a_tobler [Thu, 11 Jan 2007 19:32:44 +0000 (19:32 +0000)]
2007-01-11 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac (i?86*-*-darwin*): Replaced HAS_I386_THREAD_STATE_* with
HAS_X86_THREAD_STATE32_*.
(x86_64-*-darwin*): Extended the above check for x86_64-*-darwin* with
HAS_X86_THREAD_STATE64_*.
Added value 1 in the above AC_DEFINE's. Important for the upcoming
Leopard.
* configure: Regenerated.
* include/private/gcconfig.h: Modified X86_64 define for Darwin.
Removed __x86_64__ check in POWERPC section. Added base definitions
for the X86_64 Darwin port.
* include/private/gc_priv.h: Added GC_MACH_HEADER and GC_MACH_SECTION
to distinguish between 32 and 64-bit applications. Added definitions
for X86_64 Darwin.
* darwin_stop_world.c: Added HAS_X86_THREAD_STATE64___RAX. And
replaced HAS_I386_THREAD_STATE___EAX with HAS_X86_THREAD_STATE32___EAX.
(GC_push_all_stacks): Added code for X86_64 Darwin. Even for the
!DARWIN_DONT_PARSE_STACK. Maybe obsolete.
* dyn_load.c (GC_dyld_name_for_hdr): Use GC_MACH_HEADER.
(GC_dyld_image_add): Use GC_MACH_HEADER and GC_MACH_SECTION.
Distinguish between getsectbynamefromheader_64 and
getsectbynamefromheader.
* os_dep.c (catch_exception_raise): Introduce exception definition for
X86_64 Darwin. Replaced old i386_EXCEPTION_STATE_* definition with
x86_EXCEPTION_STATE32_*. Add X86_64 for exc_state.faultvaddr.
hboehm [Thu, 14 Dec 2006 21:51:39 +0000 (21:51 +0000)]
2006-12-14 Hans Boehm <Hans.Boehm@hp.com> (with much help, particularly
from Allan Hsu)
* include/private/gcconfig.h: Handle Darwin/X86-64 a bit better.
* include/private/gc_priv.h (GC_THREAD_STATE_T, GC_MAC_THREAD_STATE,
GC_MACH_THREAD_STATE_COUNT): Define for DARWIN.
* os_dep.c: Use GC_MAC_THREAD_STATE.
* darwin_stop_world.c: More portable register state access,
fix premature vm_deallocate.
* configure.ac: Add tests for machine state field names on Darwin.
* configure: Regenerate with autoconf 2.60a.
hboehm [Wed, 6 Dec 2006 19:16:14 +0000 (19:16 +0000)]
2006-12-06 Hans Boehm <Hans.Boehm@hp.com> and Peter Wang
* include/private/thread_local_alloc.h, include/new_gc_alloc.h:
Fix __GNUC__ spelling.
* include/gc.h (GC_general_register_disappearing_link):
Add comments.
2006-09-19 Hans Boehm <Hans.Boehm@hp.com>
* configure.ac, version.h, doc/README: Increment version number
for 7.0alpha7 release.
* configure: Regenerate.
2006-07-07 Hans Boehm <Hans.Boehm@hp.com> (really mostly Andrew Haley)
* include/gc.h, dyn_load.c: (GC_register_has_static_roots_callback):
new function.
2006-07-07 Hans Boehm <Hans.Boehm@hp.com>
* configure.ac, Makefile.am: Move the atomic_ops.c and atomic_ops_sysdeps.S
copying hack from Makefile.am to configure.ac. Include atomic_ops_sysdeps.S
only if necessary.
* Makefile.in, configure: regenerate.
hboehm [Wed, 7 Jun 2006 05:35:31 +0000 (05:35 +0000)]
2006-06-06 Hans Boehm <Hans.Boehm@hp.com> (Really Petr Salinger)
* configure.ac, dyn_load.c, doc/README.changes, include/gc.h,
include/private/gcconfig.h: Add macro tests and configuration
information to support kFreeBSD + glibc.
hboehm [Thu, 1 Jun 2006 18:41:20 +0000 (18:41 +0000)]
2006-06-01 Hans Boehm <Hans.Boehm@hp.com>
* include/private/gcconfig.h: Fix malloc redirection &
USE_PROC_FOR_LIBRARIES test and comment.
Define INCLUDE LINUX_THREAD_DESCR for malloc redirection with
Linux threads.
hboehm [Thu, 1 Jun 2006 18:37:51 +0000 (18:37 +0000)]
2006-06-01 Hans Boehm <Hans.Boehm@hp.com>
* dyn_load.c, misc.c, include/private/gc_priv.h: More consistently use
ptr_t for addresses.
* os_dep.c (GC_get_file_len, GC_get_maps_len): new functions.
(GC_get_maps): replaces GC_apply_to_maps, retry for asynchronous
removals.
(GC_enclosing_mapping): new functions.
(GC_setup_temporary_fault_handler): add locking assertion.
(GC_find_limit_with_bound): new function.
(GC_find_limit): Reimplement.
(backing_store_base_from_proc): Reimplement.
(GC_get_register_stack_base): Fix for 2.6 kernels.
(IA64 GC_get_stack_base): Avoid scanning through adjacent stack.
(GC_print_address_map): Use GC_get_maps().
* pthread_support.c: (GC_greatest_stack_base_below): new function.
(GC_segment_is_thread_stack): return boolean. On IA64 check for reg.
stacks. (INCLUDE_LINUX_THREAD_DESCR): initial support.
* misc.c: Add ptr_t and USE_PROC_FOR_LIBRARIES checks, register one
word offset with malloc redirection.
* include/private/gc_priv.h: Now need find_limit on IA64.
hboehm [Sat, 6 May 2006 05:19:58 +0000 (05:19 +0000)]
2006-05-05 Hans Boehm <Hans.Boehm@hp.com>
* Makefile.am: conditionally include some libatomic_ops sources
in libgc.
* configure.ac: fix libatomic_ops handling.
* Makefile.in, configure, aclocal.m4: regenerate.
hboehm [Wed, 3 May 2006 00:37:20 +0000 (00:37 +0000)]
2006-05-02 Hans Boehm <Hans.Boehm@hp.com>
* include/private/gc_locks.h: Add I_DONT_HOLD_LOCK.
* dbg_mlc.c: Use I_DONT_HOLD_LOCK instead of !I_HOLD_LOCK.
* thread_local_alloc: Reference ERROR_FL only when defined.
* os_dep.c: comment out unused and incorrect syscall wrapper code.
2006-04-28 Hans Boehm <Hans.Boehm@hp.com>
* NT_STATIC_THREADS_MAKEFILE: Assorted cleanups and bug fixes for VC++.net
* mark.c (alloc_mark_stack): Recycle old stack only if it doesn't break
GWW_VDB.
* misc.c: Try to initialize GWW_VDB earlier. Remove seemingly obsolete
initialization code. More consistently use GC_LOF_FILE.
* os_dep.c (GC_unix_get_mem): Ensure sbrk lock release on Irix, even in the
really obscure cases.
Fix GetWriteWatch error handling; work around slightly late calls to
GC_enable_incremental().
2006-04-28 Hans Boehm <Hans.Boehm@hp.com>
* thread_local_alloc.c (GC_gcj_malloc): Once again punt in incremental mode.
The old code contained unavoidable races in that case.
2006-04-28 Hans Boehm <Hans.Boehm@hp.com>
* mark_rts.c: Have GC_add_roots and GC_clear_roots initialize GC
if necessary.
* include/gc.h (GC_INIT): Remove redundant GC_init calls, add second
precollection if roots were added late.
2006-04-24 Hans Boehm <Hans.Boehm@hp.com>
* thread_local_alloc.c, include/gc_inline.h,
include/private/thread_local_alloc.h: Make non-gcj local
free lists for size 0 contains normal 1 granule objects.
* test/test.c: Add test for explicit deallocation of size zero
objects.
2006-04-12 Hans Boehm <Hans.Boehm@hp.com>
* win32_threads.c: Fix GC_win32_start_inner args, add support
for _beginthreadex and friends.
* doc/README.win32: Update, reorganize.
* include/gc.h: Use backtrace on windows, intercept Windows
thread creation/destruction primitives.