1 2008-05-03 Hans Boehm <Hans.Boehm@hp.com>
3 * doc/gcinterface.html: Improve C++ interface documentation.
5 2008-03-10 Hans Boehm <Hans.Boehm@hp.com>
7 * allchblk.c (GC_allochblk): Check for overflow during size
9 * tests/huge_test.c: New.
10 * Makefile.direct, tests/tests.am: Add huge_test.c
11 * Makefile.in: Regenerate.
13 2008-02-29 Hans Boehm <Hans.Boehm@hp.com>
15 * pthread_support.c: Fix typo in comment.
16 * os_dep.c (GC_win32_get_mem): Add heap section only if
19 2008-02-28 Hans Boehm <Hans.Boehm@hp.com>
21 * malloc.c: (free replacement) Fix caller address space check.
23 2008-02-25 Hans Boehm <Hans.Boehm@hp.com>
25 * finalize.c (GC_grow_table): Dereference table in null-check.
27 2008-02-24 Hans Boehm <Hans.Boehm@hp.com>
29 * win32_threads.c (GC_delete_gc_thread, GC_delete_thread):
30 Consistently call CloseHandle. (GC_suspend): Call
32 * tests/test.c: Don't reference GC_print_stats if not exported.
34 2008-02-20 Hans Boehm <Hans.Boehm@hp.com>
36 * tests/test.c (run_one_test): Don't mention pthread_self().
37 * misc.c: Declare GC_thr_init().
39 2008-02-20 Hans Boehm <Hans.Boehm@hp.com>
41 * allchblk.c (add_to_fl): disable assertions with USE_MUNMAP,
42 and refine assertions to handle huge unmergable blocks.
43 (GC_allochblk_nth): Add comment.
45 2008-02-20 Hans Boehm <Hans.Boehm@hp.com>
47 * include/private/gcconfig.h: Add misssing FREEBSD macro
50 2008-02-20 Hans Boehm <Hans.Boehm@hp.com>
52 * allchblk.c (GC_enough_large_bytes_left): No longer take
53 parameters; return free list index bound.
54 (GC_merge_unmapped): Don't access nexthdr until after null test.
55 (Fixes bug in 1/29/08 check-in.) (GC_allochblk): Calculate
56 when splitting is allowable only once here, not when considering each
57 block. (GC_allchblk_nth): Accept new may_split parameter.
58 Avoid some redundant tests for exact size matches.
59 * alloc.c (GC_should_collect): Cache min_bytes_allocd.
60 (GC_maybe_gc): Make locking assertion testable.
61 * mark_rts.c: Fix indentation.
62 * pthread_stop_world.c: Replace old GC_err_printf1 reference.
63 * tests/test.c: Remove (void) casts. Optionally print some
66 2008-02-15 Hans Boehm <Hans.Boehm@hp.com>
68 * windows-untested/gc.def: Remove CreateThread line.
69 * windows-untested/README: New file.
70 * win32_threads.c (GC_use_DllMain): Force collector initialization.
71 (GC_init_parallel): Reformat comment.
72 * include/gc.h (GC_use_DllMain): Clarify usage rules in comment.
73 * mark.c (GC_mark_from): Slightly simplify GC_DS_PER_OBJECT code.
74 * include/gc_cpp.h: Add matching placement delete overloads
76 * include/private/gc_locks.h (NO_THREAD): Add cast.
77 * include/private/gcconfig.h: Add test for __HP_aCC.
78 * configure.ac, tests/tests.am: Avoid libgccpp on HP/UX.
79 * Makefile.in, configure: Regenerate.
81 2008-02-11 Hans Boehm <Hans.Boehm@hp.com> (partly David Leonard)
83 * doc/README.win32: Fix typo.
84 * configure.ac: Fix printing of enable-shared result.
85 * configure: Regenerate.
87 2008-02-08 Hans Boehm <Hans.Boehm@hp.com>
89 * misc.c (GC_init_inner): Assert !GC_need_to_lock only when
90 defined. (GC_call_with_stack_base): Add GC_API.
91 * os_dep.c (GC_get_stack_base): Add GC_API.
92 * win32_threads.c: (GC_register_my_thread, GC_unregister_my_thread):
94 * include/gc.h: Add GC_API annotations.
95 * include/private/gc_locks.h: Define UNCOND_LOCK etc. also for
97 * include/private/gc_pmark.h: Fix comments.
99 2008-02-06 Hans Boehm <Hans.Boehm@hp.com> (mostly from Henning Makholm)
101 * include/private/gc_priv.h, mark_rts.c, typd_mlc.c:
102 Add GC_push_typed_structures() to push GC_ext_descriptors.
104 2008-01-31 Hans Boehm <Hans.Boehm@hp.com> (mostly from Andreas Tobler)
106 * tests/test.c: Call GC_INIT for DARWIN; test system type using
107 gcconfig.h-defined macros.
109 2008-01-29 Hans Boehm <Hans.Boehm@hp.com>
111 * allchblk.c (GC_merge_unmapped, GC_freehblk): Refuse to create
112 blocks large enough that their size, when interpreted as a signed
113 value, would be negative.
114 * include/private/gc_priv.h: Comment hb_sz range limit.
116 2008-01-29 Hans Boehm <Hans.Boehm@hp.com> (with help from Manuel Serrano)
118 * mark.c (GC_push_next_marked): correct comment.
119 * Makefile.direct: document NO_PROC_STAT.
120 * include/private/gcconfig.h: Accomodate NO_PROC_STAT.
122 2008-01-10 Hans Boehm <Hans.Boehm@hp.com>
124 * include/gc_version.h, configure.ac, doc/README:
125 Change to version 7.1alpha3.
126 * configure: Regenerate.
130 2008-01-10 Hans Boehm <Hans.Boehm@hp.com>
132 * include/gc_version.h, configure.ac, doc/README:
133 Change to version 7.1alpha2.
134 * configure: Regenerate.
136 2008-01-10 Hans Boehm <Hans.Boehm@hp.com>
138 * Makefile.am: Mention atomic_ops.c and atomic_ops_sysdeps.S
139 again. Refer to build directory as ".".
140 * Makefile.in: Regenerate.
142 2008-01-10 Hans Boehm <Hans.Boehm@hp.com>
144 * configure.ac: Ignore --enable-parallel-mark on Darwin for now.
145 * configure: Regenerate.
146 * darwin_stop_world.c: Add FIXME comment for parallel marker.
148 2008-01-09 Hans Boehm <Hans.Boehm@hp.com>
150 * include/private/gc_priv.h: Update MAX_ROOT_SETS
151 and LOG_PHT_ENTRIES to handle larger heaps.
153 2008-01-03 Hans Boehm <Hans.Boehm@hp.com>
155 * include/gc.h (GC_INIT,GC_init): Update comments.
157 2008-01-03 Hans Boehm <Hans.Boehm@hp.com> (based on a patch from
158 John Bowman, and an ancient patch from Fergus Henderson)
160 * allchblk.c, alloc.c, include/private/gc_priv.h:
161 Track GC_bytes_dropped and use in GC triggering decisions.
162 * alloc.c (min_bytes_allocd): Weight atomic blocks less.
164 2008-01-02 Hans Boehm <Hans.Boehm@hp.com>
166 * alloc.c (GC_add_to_heap): Call GC_install_header(p) AFTER
169 2007-12-23 Hans Boehm <Hans.Boehm@hp.com>
171 * Makefile.am: Add NT_X64_THREADS_MAKEFILE.
173 2007-12-23 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Friedrich Dominicus)
175 * NT_X64_STATIC_THREADS_MAKEFILE: Clean up obsolete comment.
176 * alloc.c: Add declaration for GC_add_current_malloc_heap.
177 * win32_threads.c (GC_beginthreadex): Clean up error
179 * doc/README.win64, NT_X64_THREADS_MAKEFILE, Makefile.direct:
180 Add NT_X64_THREADS_MAKEFILE.
182 2007-12-21 Hans Boehm <Hans.Boehm@hp.com>
184 * alloc.c: Define GC_version instead of in version.h.
186 * include/gc_version.h: Move most of version.h here.
187 * include/gc.h: Include gc_version.h.
188 * gcname.c, add_gc_prefix.c: include gc.h instead of version.h.
189 * Makefile.direct, Makefile.dj, Makefile.am, include/include.am:
190 Adjust for version.h rename.
191 * Makefile.in: Regenerate.
193 2007-12-21 Hans Boehm <Hans.Boehm@hp.com> (Really mostly russ sludge dot net)
195 * configure.ac: Put libatomic_ops links in build directory.
196 * configure: Regenerate.
197 * Makefile.am: Dont mention atomic_ops.c and atomic_ops_sysdeps.S
200 2007-12-20 Hans Boehm <Hans.Boehm@hp.com>
202 * include/gc.h, doc/README.macros: Add GC_NO_THREAD_REDIRECTS,
203 GC_NO_THREAD_DECLS, don't test explicitly for GC_SOLARIS_THREADS.
205 2007-12-20 Hans Boehm <Hans.Boehm@hp.com>
207 * alloc.c: Deal correctly with address wrapping for
208 GC_greatest_plausible_heap_addr and GC_least_plausible_heap_addr.
209 * finalize.c, include/gc.h (GC_register_disappearing_link,
210 GC_register_finalizer_inner): Improve out-of-memory handling.
211 * include/private/gc_pmark.h: Fix comment spelling.
213 2007-12-18 Hans Boehm <Hans.Boehm@hp.com> (really mainly Peter Wang)
215 * include/gc_inline.h, include/gc_tiny_fl.h: cleanups to make usable
218 2007-12-18 Hans Boehm <Hans.Boehm@hp.com> (really Radek Polak)
220 * include/gc.h: Don't define GC_HAVE_BUILTIN_BACKTRACE for uclibc.
222 2007-12-18 Hans Boehm <Hans.Boehm@hp.com>
224 * gc_cpp.cc: Don't include gc_cpp.h from local directory.
226 2007-12-18 Hans Boehm <Hans.Boehm@hp.com> (really Adam Megacz)
228 * allchblk.c, configure.ac (add --enable-munmap)
229 * configure: Regenerate.
231 2007-12-10 Andreas Tobler <a.tobler@schweiz.org>
233 * dyn_load.c (GC_dyld_image_add): Remove ifdef clause and use the macro
234 GC_GETSECTBYNAME instead.
235 * include/private/gc_priv.h: Define GC_GETSECTBYNAME according to the
236 architecture (Darwin).
238 2007-10-24 Hans Boehm <Hans.Boehm@hp.com>
240 * reclaim.c (GC_bytes_found): Expand comment.
241 * thread_local_alloc.c (GC_malloc_atomic, GC_gcj_malloc): Pass
242 granules, not bytes, to GC_FAST_MALLOC_GRANS.
243 * include/gc.h: Never include gc_local_alloc.h.
244 * tests/test.c: Add size zero allocation tests.
246 2007-10-23 Hans Boehm <Hans.Boehm@hp.com>
248 * malloc.c: Update GC_large_allocd_bytes on explicit deallocation.
249 * allchblk.c: Sanity check GC_max_large_allocd_bytes.
251 2007-10-23 Hans Boehm <Hans.Boehm@hp.com> (Really Manuel Serrano)
253 * Makefile.direct: Invoke $(MAKE) instead of make.
255 2007-10-23 Hans Boehm <Hans.Boehm@hp.com>
257 * doc/scale.html: Reflect gc7 thread local allocation behavior.
259 2007-10-23 Hans Boehm <Hans.Boehm@hp.com> (really Petter Urkedal)
261 * include/extra/gc.h, include/extra/gc_cpp.h: New.
262 * include/include.am: Install gc.h and gc_cpp.h in $(prefix)/include
264 * Makefile.in: Regenerate.
266 2007-08-15 Hans Boehm <Hans.Boehm@hp.com> (really Samuel Thibault)
268 * pthread_support.c (GC_thr_init): Use sysconf(_SC_NPROCESSORS_ONLN)
271 2007-08-14 Hans Boehm <Hans.Boehm@hp.com> (really David Daney)
273 * include/private/gcconfig.h: Add Linux/mips-64 support.
275 2007-08-14 Hans Boehm <Hans.Boehm@hp.com> (really mostly Samuel Thibault)
277 * dbg_mlc.c: Use random() on all glibc systems.
278 * mach_dep.c (GC_with_callee_saves_pushed): Don't use getcontext() on
280 * pthread_stop_world.c (GC_suspend_handler, GC_stop_init): Accomodate
281 systems without SA_SIGINFO.
283 2007-08-14 Hans Boehm <Hans.Boehm@hp.com> (partly really Henrik Theiling)
285 * include/gc.h (GC_PTR_STORE): Fix non-DEBUG parentheses.
286 * tests/test.c (run_one_test): Add GC_PTR_STORE test.
287 No longer test for RS6000.
289 2007-08-03 Hans Boehm <Hans.Boehm@hp.com>
291 * alloc.c, backgraph.c, headers.c, include/private/gc_priv.h:
292 Maintain GC_our_memory and GC_n_memory.
293 * dbg_mlc.c (GC_print_smashed_obj): Improve message.
294 (GC_print_all_smashed_proc): Pass client object address instead of
296 * dyn_load.c (sort_heap_sects): New. (GC_register_map_entries):
297 Register sections that are contiguous and merged with our heap.
298 * malloc.c, os_dep.c (GC_text_mapping): Check for just base name
300 * malloc.c (calloc): Check for special callers even with
301 USE_PROC_FOR_LIBRARIES. Move assertion. Add rudimentary
303 * misc.c: No longer call GC_init_lib_bounds explicitly.
304 * thread_local_alloc.c (GC_malloc, GC_malloc_atomic): Always
305 initialize on demand.
306 * tests/test.c: Call GC_INIT only when required.
308 2007-08-03 Hans Boehm <Hans.Boehm@hp.com>
310 * Makefile.direct: Remove comment fragment.
311 * tests/tests.am: Add smashtest.
312 * Makefile.in: Regenerate.
313 * configure.ac: Define GC_USE_DLOPEN_WRAP with redirect-malloc.
314 * configure: Regenerate.
315 * pthread_support.c: Fix comment spelling.
316 * include/private/gcconfig.h: Define USE_PROC_FOR_LIBRARIES with
317 GC_LINUX_THREADS and REDIRECT_MALLOC.
318 * tests/smash_test.c: Initial check-in.
319 * obj_map.c: Print log entry to correct file.
320 * include/private/thread_local_alloc.h: Add TlsAlloc error check.
322 2007-07-23 Hans Boehm <Hans.Boehm@hp.com>
324 * alloc.c (GC_stopped_mark): Call GC_add_current_malloc_heap()
325 while world is still running.
326 * os_dep.c (GC_is_heap_base): Don't call GC_add_current_malloc_heap()
328 * include/gc.h (GC_INIT for cygwin): Always call GC_add_roots.
329 * misc.c (GC_init/GC_init_inner): Perform all work in
331 * Makefile.direct: Expand -DUSE_MUNMAP comment.
333 2007-07-23 Hans Boehm <Hans.Boehm@hp.com> (really Jim Marshall)
335 * include/gc.h: Define uintptr_t explicitly for VC++6.
336 * msvc_dbg.c (GetModuleBase): Revert to strcat if strcat_s doesn't
339 2007-07-02 Hans Boehm <Hans.Boehm@hp.com>
341 * version.h, configure.ac, doc/README: Change to version 7.1alpha1.
342 * configure: Regenerate.
344 2007-07-02 Hans Boehm <Hans.Boehm@hp.com>
346 * version.h, configure.ac, doc/README: Change to version 7.0.
347 * configure: Regenerate.
349 2007-07-02 Hans Boehm <Hans.Boehm@hp.com>
351 * include/gc_config_macros.h: Also check for IA64 when setting
353 * mallocx.c: Change my_bytes_allocd to signed_word.
354 * include/gc_pthread_redirects.h: Remove obsolete Solaris threads
355 (as opposed to pthreads) support.
357 2007-07-02 Hans Boehm <Hans.Boehm@hp.com>
359 * mach_dep.c (GC_with_callee_saves_pushed): Don't use getcontext()
360 on ARM/Linux. Check getcontext() return value.
362 2007-06-29 Hans Boehm <Hans.Boehm@hp.com>
364 * backgraph.c (per_object_func): Make argument types consistent.
365 (GC_traverse_back_graph): Mark GC_deepest_obj.
367 2007-06-29 Hans Boehm <Hans.Boehm@hp.com>
369 * finalize.c (GC_finalize): Change dl_size and fo_size to size_t.
370 * os_dep.c (GC_win32_get_mem): Add GC_mem_top_down option.
372 2007-06-28 Hans Boehm <Hans.Boehm@hp.com>
374 * doc/README.win32, doc/README, README.QUICK: Fix some of the worst
376 * dyn_load.c: Partially support cygwin, but don't enable it yet.
378 2007-06-28 Hans Boehm <Hans.Boehm@hp.com>
380 * Makefile.am: Use -no-undefined for libgc.
381 * Makefile.in: Regenerate.
382 * Makefile.direct: Document USE_PROC_FOR_LIBRARIES.
383 * dyn_load.c (GC_register_map_entries): Rename prot_buf to prot
385 * misc.c: Fix some WARN calls. Move GC_is_initialized setting and
387 * os_dep.c: Consistently use WARN where appropriate.
388 * thread_local_alloc.c: Revert change to GC_WIN32_THREADS test. Instead
389 remove inappropriate pthread.h include.
390 * doc/README.linux: Remove some anachronisms.
392 2007-06-23 Hans Boehm <Hans.Boehm@hp.com>
394 * alloc.c: Also use GC_check_tls on non-Linux systems.
395 * mallocx.c (GC_reclaim_generic): Remove bogus declaration.
396 * include/private/gc_priv.h (GC_reclaim_generic): Declare correctly
399 2007-06-19 Hans Boehm <Hans.Boehm@hp.com>
401 * alloc.c (GC_adj_bytes_allocd): Avoid (long) casts, fix comment.
402 (GC_print_heap_sects): Use size_t instead of unsigned long.
403 * thread_local_alloc.c (GC_lookup_thread): Define in the correct
405 * win32_threads.c, include/gc_config_macros.h: The last of Romano
406 Paolo Tenca's patch. Move stdint.h include to gc_config_macros.h.
407 * include/gc_inline.h: Avoid gc_priv.h dependencies.
408 * tests/test.c (check_heap_stats): Replace unsigned long with size_t.
410 2007-06-12 Hans Boehm <Hans.Boehm@hp.com>
412 * aclocal.m4: Regenerate to update date.
414 2007-06-10 Hans Boehm <Hans.Boehm@hp.com>
416 * NT_X64_STATIC_THREADS_MAKEFILE: Replace obsolete -debugtype:cv.
417 * mark_rts.c (GC_push_roots): Fix kind type.
419 2007-06-06 Hans Boehm <Hans.Boehm@hp.com>
421 * doc/README.win64: New file.
422 * doc/doc.am, Makefile.direct: Add README.win64.
423 * Makefile.in: Regenerate.
425 2007-06-06 Hans Boehm <Hans.Boehm@hp.com>
427 * Makefile.am, Makefile.direct: Add NT_X64_STATIC_THREADS_MAKEFILE.
428 * Makefile.in: Regenerate.
429 * NT_X64_STATIC_THREADS_MAKEFILE: Fix warning flags.
430 * allochblk.c, alloc.c, blacklst.c, dbg_malc.c, dyn_load.c,
431 finalize.c, headers.c, mach_dep.c, malloc.c, mark.c, misc.c,
432 obj_map.c, os_dep.c, ptr_chck.c, reclaim.c, typd_mlc.c,
433 win32_threads.c, cord/de_win.c, include/gc_mark.h,
434 include/private/gc_hdrs.h, include/private/gc_pmark.h,
435 include/private/gc_priv.h, tests/test_cpp.cc:
436 Replace old style function declarations. Clean up integral types.
437 Remove register declarations. The change in malloc.c and the
438 "int descr" declaration in mark.c are the most likely to have
439 been real bugs outside of win64.
440 * msvc_dbg.c: Disable on win64.
441 * win32_threads.c: Add AMD64 support.
442 * include/gc.h: no backtrace on AMD64 for now.
444 2007-06-06 Hans Boehm <Hans.Boehm@hp.com>
446 * msvc_dbg.c(GetModuleBase): Replace strcat with strcat_s.
448 2007-06-06 Hans Boehm <Hans.Boehm@hp.com>
450 * include/gc.h: (GC_word, GC_signed_word): Fix win64 definitions.
451 Don't include windows.h in an extern "C" context.
452 * include/private/gcconfig.h: Fix win64/X86_64 configuration.
453 * tests/test.c: Eliminate more old style function definitions.
454 Cleanup pointer and integer casts for win64.
455 * tests/test_cpp.cc: Don't include gc_priv.h.
456 * NT_STATIC_THREADS_MAKEFILE: Restrict suffixes for VC++ 2005.
457 * NT_X64_STATIC_THREADS_MAKEFILE: New.
459 2007-06-06 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Romano Paolo Tenca)
461 * win32_threads.c: Separate out DEBUG_WIN32_PTHREADS_STACK. Ignore
462 FINISHED threads for suspension. (GC_pthread_join): Add
463 pthread_self() cast. (GC_pthread_start_inner): Execute cleanup
464 handler when popping it.
465 * include/private/gc_locks.h: Inline THREAD_EQUAL for
466 GC_WIN32_PTHREADS. Define USE_PTHREAD_LOCKS only if we have
469 2007-05-23 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Romano Paolo Tenca)
471 * gc_dlopen.c, thread_local_alloc.c, threadlibs.c, win32_threads.c,
472 tests/test.c: Accomodate GC_WIN32_PTHREADS.
473 * include/gc.h: Don't include windows.h for GC_WIN32_PTHREADS.
474 * include/gc_config_macros.h: Define both PTHREADS and
476 * include/private/gc_locks.h: Nonstandard definitions of
477 NUMERIC_THREAD_ID for GC_WIN32_PTHREADS.
478 * doc/README.win32, Makefile.direct: Include documentation
479 for GC_WIN32_PTHREADS.
480 * Makefile.direct: Remove some anachronisms in the documentation.
482 2007-05-23 Hans Boehm <Hans.Boehm@hp.com>
484 * Makefile.am: Move includes to bottom. Add better library
485 dependencies. Increment library version. Remove "SUBDIRS += .".
486 * cord/cord.am, tests/tests.am: Add better library dependencies.
487 Remove now unnecessary dependencies.
488 * Makefile.in: Regenerate.
489 * include/gc.h (GC_begin_thread_ex, GC_endthreadex, GC_ExitThread):
490 Move to define on all Windows platforms. (_beginthread): define
491 to generate error if used.
493 2007-05-22 Hans Boehm <Hans.Boehm@hp.com>
495 * include/private/gc_locks.h: Format to 80 columns.
497 2007-05-22 Hans Boehm <Hans.Boehm@hp.com>
499 * malloc.c(GC_free): Ignore bad frees on MSWIN32 with REDIRECT_MALLOC.
500 * NT_MAKEFILE: msvc_dbg.h is in include/private. Don't use cvars
502 * misc.c (WIN32 GC_write): Define GC_need_to_lock in single-threaded
504 * win32_threads.c: Test for __MINGW32__ in addition to _MINGW_VER.
505 (GC_CreateThread, GC_beginthreadex): Deallocate args even if we fail.
506 * include/gc.h: Add GC_reachable_here(). (GC_WinMain): Add GC_API.
507 (GC_beginthreadex, GC_endthreadex, GC_ExitThread): Declare.
508 * tests/test.c: Add GC_reachable_here() call.
510 2007-05-21 Hans Boehm <Hans.Boehm@hp.com>
512 * alloc.c (GC_try_to_collect): Call GC_init if necessary.
513 * tests/thread_leak_test.c: Don't unconditionally define
516 2007-05-21 Andreas Tobler <a.tobler@schweiz.org>
518 * Makefile.am: Remove extra_ldflags_libgc definition.
519 * Makefile.in: Regenerate.
521 2007-05-17 Hans Boehm <Hans.Boehm@hp.com>
523 * include/private/gc_priv.h: Define AO_REQUIRE_CAS.
525 2007-05-16 Hans Boehm <Hans.Boehm@hp.com>
527 * finalize.c (GC_unreachable_finalize_mark_proc): Don't return void
530 2007-05-15 Hans Boehm <Hans.Boehm@hp.com>
532 * configure.ac, version.h, doc/README: Change version to 7.0alpha10.
533 * configure: Regenerate.
537 2007-05-15 Hans Boehm <Hans.Boehm@hp.com>
539 * configure.ac, version.h, doc/README: Change version to 7.0alpha9.
540 * configure: Regenerate.
542 2007-05-15 Hans Boehm <Hans.Boehm@hp.com>
544 * Makefile.am: Include NT_STSTIC_THREADS_MAKEFILE in dist.
545 * Makefile.in: Regenerate.
546 * include/private/gc_locks.h: GC_compare_and_exchange, GC_atomic_add:
547 remove. NUMERIC_THREAD_ID, THREAD_EQUAL: New. GC_lock_holder: now
548 unsigned long. I_DONT_HOLD_LOCK, I_HOLD_LOCK: Update.
549 * pthread_stop_world.c, pthread_support.c, win32_threads.c: Use
550 NUMERIC_THREAD_ID, THREAD_EQUAL.
551 * include/private/gcconfig.h: GENERIC_COMPARE_AND_SWAP: Remove.
552 * include/private/thread_local_alloc.h: Don't USE_COMPILER_TLS on
555 2007-05-11 Hans Boehm <Hans.Boehm@hp.com>
557 * dbg_mlc.c, include/gc.h, finalize.c: Merge Alexandre Oliva's
558 GC_debug_register_finalizer_unreachable() patch from gcc tree.
559 * thread_local_alloc.c (GC_malloc, GC_malloc_atomic): Add assertions
560 to check GC has been initialized.
562 2007-05-10 Hans Boehm <Hans.Boehm@hp.com>
564 * include/gc_cpp.h: Documentation updates.
565 * include/gc_config_macros.h: Don't check for __ppc__ to set
567 * Makefile.am: Include configure_atomic_ops.sh in dist.
568 * Makefile.in: Regenerate.
570 2007-05-08 Hans Boehm <Hans.Boehm@hp.com>
572 * Makefile.am: Dont distribute copied atomic_ops files. Include
573 libatomic_ops with "make dist".
574 * Makefile.in: Regenerate.
575 * configure: Regenerate.
576 * configure.ac: Enable THREAD_LOCAL_ALLOC for Cygwin with threads.
577 * win32_threads.c: Report error for Cygwin + GC_DLL.
579 2007-05-08 Hans Boehm <Hans.Boehm@hp.com>
581 * Makefile.direct: Update THREAD_LOCAL_ALLOC documentation.
582 * cord/de_win.c: Rename and move AboutBox. Call GC_INIT. Remove
583 MakeProcInstance anachronism.
584 * doc/README.macros: Officially remove elif prohibition.
585 Remove documentation for defunct SRC_M3 support.
586 * include/gc.h: Remove more SRC_M3 references.
587 * include/private/gcconfig.h: Remove still more SRC_M3 references.
588 GC_SOLARIS_THREADS no longer needs to be checked separately.
590 2007-05-08 Hans Boehm <Hans.Boehm@hp.com>
592 * thread_local_alloc.c, include/private/thread_local_alloc.h:
593 Spell __declspec correctly.
594 * NT_STATIC_THREADS_MAKEFILE: Enable thread-local allocation.
596 2007-05-07 Hans Boehm <Hans.Boehm@hp.com>
598 * doc/README.win32: Adjust GC_win32_dll_threads rules again.
600 2007-05-07 Hans Boehm <Hans.Boehm@hp.com>
602 * mark.c (GC_mark_some wrapper): Restructure for readability, handle
603 GC_started_thread_while_stopped.
604 * misc.c (Win32 GC_write): Lock GC_write_cs only if needed.
605 * win32_threads.c: (client_has_run): remove,
606 GC_started_thread_while_stopped, GC_attached_thread: add.
607 (GC_push_all_stacks): Add verbose output.
608 (DllMain): Avoid initializing collector or the like.
609 Never update both thread tables.
610 * doc/README.win32: Adjust GC_win32_dll_threads rules.
612 2007-05-07 Hans Boehm <Hans.Boehm@hp.com>
614 * pthread_stop_world.c (GC_push_all_stacks): Print thread count with
615 GC_PRINT_VERBOSE_STATS.
617 2007-05-01 Hans Boehm <Hans.Boehm@hp.com>
618 (and Manuel Serrano, Craig McDaniel)
620 * configure.ac: Comment out redundant
621 AC_DEFINE(NO_EXECUTE_PERMISSION).
622 * configure: Regenerate.
623 * sparc_mach_dep.S: Remove single quote in comment.
624 * include/private/gcconfig.h: Fix DATAEND for NONSTOP.
625 * win32_threads.c: Include stdint.h for Mingw. Add GC_API for DllMain.
626 (GC_use_DllMain): Fix assertion.
628 2007-02-14 Andreas Tobler <a.tobler@schweiz.org>
630 * configure.ac: Introduce extra_ldflags_libgc. Use it for Darwin.
631 * configure: Regenerate.
632 * Makefile.am (libgc_la_LDFLAGS): Use extra_ldflags_libgc.
633 * Makefile.in: Regenerate.
634 * include/private/gcconfig.h: Enable MPROTECT_VDB for all Darwin
635 targets. Remove comments.
636 Prepare ppc64 support for Darwin.
638 2007-01-29 Andreas Tobler <a.tobler@schweiz.org>
640 * darwin_stop_world.c: Clean up and reformat code.
642 2007-01-28 Andreas Tobler <a.tobler@schweiz.org>
644 * darwin_stop_world.c (GC_push_all_stacks): Fix compiler warnings.
646 (GC_stop_world): Likewise. Remove unused GC_thread p.
647 (GC_start_world): Likewise.
649 * os_dep.c: Define GC_darwin_register_mach_handler_thread extern.
650 Remove double SIG_HNDLR_PTR definition.
651 (GC_forward_exception): Fix compiler warnings, make i unsigned.
652 Initialize thread_state to NULL.
653 (catch_exception_raise): Fix compiler warnings, make i unsigned.
655 2007-01-25 Petr Salinger and Hans Boehm <Hans.Boehm@hp.com>
657 * include/private/gc_priv.h (NEED_FIND_LIMIT, FREEBSD variant):
658 also define for X86_64.
659 * configure.ac: Move generic gnu (Hurd) case to below kfreebsd case.
660 * configure: Regenerate.
661 * README.changes: Point to ChangeLog.
663 2007-01-25 Andreas Tobler <a.tobler@schweiz.org>
665 * darwin_stop_world.c: Move THREAD_FLD defines to ...
666 * include/private/gc_priv.h: ... here.
667 Fix THREAD_STATE definitions for ppc64.
668 * os_dep.c (catch_exception_raise): Use THREAD_FLD for exc_state member
671 2007-01-18 Andreas Tobler <a.tobler@schweiz.org>
673 * os_dep.c (if defined(MPROTECT_VDB) && defined(DARWIN)): Clean up and
675 Correct email reference.
677 2007-01-11 Andreas Tobler <a.tobler@schweiz.org>
679 * configure.ac (i?86*-*-darwin*): Replaced HAS_I386_THREAD_STATE_* with
680 HAS_X86_THREAD_STATE32_*.
681 (x86_64-*-darwin*): Extended the above check for x86_64-*-darwin* with
682 HAS_X86_THREAD_STATE64_*.
683 Added value 1 in the above AC_DEFINE's. Important for the upcoming
685 * configure: Regenerated.
686 * include/private/gcconfig.h: Modified X86_64 define for Darwin.
687 Removed __x86_64__ check in POWERPC section. Added base definitions
688 for the X86_64 Darwin port.
689 * include/private/gc_priv.h: Added GC_MACH_HEADER and GC_MACH_SECTION
690 to distinguish between 32 and 64-bit applications. Added definitions
692 * darwin_stop_world.c: Added HAS_X86_THREAD_STATE64___RAX. And
693 replaced HAS_I386_THREAD_STATE___EAX with HAS_X86_THREAD_STATE32___EAX.
694 (GC_push_all_stacks): Added code for X86_64 Darwin. Even for the
695 !DARWIN_DONT_PARSE_STACK. Maybe obsolete.
696 * dyn_load.c (GC_dyld_name_for_hdr): Use GC_MACH_HEADER.
697 (GC_dyld_image_add): Use GC_MACH_HEADER and GC_MACH_SECTION.
698 Distinguish between getsectbynamefromheader_64 and
699 getsectbynamefromheader.
700 * os_dep.c (catch_exception_raise): Introduce exception definition for
701 X86_64 Darwin. Replaced old i386_EXCEPTION_STATE_* definition with
702 x86_EXCEPTION_STATE32_*. Add X86_64 for exc_state.faultvaddr.
704 2007-01-09 Andreas Tobler <a.tobler@schweiz.org>
706 * libtool.m4: Update to version from libtool-1.5.22.
707 * ltmain.sh: Likewise.
708 * ChangeLog: Created.
710 See doc/README.changes for earlier changes.