Imported and merged Boehm GC 7.0
[cacao.git] / src / mm / boehm-gc / ChangeLog
1 2007-07-02  Hans Boehm <Hans.Boehm@hp.com>
2
3         * gc_config_macros.h: Also check for IA64 when setting
4         GC_HPUX_THREADS.
5         * mallocx.c: Change my_bytes_allocd to signed_word.
6         * include/pthread_redirects.h: Remove obsolete Solaris threads
7         (as opposed to pthreads) support.
8
9 2007-07-02  Hans Boehm <Hans.Boehm@hp.com>
10
11         * mach_dep.c (GC_with_callee_saves_pushed): Don't use getcontext()
12         on ARM/Linux.  Check getcontext() return value.
13
14 2007-06-29  Hans Boehm <Hans.Boehm@hp.com>
15
16         * backgraph.c (per_object_func): Make argument types consistent.
17         (GC_traverse_back_graph): Mark GC_deepest_obj.
18         
19 2007-06-29  Hans Boehm <Hans.Boehm@hp.com>
20
21         * finalize.c (GC_finalize): Change dl_size and fo_size to size_t.
22         * os_dep.c (GC_win32_get_mem): Add GC_mem_top_down option.
23
24 2007-06-28  Hans Boehm <Hans.Boehm@hp.com>
25
26         * doc/README.win32, doc/README, README.QUICK: Fix some of the worst
27         anachronisms.
28         * dyn_load.c: Partially support cygwin, but don't enable it yet.
29
30 2007-06-28  Hans Boehm <Hans.Boehm@hp.com>
31
32         * Makefile.am: Use -no-undefined for libgc.
33         * Makefile.in: Regenerate.
34         * Makefile.direct: Document USE_PROC_FOR_LIBRARIES.
35         * dyn_load.c (GC_register_map_entries): Rename prot_buf to prot
36         consistently.
37         * misc.c: Fix some WARN calls.  Move GC_is_initialized setting and
38         GC_thr_init() call.
39         * os_dep.c: Consistently use WARN where appropriate.
40         * thread_local_alloc.c: Revert change to GC_WIN32_THREADS test.  Instead
41         remove inappropriate pthread.h include.
42         * doc/README.linux: Remove some anachronisms.
43
44 2007-06-23  Hans Boehm <Hans.Boehm@hp.com>
45
46         * alloc.c: Also use GC_check_tls on non-Linux systems.
47         * mallocx.c (GC_reclaim_generic): Remove bogus declaration.
48         * include/private/gc_priv.h (GC_reclaim_generic): Declare correctly
49         with prototype.
50
51 2007-06-19  Hans Boehm <Hans.Boehm@hp.com>
52
53         * alloc.c (GC_adj_bytes_allocd): Avoid (long) casts, fix comment.
54         (GC_print_heap_sects): Use size_t instead of unsigned long.
55         * thread_local_alloc.c (GC_lookup_thread): Define in the correct
56         context.
57         * win32_threads.c, include/gc_config_macros.h: The last of Romano
58         Paolo Tenca's patch.  Move stdint.h include to gc_config_macros.h.
59         * include/gc_inline.h: Avoid gc_priv.h dependencies.
60         * tests/test.c (check_heap_stats): Replace unsigned long with size_t.
61
62 2007-06-12  Hans Boehm <Hans.Boehm@hp.com>
63
64         * aclocal.m4: Regenerate to update date.
65
66 2007-06-10  Hans Boehm <Hans.Boehm@hp.com>
67
68         * NT_X64_STATIC_THREADS_MAKEFILE: Replace obsolete -debugtype:cv.
69         * mark_rts.c (GC_push_roots): Fix kind type.
70
71 2007-06-06  Hans Boehm <Hans.Boehm@hp.com>
72
73         * doc/README.win64: New file.
74         * doc/doc.am, Makefile.direct: Add README.win64.
75         * Makefile.in: Regenerate.
76
77 2007-06-06  Hans Boehm <Hans.Boehm@hp.com>
78
79         * Makefile.am, Makefile.direct: Add NT_X64_STATIC_THREADS_MAKEFILE.
80         * Makefile.in: Regenerate.
81         * NT_X64_STATIC_THREADS_MAKEFILE: Fix warning flags.
82         * allochblk.c, alloc.c, blacklst.c, dbg_malc.c, dyn_load.c,
83         finalize.c, headers.c, mach_dep.c, malloc.c, mark.c, misc.c,
84         obj_map.c, os_dep.c, ptr_chck.c, reclaim.c, typd_mlc.c,
85         win32_threads.c, cord/de_win.c, include/gc_mark.h,
86         include/private/gc_hdrs.h, include/private/gc_pmark.h,
87         include/private/gc_priv.h, tests/test_cpp.cc:
88         Replace old style function declarations.  Clean up integral types.
89         Remove register declarations.  The change in malloc.c and the
90         "int descr" declaration in mark.c are the most likely to have
91         been real bugs outside of win64.
92         * msvc_dbg.c: Disable on win64.
93         * win32_threads.c: Add AMD64 support.
94         * include/gc.h: no backtrace on AMD64 for now.
95
96 2007-06-06  Hans Boehm <Hans.Boehm@hp.com>
97
98         * msvc_dbg.c(GetModuleBase): Replace strcat with strcat_s.
99
100 2007-06-06  Hans Boehm <Hans.Boehm@hp.com>
101         
102         * include/gc.h: (GC_word, GC_signed_word): Fix win64 definitions.
103         Don't include windows.h in an extern "C" context.
104         * include/private/gcconfig.h: Fix win64/X86_64 configuration.
105         * tests/test.c: Eliminate more old style function definitions.
106         Cleanup pointer and integer casts for win64.
107         * tests/test_cpp.cc: Don't include gc_priv.h.
108         * NT_STATIC_THREADS_MAKEFILE: Restrict suffixes for VC++ 2005.
109         * NT_X64_STATIC_THREADS_MAKEFILE: New.
110
111 2007-06-06  Hans Boehm <Hans.Boehm@hp.com> (Really mostly Romano Paolo Tenca)
112
113         * win32_threads.c: Separate out DEBUG_WIN32_PTHREADS_STACK.  Ignore
114         FINISHED threads for suspension.  (GC_pthread_join): Add
115         pthread_self() cast.  (GC_pthread_start_inner): Execute cleanup
116         handler when popping it.
117         * include/private/gc_locks.h: Inline THREAD_EQUAL for
118         GC_WIN32_PTHREADS.  Define USE_PTHREAD_LOCKS only if we have
119         pthreads.
120
121 2007-05-23  Hans Boehm <Hans.Boehm@hp.com> (Really mostly Romano Paolo Tenca)
122
123         * gc_dlopen.c, thread_local_alloc.c, threadlibs.c, win32_threads.c,
124         tests/test.c: Accomodate GC_WIN32_PTHREADS.
125         * include/gc.h: Don't include windows.h for GC_WIN32_PTHREADS.
126         * include/gc_config_macros.h: Define both PTHREADS and
127         GC_WIN32_THREADS.
128         * include/private/gc_locks.h: Nonstandard definitions of
129         NUMERIC_THREAD_ID for GC_WIN32_PTHREADS.
130         * doc/README.win32, Makefile.direct: Include documentation
131         for GC_WIN32_PTHREADS.
132         * Makefile.direct: Remove some anachronisms in the documentation.
133
134 2007-05-23  Hans Boehm <Hans.Boehm@hp.com>
135
136         * Makefile.am: Move includes to bottom.  Add better library
137         dependencies.  Increment library version.  Remove "SUBDIRS += .".
138         * cord/cord.am, tests/tests.am: Add better library dependencies.
139         Remove now unnecessary dependencies.
140         * Makefile.in: Regenerate.
141         * include/gc.h (GC_begin_thread_ex, GC_endthreadex, GC_ExitThread):
142         Move to define on all Windows platforms.  (_beginthread): define
143         to generate error if used.
144
145 2007-05-22  Hans Boehm <Hans.Boehm@hp.com>
146
147         * include/private/gc_locks.h: Format to 80 columns.
148
149 2007-05-22  Hans Boehm <Hans.Boehm@hp.com>
150         
151         * malloc.c(GC_free): Ignore bad frees on MSWIN32 with REDIRECT_MALLOC.
152         * NT_MAKEFILE: msvc_dbg.h is in include/private.  Don't use cvars
153         rc.
154         * misc.c (WIN32 GC_write): Define GC_need_to_lock in single-threaded
155         case.
156         * win32_threads.c: Test for __MINGW32__ in addition to _MINGW_VER.
157         (GC_CreateThread, GC_beginthreadex): Deallocate args even if we fail.
158         * include/gc.h: Add GC_reachable_here().  (GC_WinMain): Add GC_API.
159         (GC_beginthreadex, GC_endthreadex, GC_ExitThread): Declare.
160         * tests/test.c: Add GC_reachable_here() call.
161
162 2007-05-21  Hans Boehm <Hans.Boehm@hp.com>
163
164         * alloc.c (GC_try_to_collect): Call GC_init if necessary.
165         * tests/thread_leak_test.c: Don't unconditionally define
166         GC_LINUX_THREADS.
167
168 2007-05-21  Andreas Tobler  <a.tobler@schweiz.org>
169
170         * Makefile.am: Remove extra_ldflags_libgc definition.
171         * Makefile.in: Regenerate.
172
173 2007-05-17  Hans Boehm <Hans.Boehm@hp.com>
174
175         * include/private/gc_priv.h: Define AO_REQUIRE_CAS.
176
177 2007-05-16  Hans Boehm <Hans.Boehm@hp.com>
178
179         * finalize.c (GC_unreachable_finalize_mark_proc): Don't return void
180         value.
181
182 2007-05-15  Hans Boehm <Hans.Boehm@hp.com>
183
184         * configure.ac, version.h, doc/README: Change version to 7.0alpha10.
185         * configure: Regenerate.
186
187 [7.0alpha9 release]
188
189 2007-05-15  Hans Boehm <Hans.Boehm@hp.com>
190
191         * configure.ac, version.h, doc/README: Change version to 7.0alpha9.
192         * configure: Regenerate.
193
194 2007-05-15  Hans Boehm <Hans.Boehm@hp.com>
195
196         * Makefile.am: Include NT_STSTIC_THREADS_MAKEFILE in dist.
197         * Makefile.in: Regenerate.
198         * include/private/gc_locks.h: GC_compare_and_exchange, GC_atomic_add:
199         remove. NUMERIC_THREAD_ID, THREAD_EQUAL: New.  GC_lock_holder: now
200         unsigned long.  I_DONT_HOLD_LOCK, I_HOLD_LOCK: Update.
201         * pthread_stop_world.c, pthread_support.c, win32_threads.c: Use
202         NUMERIC_THREAD_ID, THREAD_EQUAL.
203         * include/private/gcconfig.h: GENERIC_COMPARE_AND_SWAP: Remove.
204         * include/private/thread_local_alloc.h: Don't USE_COMPILER_TLS on
205         ARM.
206
207 2007-05-11  Hans Boehm <Hans.Boehm@hp.com>
208
209         * dbg_mlc.c, include/gc.h, finalize.c: Merge Alexandre Oliva's
210         GC_debug_register_finalizer_unreachable() patch from gcc tree.
211         * thread_local_alloc.c (GC_malloc, GC_malloc_atomic): Add assertions
212         to check GC has been initialized.
213
214 2007-05-10  Hans Boehm <Hans.Boehm@hp.com>
215
216         * include/gc_cpp.h: Documentation updates.
217         * include/gc_config_macros.h: Don't check for __ppc__ to set
218         DARWIN_THREADS.
219         * Makefile.am: Include configure_atomic_ops.sh in dist.
220         * Makefile.in: Regenerate.
221
222 2007-05-08  Hans Boehm <Hans.Boehm@hp.com>
223
224         * Makefile.am: Dont distribute copied atomic_ops files.  Include
225         libatomic_ops with "make dist".
226         * Makefile.in: Regenerate.
227         * configure: Regenerate.
228         * configure.ac: Enable THREAD_LOCAL_ALLOC for Cygwin with threads.
229         * win32_threads.c: Report error for Cygwin + GC_DLL.
230
231 2007-05-08  Hans Boehm <Hans.Boehm@hp.com>
232
233         * Makefile.direct: Update THREAD_LOCAL_ALLOC documentation.
234         * cord/de_win.c: Rename and move AboutBox.  Call GC_INIT.  Remove
235         MakeProcInstance anachronism.
236         * doc/README.macros: Officially remove elif prohibition.
237         Remove documentation for defunct SRC_M3 support.
238         * include/gc.h: Remove more SRC_M3 references.
239         * include/private/gcconfig.h: Remove still more SRC_M3 references.
240         GC_SOLARIS_THREADS no longer needs to be checked separately.
241         
242 2007-05-08  Hans Boehm <Hans.Boehm@hp.com>
243
244         * thread_local_alloc.c, include/private/thread_local_alloc.h:
245         Spell __declspec correctly.
246         * NT_STATIC_THREADS_MAKEFILE: Enable thread-local allocation.
247
248 2007-05-07  Hans Boehm <Hans.Boehm@hp.com>
249
250         * doc/README.win32: Adjust GC_win32_dll_threads rules again.
251
252 2007-05-07  Hans Boehm <Hans.Boehm@hp.com>
253
254         * mark.c (GC_mark_some wrapper): Restructure for readability, handle
255         GC_started_thread_while_stopped.
256         * misc.c (Win32 GC_write): Lock GC_write_cs only if needed.
257         * win32_threads.c: (client_has_run): remove,
258         GC_started_thread_while_stopped, GC_attached_thread: add.
259         (GC_push_all_stacks): Add verbose output.
260         (DllMain): Avoid initializing collector or the like.
261         Never update both thread tables.
262         * doc/README.win32: Adjust GC_win32_dll_threads rules.
263
264 2007-05-07  Hans Boehm <Hans.Boehm@hp.com>
265
266         * pthread_stop_world.c (GC_push_all_stacks): Print thread count with
267         GC_PRINT_VERBOSE_STATS.
268
269 2007-05-01  Hans Boehm <Hans.Boehm@hp.com>
270                 (and Manuel Serrano, Craig McDaniel)
271
272         * configure.ac: Comment out redundant
273           AC_DEFINE(NO_EXECUTE_PERMISSION).
274         * configure: Regenerate.
275         * sparc_mach_dep.S: Remove single quote in comment.
276         * include/private/gcconfig.h: Fix DATAEND for NONSTOP.
277         * win32_threads.c: Include stdint.h for Mingw.  Add GC_API for DllMain.
278         (GC_use_DllMain): Fix assertion.
279
280 2007-02-14  Andreas Tobler  <a.tobler@schweiz.org>
281
282         * configure.ac: Introduce extra_ldflags_libgc. Use it for Darwin.
283         * configure: Regenerate.
284         * Makefile.am (libgc_la_LDFLAGS): Use extra_ldflags_libgc.
285         * Makefile.in: Regenerate.
286         * include/private/gcconfig.h: Enable MPROTECT_VDB for all Darwin
287         targets. Remove comments.
288         Prepare ppc64 support for Darwin.
289
290 2007-01-29  Andreas Tobler  <a.tobler@schweiz.org>
291
292         * darwin_stop_world.c: Clean up and reformat code.
293
294 2007-01-28  Andreas Tobler  <a.tobler@schweiz.org>
295
296         * darwin_stop_world.c (GC_push_all_stacks): Fix compiler warnings.
297         Make i unsigned.
298         (GC_stop_world): Likewise. Remove unused GC_thread p.
299         (GC_start_world): Likewise.
300
301         * os_dep.c: Define GC_darwin_register_mach_handler_thread extern.
302         Remove double SIG_HNDLR_PTR definition.
303         (GC_forward_exception): Fix compiler warnings, make i unsigned.
304         Initialize thread_state to NULL.
305         (catch_exception_raise): Fix compiler warnings, make i unsigned.
306
307 2007-01-25  Petr Salinger and Hans Boehm <Hans.Boehm@hp.com>
308
309         * include/private/gc_priv.h (NEED_FIND_LIMIT, FREEBSD variant):
310         also define for X86_64.
311         * configure.ac: Move generic gnu (Hurd) case to below kfreebsd case.
312         * configure: Regenerate.
313         * README.changes: Point to ChangeLog.
314
315 2007-01-25  Andreas Tobler  <a.tobler@schweiz.org>
316
317         * darwin_stop_world.c: Move THREAD_FLD defines to ...
318         * include/private/gc_priv.h: ... here.
319         Fix THREAD_STATE definitions for ppc64.
320         * os_dep.c (catch_exception_raise): Use THREAD_FLD for exc_state member
321         access.
322
323 2007-01-18  Andreas Tobler  <a.tobler@schweiz.org>
324
325         * os_dep.c (if defined(MPROTECT_VDB) && defined(DARWIN)): Clean up and
326         reformat code.
327         Correct email reference.
328
329 2007-01-11  Andreas Tobler  <a.tobler@schweiz.org>
330
331         * configure.ac (i?86*-*-darwin*): Replaced HAS_I386_THREAD_STATE_* with
332         HAS_X86_THREAD_STATE32_*.
333         (x86_64-*-darwin*): Extended the above check for x86_64-*-darwin* with
334         HAS_X86_THREAD_STATE64_*.
335         Added value 1 in the above AC_DEFINE's. Important for the upcoming
336         Leopard.
337         * configure: Regenerated.
338         * include/private/gcconfig.h: Modified X86_64 define for Darwin.
339         Removed __x86_64__ check in POWERPC section. Added base definitions
340         for the X86_64 Darwin port.
341         * include/private/gc_priv.h: Added GC_MACH_HEADER and GC_MACH_SECTION
342         to distinguish between 32 and 64-bit applications. Added definitions
343         for X86_64 Darwin.
344         * darwin_stop_world.c: Added HAS_X86_THREAD_STATE64___RAX. And
345         replaced HAS_I386_THREAD_STATE___EAX with HAS_X86_THREAD_STATE32___EAX.
346         (GC_push_all_stacks): Added code for X86_64 Darwin. Even for the
347         !DARWIN_DONT_PARSE_STACK. Maybe obsolete.
348         * dyn_load.c (GC_dyld_name_for_hdr): Use GC_MACH_HEADER.
349         (GC_dyld_image_add): Use GC_MACH_HEADER and GC_MACH_SECTION.
350         Distinguish between getsectbynamefromheader_64 and
351         getsectbynamefromheader.
352         * os_dep.c (catch_exception_raise): Introduce exception definition for
353         X86_64 Darwin. Replaced old i386_EXCEPTION_STATE_* definition with
354         x86_EXCEPTION_STATE32_*. Add X86_64 for exc_state.faultvaddr.
355
356 2007-01-09  Andreas Tobler  <a.tobler@schweiz.org>
357
358         * libtool.m4: Update to version from libtool-1.5.22.
359         * ltmain.sh: Likewise.
360         * ChangeLog: Created.
361
362 See doc/README.changes for earlier changes.
363