boehm-gc: revert all CACAO-specific modifications; this is now an exact copy of the...
[cacao.git] / src / mm / boehm-gc / libatomic_ops-1.2 / ChangeLog
1 2009-09-09 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Patrick Marlier)
2         * src/atomic_ops/sysdeps/gcc/sparc.h (NO_SPARC_V9):
3         Renamed to AO_NO_SPARC_V9.
4
5 2009-09-01 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Patrick Marlier)
6         * src/atomic_ops/sysdeps/gcc/sparc.h (AO_test_and_set_full): Use
7         AO_TS_VAL_t for "oldval" (for 64-bit support).
8         * src/atomic_ops/sysdeps/gcc/sparc.h (AO_compare_and_swap_full):
9         New function implemented.
10         
11 2009-08-12 Hans Boehm <Hans.Boehm@hp.com> (Really Ivan Maidanski)
12         (diff107_cvs, resembling diff78 and diff88_cvs)
13
14         * src/atomic_ops/sysdeps/sunc/x86.h: New file.
15         * src/atomic_ops/sysdeps/sunc/x86_64.h: Ditto.
16         * src/atomic_ops.h (AO_INLINE): Support inlining for DigitalMars,
17         Watcom, Sun C.
18         * src/atomic_ops.h (AO_compiler_barrier): Use intrinsic-based
19         implementation for VC++ v8+ (include <intrin.h> before it unless
20         WinCE target); use asm-based barrier implementation for Borland,
21         DigitalMars and Watcom.
22         * src/atomic_ops.h: Fix comment (for x86_64).
23         * src/atomic_ops.h: Include specialized x86.h and x86_64.h arch
24         headers for Sun C (if not AO_USE_PTHREAD_DEFS).
25         * src/atomic_ops.h: Include VC-specific arch headers for Borland,
26         DigitalMars and Watcom (Win32 target only).
27
28 2009-05-27 Hans Boehm <Hans.Boehm@hp.com> (Really Ivan Maidanski)
29         (diff87_cvs, resembling diff29, diff68, diff78 partly)
30         * doc/README.txt: Remove outdated info about Windows support.
31         * src/atomic_ops/generalize.h (AO_nop_full): Replace
32         K&R-style function definition with ANSI C one.
33         * src/atomic_ops/sysdeps/armcc/arm_v6.h (AO_nop_full): Ditto.
34         * src/atomic_ops/sysdeps/gcc/alpha.h (AO_nop_full, AO_nop_write):
35         Ditto.
36         * src/atomic_ops/sysdeps/gcc/arm.h (AO_nop_full): Ditto.
37         * src/atomic_ops/sysdeps/gcc/ia64.h (AO_nop_full): Ditto.
38         * src/atomic_ops/sysdeps/gcc/mips.h (AO_nop_full): Ditto.
39         * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_nop_full, AO_lwsync): Ditto.
40         * src/atomic_ops/sysdeps/gcc/x86.h (AO_nop_full): Ditto.
41         * src/atomic_ops/sysdeps/generic_pthread.h (AO_nop_full): Ditto.
42         * src/atomic_ops/sysdeps/hpc/ia64.h (AO_nop_full): Ditto.
43         * src/atomic_ops/sysdeps/icc/ia64.h (AO_nop_full): Ditto.
44         * src/atomic_ops/sysdeps/ordered.h (AO_nop_full): Ditto.
45         * src/atomic_ops/sysdeps/ordered_except_wr.h (AO_nop_write): Ditto.
46         * src/atomic_ops/sysdeps/read_ordered.h (AO_nop_read): Ditto.
47         * src/atomic_ops/sysdeps/test_and_set_t_is_ao_t.h (AO_TS_val): Fix
48         comment.
49         
50 2009-02-24 Hans Boehm <Hans.Boehm@hp.com> (Really primarily Earl Chew)
51         * src/atomic_ops/sysdeps/gcc/powerpc.h: Add index,
52         update modifiers to asms, refine clobbers to "cr0", use
53         cr0 instead of cr7, add explicit AO_fetch_and_add,
54         add UNTESTED 64 bit support.
55
56 2008-11-10 Hans Boehm <Hans.Boehm@hp.com> (Really Joerg Wagner)
57         * src/atomic_ops/sysdeps/armcc/arm_v6.h: Compute
58         AO_compare_and_swap value differently, add
59         AO_compare_double_and_swap_double, some indentation fixes.
60         * src/atomic_ops/sysdeps/gcc/arm.h: Make gcc asm code more
61         robust and minimize clobbers, Add AO_compare_double_and_swap_double.
62
63 2008-11-06 Hans Boehm <Hans.Boehm@hp.com>
64         * INSTALL: Add some platform-specific documentation.
65         * src/Makefile.msft: Fix copyright notice.
66
67 2008-10-21 Hans Boehm <Hans.Boehm@hp.com>  (really Ivan Maidanski)
68         * src/atomic_ops/sysdeps/aligned_atomic_load_store.h: Fix comments.
69         * src/atomic_ops/sysdeps/all_aligned_atomic_load_store.h: Fix comments.
70         * src/atomic_ops/sysdeps/all_atomic_load_store.h: Fix comments.
71         * src/atomic_ops/sysdeps/atomic_load_store.h: Fix comments.
72         * src/atomic_ops/sysdeps/char_atomic_load_store.h: Fix comments.
73         * src/atomic_ops/sysdeps/gcc/arm.h: Fix comments.
74         * src/atomic_ops/sysdeps/gcc/x86.h: Fix comments.
75         * src/atomic_ops/sysdeps/gcc/x86_64.h: Fix comments.
76         * src/atomic_ops/sysdeps/hpc/hppa.h: Fix comments.
77         * src/atomic_ops/sysdeps/hpc/ia64.h: Fix comments.
78         * src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h: Fix comments.
79         * src/atomic_ops/sysdeps/int_atomic_load_store.h: Fix comments.
80         * src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h: Fix comments.
81         * src/atomic_ops/sysdeps/short_atomic_load_store.h: Fix comments.
82         * src/atomic_ops.c: Fix comments.
83         * src/atomic_ops.h: Fix comments.
84         * src/atomic_ops_stack.c: Fix comments.
85         * src/atomic_ops_stack.h: Fix comments.
86         
87 2008-10-20 Hans Boehm <Hans.Boehm@hp.com>  (really Andrew Agno)
88         * src/atomic_ops/sysdeps/gcc/x86_64.h (AO_int_fetch_and_add_full):
89         fix return type.
90
91 2008-08-21 Hans Boehm <Hans.Boehm@hp.com>
92         * config.guess, config.sub, configure: Regenerate/replace.
93         Use autoconf 2.61, automake 1.9.6.
94         
95 2008-08-19 Hans Boehm <Hans.Boehm@hp.com> (really Thiemo Seufer)
96         * src/atomic_ops/sysdeps/gcc/powerpc.h: Add %U1 (update) to lwz
97         instruction.
98
99 2008-08-19 Hans Boehm <Hans.Boehm@hp.com> (really Sebastian Siewior)
100         * src/atomic_ops/sysdeps/gcc/powerpc.h: Consider __NO_LWSYNC__.
101
102 2008-07-24 Hans Boehm <Hans.Boehm@hp.com> (really Ivan Maidanski)
103         * src/atomic_ops/sysdeps/ao_t_is_int.h, src/atomic_ops.h:
104         Add parentheses around addr arg for various functions.
105
106 2008-07-18 Hans Boehm <Hans.Boehm@hp.com>
107         * src/atomic_ops/sysdeps/gcc/powerpc.h:
108         Add const to first parameter of load calls (forgot one).
109
110 2008-07-18 Hans Boehm <Hans.Boehm@hp.com>
111         * doc/README.txt, src/atomic_ops/generalize.h,
112         src/atomic_ops/generalize-small.template,
113         src/atomic_ops/generalize-small.h,
114         src/atomic_ops/sysdeps/acquire_release_volatile.h,
115         src/atomic_ops/sysdeps/char_acquire_release_volatile.h,
116         src/atomic_ops/sysdeps/int_acquire_release_volatile.h,
117         src/atomic_ops/sysdeps/short_acquire_release_volatile.h,
118         src/atomic_ops/sysdeps/aligned_atomic_load_store.h,
119         src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h,
120         src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h,
121         src/atomic_ops/sysdeps/ao_t_is_int.h,
122         src/atomic_ops/sysdeps/atomic_load_store.h,
123         src/atomic_ops/sysdeps/char_atomic_load_store.h,
124         src/atomic_ops/sysdeps/int_atomic_load_store.h,
125         src/atomic_ops/sysdeps/short_atomic_load_store.h,
126         src/atomic_ops/sysdeps/generic_pthread.h,
127         src/atomic_ops/sysdeps/read_ordered.h,
128         src/atomic_ops/sysdeps/sysdeps/armcc/arm_v6.h,
129         src/atomic_ops/sysdeps/gcc/arm.h,
130         src/atomic_ops/sysdeps/icc/ia64.h,
131         src/atomic_ops/sysdeps/ibmc/powerpc.h:
132         Add const to first parameter of load calls.
133
134 2008-07-10 Hans Boehm <Hans.Boehm@hp.com>
135         * src/atomic_ops/sysdeps/gcc/m68k.h: Remove SMP-unsafe
136         AO_or_full, and let it be autogenerated instead.
137         
138 2008-07-03 Hans Boehm <Hans.Boehm@hp.com> (Really Thiemo Seufer)
139         * src/atomic_ops/sysdeps/gcc/mips.h: Really add mips support,
140         fixing a merge accident.
141
142 2008-05-30 Hans Boehm <Hans.Boehm@hp.com> (Really from various Debian
143         contributors)
144         * doc/Makefile.in, src/Makefile.in, src/atomic_ops/Makefile.in:
145         Regenerate.
146
147 2008-05-30 Hans Boehm <Hans.Boehm@hp.com> (Really from various Debian
148         contributors)
149         * src/atomic_ops.h, src/atomic_ops/sysdeps/Makefile.am,
150         src/atomic_ops/sysdeps/gcc/mips.h: Add mips support.
151         * src/atomic_ops/sysdeps/gcc/m68k.h: Make test_and_set work
152         on char, align AO_t.  Add cas, or.
153         * src/atomic_ops/sysdeps/gcc/s390.h: Fix include paths.
154         * src/atomic_ops/generalize.h: Fix AO_compare_and_swap_double_acquire.
155         * Makefile.in, aclocal.m4, src/atomic_ops/sysdeps/Makefile.in,
156         tests/Makefile.in: Regenerate.
157
158 2008-02-11 Hans Boehm <Hans.Boehm@hp.com>
159            (Really Ian Wienand & Debian maintainers)
160         * src/atomic_ops/sysdeps/gcc/x86.h
161         (AO_compare_double_and_swap_double_full): Correctly account for
162         ebx usage with PIC.
163
164 2008-01-09 Hans Boehm <Hans.Boehm@hp.com>
165         * src/atomic_ops/sysdeps/standard_ao_double_t.h: Let
166         double_ptr_storage default to long long; define everywhere.
167
168 2008-01-08 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Joerg Wagner)
169         * src/atomic_ops/sysdeps/msftc/x86.h: Conditionally add
170         compare_double_and_swap_double.
171
172 2008-01-06 Hans Boehm <Hans.Boehm@hp.com> (Really mostly Joerg Wagner)
173         * src/atomic_ops/generalize.h: Add test_and_set generalizations,
174         Add AO_double_compare_and_swap generalizations.
175         * src/atomic_ops/sysdeps/armcc/arm_v6.h: New file.
176         * src/atomic_ops/sysdeps/gcc/arm.h: Handle V6 and V7.
177         * src/atomic_ops/sysdeps/gcc/x86.h,
178         src/atomic_ops/sysdeps/{gcc,msftc}/x86_64.h: Conditionally add
179         compare_double_and_swap_double, commented out for msftc.
180         * src/atomic_ops/sysdeps/standard_ao_double_t.h:  Add
181         double_ptr_storage field.
182
183 2008-01-03 Hans Boehm <Hans.Boehm@hp.com>
184         (Merge from separate atomic_ops tree)
185         * src/atomic_ops/sysdeps/gcc/x86.h: Define correct macro for
186         double-width cas, and fix its implementation.
187         * doc/README.txt: Clarify use of _full.  Add more warnings about
188         data dependencies.
189
190 2008-01-02 Hans Boehm <Hans.Boehm@hp.com>
191         * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_load_acquire): Add
192         %X1 modifier to support indexed addressing.
193
194 2007-07-23 Hans Boehm <Hans.Boehm@hp.com> (really Jim Marshall)
195         * src/atomic_ops/sysdeps/msftc/x86.h (_InterlockedExchangeAdd): Define
196         for VC++6.
197
198 2007-07-05  Andreas Tobler  <a.tobler@schweiz.org>
199         * src/atomic_ops.h: Check for __powerpc64__ and __ppc64__ to include
200         powerpc.h.
201
202 2007-06-26 Hans Boehm <Hans.Boehm@hp.com> (really Luca Barbato)
203         * src/atomic_ops/sysdeps/gcc/powerpc.h (AO_load_acquire): Add
204         64-bit version.
205
206 2007-06-13 Hans Boehm <Hans.Boehm@hp.com>
207         * src/atomic_ops.h: include stddef.h
208
209 2007-06-06 Hans Boehm <Hans.Boehm@hp.com>
210         * src/atomic_ops/sysdeps/msftc/x86_64.h: New file.
211         * src/atomic_ops.h: Add test for msftc/x86_64.h.
212         * src/atomic_ops/sysdeps/msftc/x86.h: Complain for _WIN64.
213         * src/atomic_ops/sysdeps/Makefile.am: Add x86_64.h.
214         * src/atomic_ops/sysdeps/Makefile.in: Regenerate.
215         * src/atomic_ops/sysdeps/aligned_atomic_load_store.h,
216           src/atomic_ops/sysdeps/int_aligned_atomic_load_store.h,
217           src/atomic_ops/sysdeps/short_aligned_atomic_load_store.h:
218           Replace unsigned long cast with size_t.
219
220 2007-05-17 Hans Boehm <Hans.Boehm@hp.com>
221         * src/atomic_ops/sysdeps/gcc/hppa.h (AO_test_and_set_full):
222         Add cast for return.
223
224 2007-05-14 Hans Boehm <Hans.Boehm@hp.com>
225         doc/README.txt: Update to reflect C++0x effort.
226
227 2007-05-07  Hans Boehm <Hans.Boehm@hp.com> (with help from Philipp Zambelli)
228         * src/atomic_ops/sysdeps/msftc/x86.h: Don't just assume that mfence
229         is present.
230         * src/atomic_ops/sysdeps/gcc/arm.h (AO_test_and_set_full): Correct
231         oldval type.
232
233 2006-11-09 Earl Chew (Agilent)
234         * msftc/x86.h: Follow Microsoft documentation and include
235         windows.h.
236
237 [1.2 release]
238
239 2006-07-11 Hans Boehm <Hans.Boehm@hp.com>
240         * src/atomic_ops/sysdeps/hpc/ia64.h: Fix typos.
241         
242 2006-03-28 Earl Chew (Agilent)
243         * src/atomic_ops/sysdeps/gcc/powerpc.h: Remove unused variable cr.
244         * src/atomic_ops/sysdeps/msftc/x86.h:
245         Use new intrinsics available in MSVC 2003 and MSVC 2005.
246         Use inline assembler to generate mfence and byte sized xchg
247         Use correct prototype for InterlockedCompareExchange.
248         * src/atomic_ops.h: Add test for __PPC__ .
249         * tests/run_parallel.inc: Add simple VxWorks support. 
250         * tests/test_atomic.c, tests/test_atomic_include.h: Add prototypes
251         to silence compiler warnings.
252
253 2006-1-13 Hans Boehm <Hans.Boehm@hp.com>
254         *src/atomic_ops/sysdeps/gcc/powerpc.h: Beginnings of 64 bit support.
255         *src/atomic_ops/sysdeps/gcc/x86.h: Use "=q" for AO_test_and_set_full.
256
257 2005-11-4 Hans Boehm <Hans.Boehm@hp.com>
258         *src/atomic_ops/sysdeps/gcc/ia64.h: Include
259         all_acquire_release_volatile.h, instead of just the pointer-sized
260         version.
261         *src/atomic_ops/sysdeps/gcc/ia64.h: Include
262         all_acquire_release_volatile.h and all_atomic_load_store.h,
263         instead of just the pointer-sized versions.
264
265 [1.1 release]
266
267 2005-09-27 Hans Boehm <Hans.Boehm@hp.com>
268         *src/atomic_ops.h: Define AO_CAN_EMUL_CAS for arm.
269         *src/atomic_ops/sysdeps/read_ordered.h: New file, extracted from
270         ordered_except_wr.h.
271         *src/atomic_ops/sysdeps/ordered_except_wr.h: include read_ordered.h
272         instead of duplicating it.
273         *src/atomic_ops/sysdeps/gcc/arm.h: Include read_ordered.h.
274
275 2005-09-16 Hans Boehm <Hans.Boehm@hp.com>
276         *src/atomic_ops/sysdeps/gcc/arm.h: Replace the AO_test_and_set
277         definition with one that might actually work.  (Thanks to Kazu
278         Hirata and Paul Brook.)
279
280 2005-08-01 Hans Boehm <Hans.Boehm@hp.com>
281         *src/atomic_ops/Makefile.am: Change function naming from "byte" to
282         "char" (again).
283
284 [1.0 release]
285
286 2005-03-21 Hans Boehm <Hans.Boehm@hp.com>
287         Fix various acquire_release_volatile.h files to reflect the fact
288         that both icc and gcc seem to reorder ordinary memory accesses around
289         volatile accesses early in the compilation. Modify the acquire
290         release test to catch this problem (with high probablity, and only on
291         a multiprocessor).
292
293 2005-03 Hans Boehm <Hans.Boehm@hp.com>
294         Fixes for recently introduced bugs.  Update x86 and x86-64 assembly
295         syntax to deal with complaints by some recent gcc versions.
296         
297 2005-02 Hans Boehm <Hans.Boehm@hp.com>
298         Added libatomic_ops_gpl library with support for mostly
299         lock-free stack and malloc().
300
301 2005-01 Ian Wienand <ianw@gelato.unsw.edu.au>, Al Stone <ahs3@debian.org>,
302         Hans Boehm <Hans.Boehm@hp.com>
303         Use autoconf, automake, starting with code from Debian package.
304         Don't use libtool.
305
306 2005-01 Hans Boehm <Hans.Boehm@hp.com>
307         * test_and_set_t_is_ao_t.h, test_and_set_t_is_char.h, others:
308         Change most platforms to use byte-wide test-and-set locations.
309         
310 2005-01 Hans Boehm <Hans.Boehm@hp.com>
311         * ao_t_is_int.h: Add to trivially support int-wide operations
312         on platforms with int-sized pointers.
313
314 2004-12 Hans Boehm <Hans.Boehm@hp.com>
315         * gcc/powerpc.h: First serious attempt to support PowerPC (with
316         help from Maged Michael and others).
317
318 2004-12 Hans Boehm <Hans.Boehm@hp.com>
319         * sunc/sparc.[hS]: Added minimal supprt for the Sun SPARC compiler.
320         * atomic_ops_sysdeps.S: Add support for platforms that require
321         out-of-line assmebly code.
322
323 2004-10 Hans Boehm <Hans.Boehm@hp.com>
324         More work on char, short, int sized data.  Add both
325         compare_double_and_swap_double and compare_and_swap_double.
326         Typically each platform will provide at most one of these.
327
328 2004-07-02 Ranko Zivojnovic
329         Replace both instances of AO_HAVE_NOP_FULL with AO_HAVE_nop_full.
330
331 2004-06 Hans Boehm <Hans.Boehm@hp.com>
332         Start to add atomic_ops primitives for different sized data.
333
334 2003-12-18  Hans Boehm  <Hans.Boehm@hp.com>
335         * atomic_ops/sysdeps/acquire_release_volatile.h, atomic_ops.h:
336         Fix support for ecc on IA64.  Remove compiler_barrier workaround
337         for gcc 3.4 and later.
338
339 2003-12-17  Hans Boehm  <Hans.Boehm@hp.com>
340         * atomic_ops/sysdeps/hpc/{ia64.h,hppa.h},
341         atomic_ops/sysdeps/msftc/x86.h, Makefile, Makefile.atomic_ops,
342         Makefile.atomic_ops.msft, atomic_ops.h: Add initial support
343         for atomic_ops for VC++/Windows/X86 and HP/UX with the HP
344         compiler on PA_RISC and IA64.
345
346 2003-12-09  Hans Boehm  <Hans.Boehm@hp.com>
347
348         * many: Install under "atomic_ops" instead of "ao".
349         Change atomic_ops include file structure.  Auxiliary include
350         files are all under include/atomic_ops.
351         Fix (hopefully) "make dist" in atomic_ops distribution.
352         Renamed various types to end in _t, though the old versions
353         are still defined for backward compatibility.
354
355 2003-12-08  Carlos O'Donell  <carlos@baldric.uwo.ca>
356
357         * ao_sysdeps/gcc/hppa.h: Define AO_CLEAR macro. Change 
358         AO_pa_clearable_loc type. Add __ldcw, and __ldcw_align
359         helper macros. AO_test_and_set_full uses helper macros.
360
361
362 Started sometime after version 0.4 release.  Currently the format is
363 informal.  Eventually should become more GNU-like.