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.
hboehm [Mon, 13 Mar 2006 06:41:12 +0000 (06:41 +0000)]
2006-03-12 Hans Boehm <Hans.Boehm@hp.com>
* include/private/gcconfig.h: Dont use USE_ASM_PUSH_REGS on Darwin.
* thread_loal_alloc.c: Avoid empty macro arg.
* mach_dep.c: Avoid getcontext on Darwin.
hboehm [Sat, 11 Feb 2006 02:27:31 +0000 (02:27 +0000)]
2006-02-10 Hans Boehm <hans.boehm@hp.com>
* powerpc_darwin_mach_dep.s: Add ppc64 support (imported from gcc).
* darwin_stop_world.c, misc.c, doc/README.changes,
include/private/gc_priv.h, include/private/gcconfig.h:
minor updates from gcc.
hboehm [Thu, 26 Jan 2006 19:26:25 +0000 (19:26 +0000)]
2006-1-26 Hans Boehm <Hans.Boehm@hp.com>
* Use "=q" in x86 AO_test_and_set_full implementation.
(Also in atomic_ops1.2.)
* gc.h: Add void parameter decl for GC_finalizer_notifier.
hboehm [Sat, 17 Dec 2005 01:24:28 +0000 (01:24 +0000)]
2005-12-16 Hans Boehm <Hans.Boehm@hp.com>
- Changed a test for LINUX in config_macros.h to one for __linux__.
- Use #elif in the definitions of GET_MEM.
- Fix typo in DARWIN section of gcconfig.h.
hboehm [Fri, 9 Dec 2005 22:22:13 +0000 (22:22 +0000)]
2005-12-09 Hans Boehm <Hans.Boehm@hp.com>
Overhaul doc/porting.html, replace the corresponding piece of README with a reference.2005-12-09 Hans Boehm <Hans.Boehm@hp.com>
Overhaul doc/porting.html, replace the corresponding piece of README with a reference.2005-12-09 Hans Boehm <Hans.Boehm@hp.com>
Overhaul doc/porting.html, replace the corresponding piece of README with a reference.2005-12-09 Hans Boehm <Hans.Boehm@hp.com>
Overhaul doc/porting.html, replace the corresponding piece of README with a reference.2005-12-09 Hans Boehm <Hans.Boehm@hp.com>
Overhaul doc/porting.html, replace the corresponding piece of README with a reference.2005-12-09 Hans Boehm <Hans.Boehm@hp.com>
Overhaul doc/porting.html, replace the corresponding piece of README with a reference.2005-12-09 Hans Boehm <Hans.Boehm@hp.com>
Overhaul doc/porting.html, replace the corresponding piece of README with a reference.2005-12-09 Hans Boehm <Hans.Boehm@hp.com>
Overhaul doc/porting.html, replace the corresponding piece of README with a reference.2005-12-09 Hans Boehm <Hans.Boehm@hp.com>
Overhaul doc/porting.html, replace the corresponding piece of README with a reference.