111
|
1 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
2
|
|
3 * testsuite/lib/libitm.exp: Load scanlang.exp.
|
|
4
|
|
5 2017-04-03 Jonathan Wakely <jwakely@redhat.com>
|
|
6
|
|
7 * libitm_i.h (sutrct gtm_thread): Fix typo in comment.
|
|
8
|
|
9 2017-01-21 Jakub Jelinek <jakub@redhat.com>
|
|
10
|
|
11 PR other/79046
|
|
12 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
|
|
13 of cat to get version from BASE-VER file.
|
|
14 * testsuite/Makefile.in: Regenerated.
|
|
15
|
|
16 2017-01-19 Uros Bizjak <ubizjak@gmail.com>
|
|
17
|
|
18 * config/x86/target.h (htm_available): Determine vendor from
|
|
19 __get_cpuid_max return. Use signature_INTEL_ebx. Cleanup.
|
|
20
|
|
21 2017-01-18 Torvald Riegel <triegel@redhat.com>
|
|
22
|
|
23 * config/x86/target.h (htm_available): Add check for some processors
|
|
24 on which TSX is broken.
|
|
25
|
|
26 2017-01-17 Jakub Jelinek <jakub@redhat.com>
|
|
27
|
|
28 PR other/79046
|
|
29 * configure.ac: Add GCC_BASE_VER.
|
|
30 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
|
|
31 get version from BASE-VER file.
|
|
32 * testsuite/Makefile.in: Regenerated.
|
|
33 * configure: Regenerated.
|
|
34 * Makefile.in: Regenerated.
|
|
35
|
|
36 2017-01-04 Alan Modra <amodra@gmail.com>
|
|
37
|
|
38 * Makefile.in: Regenerate.
|
|
39 * testsuite/Makefile.in: Regenerate.
|
|
40
|
|
41 2017-01-01 Jakub Jelinek <jakub@redhat.com>
|
|
42
|
|
43 Update copyright years.
|
|
44
|
|
45 * libitm.texi: Bump @copying's copyright year.
|
|
46
|
|
47 2016-12-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
48
|
|
49 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Remove.
|
|
50 * aclocal.m4: Regenerate.
|
|
51 * configure.ac: Call GCC_CHECK_LINKER_HWCAP instead of
|
|
52 LIBITM_CHECK_LINKER_HWCAP.
|
|
53
|
|
54 2016-11-15 Matthias Klose <doko@ubuntu.com>
|
|
55
|
|
56 * configure: Regenerate.
|
|
57
|
|
58 2016-04-19 H.J. Lu <hongjiu.lu@intel.com>
|
|
59
|
|
60 PR libitm/70456
|
|
61 * util.cc (xmalloc): Use posix_memalign to allocate memory on
|
|
62 on cache line if requested.
|
|
63
|
|
64 2016-03-03 Dominik Vogt <vogt@linux.vnet.ibm.com>
|
|
65
|
|
66 * config/s390/target.h (TARGET_BEGIN_TRANSACTION_ATTRIBUTE): Define
|
|
67 function attribute to disable floating point in begin_transaction() on
|
|
68 S/390.
|
|
69 * beginend.cc (begin_transaction): Use
|
|
70 TARGET_BEGIN_TRANSACTION_ATTRIBUTE.
|
|
71
|
|
72 2016-01-22 Torvald Riegel <triegel@redhat.com>
|
|
73
|
|
74 * beginend.cc (GTM::gtm_thread::serial_lock): Put on cacheline
|
|
75 boundary.
|
|
76 (htm_fastpath): Remove.
|
|
77 (gtm_thread::begin_transaction): Fix HTM fastpath.
|
|
78 (_ITM_commitTransaction): Adapt.
|
|
79 (_ITM_commitTransactionEH): Adapt.
|
|
80 * libitm/config/linux/rwlock.h (gtm_rwlock): Add htm_fastpath member
|
|
81 and accessors.
|
|
82 * libitm/config/posix/rwlock.h (gtm_rwlock): Likewise.
|
|
83 * libitm/config/posix/rwlock.cc (gtm_rwlock::gtm_rwlock): Adapt.
|
|
84 * libitm/config/x86/sjlj.S (_ITM_beginTransaction): Fix HTM fastpath.
|
|
85 * libitm/libitm_i.h (htm_fastpath): Remove declaration.
|
|
86 * libitm/method-serial.cc (htm_mg): Adapt.
|
|
87 (gtm_thread::serialirr_mode): Adapt.
|
|
88 * libitm/query.cc (_ITM_inTransaction, _ITM_getTransactionId): Adapt.
|
|
89
|
|
90 2016-01-21 Torvald Riegel <triegel@redhat.com>
|
|
91
|
|
92 * testsuite/libitm.c++/libstdc++-safeexc.C: Not supported on darwin
|
|
93 or AIX.
|
|
94
|
|
95 2016-01-19 Richard Henderson <rth@redhat.com>
|
|
96
|
|
97 PR bootstrap/69343
|
|
98 PR bootstrap/69339
|
|
99 Revert:
|
|
100 2016-01-13 Richard Henderson <rth@redhat.com>
|
|
101
|
|
102 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
|
|
103 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
|
|
104 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
|
|
105 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
|
|
106 * configure.ac (ARCH_AARCH64): New conditional.
|
|
107 (ARCH_PPC, ARCH_S390): Likewise.
|
|
108 * Makefile.in, configure: Rebuild.
|
|
109
|
|
110 * libitm.h (_ITM_TYPE_M128): Always define.
|
|
111 * vect64.cc: Split ...
|
|
112 * vect128.cc: ... out of...
|
|
113 * config/x86/x86_sse.cc: ... here.
|
|
114 * config/arm/neon.cc: New file.
|
|
115
|
|
116 2016-01-19 Torvald Riegel <triegel@redhat.com>
|
|
117
|
|
118 * local_type_traits: Remove file.
|
|
119 * libitm_i.h: Don't include it anymore.
|
|
120 (sized_integral): Remove.
|
|
121
|
|
122 2016-01-16 Torvald Riegel <triegel@redhat.com>
|
|
123
|
|
124 * method-gl.cc (gl_wt_dispatch::trycommit): Ensure proxy privatization
|
|
125 safety.
|
|
126 * method-ml.cc (ml_wt_dispatch::trycommit): Likewise.
|
|
127 * libitm/testsuite/libitm.c/priv-1.c: New.
|
|
128
|
|
129 2015-01-15 Torvald Riegel <triegel@redhat.com>
|
|
130
|
|
131 testsuite/libitm.c++/libstdc++-safeexc.C: New.
|
|
132
|
|
133 2016-01-13 Torvald Riegel <triegel@redhat.com>
|
|
134
|
|
135 * beginend.cc (gtm_thread::trycommit): Fix seq_cst fences.
|
|
136 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
|
|
137 (gtm_rwlock::write_unlock): Likewise.
|
|
138
|
|
139 2016-01-13 Richard Henderson <rth@redhat.com>
|
|
140
|
|
141 * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
|
|
142 (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
|
|
143 (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
|
|
144 (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
|
|
145 * configure.ac (ARCH_AARCH64): New conditional.
|
|
146 (ARCH_PPC, ARCH_S390): Likewise.
|
|
147 * Makefile.in, configure: Rebuild.
|
|
148
|
|
149 * libitm.h (_ITM_TYPE_M128): Always define.
|
|
150 * vect64.cc: Split ...
|
|
151 * vect128.cc: ... out of...
|
|
152 * config/x86/x86_sse.cc: ... here.
|
|
153 * config/arm/neon.cc: New file.
|
|
154
|
|
155 2016-01-13 Torvald Riegel <triegel@redhat.com>
|
|
156
|
|
157 * beginend.cc (gtm_thread::trycommit): Fix privatization safety.
|
|
158 * config/linux/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
|
|
159 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Likewise.
|
|
160 * dispatch.h (abi_dispatch::snapshot_most_recent): New.
|
|
161 * method-gl.cc (gl_wt_dispatch::snapshot_most_recent): New.
|
|
162 * method-ml.cc (ml_wt_dispatch::snapshot_most_recent): New.
|
|
163 * method-serial.cc (serial_dispatch::snapshot_most_recent): New.
|
|
164 (serialirr_dispatch::snapshot_most_recent): New.
|
|
165 (serialirr_onwrite_dispatch::snapshot_most_recent): New.
|
|
166
|
|
167 2016-01-12 Torvald Riegel <triegel@redhat.com>
|
|
168
|
|
169 * libitm_i.h (gtm_mask_stack): Remove.
|
|
170 * beginend.cc (gtm_stmlock_array, gtm_clock): Likewise.
|
|
171 * stmlock.h: Remove file.
|
|
172 * config/alpha/cacheline.h: Likewise.
|
|
173 * config/generic/cacheline.h: Likewise.
|
|
174 * config/powerpc/cacheline.h: Likewise.
|
|
175 * config/sparc/cacheline.h: Likewise.
|
|
176 * config/x86/cacheline.h: Likewise.
|
|
177
|
|
178 2016-01-04 Jakub Jelinek <jakub@redhat.com>
|
|
179
|
|
180 Update copyright years.
|
|
181
|
|
182 * libitm.texi: Bump @copying's copyright year.
|
|
183
|
|
184 2015-11-26 Torvald Riegel <triegel@redhat.com>
|
|
185
|
|
186 * method-ml.cc (ml_mg): Use multiplicative instead of simple hashing.
|
|
187 (ml_wt_dispatch::pre_write): Adapt.
|
|
188 (ml_wt_dispatch::pre_load): Likewise.
|
|
189
|
|
190 2015-11-22 Torvald Riegel <triegel@redhat.com>
|
|
191
|
|
192 * libitm_i.h (gtm_alloc_action): Remove union.
|
|
193 * testsuite/libitm.c/alloc-1.c: New.
|
|
194
|
|
195 2015-11-19 Torvald Riegel <triegel@redhat.com>
|
|
196
|
|
197 * testsuite/libitm.c++/eh-5.C: New.
|
|
198 * libitm.h (_ITM_cxa_free_exception): New.
|
|
199 * libitm.map (_ITM_cxa_free_exception): Add it.
|
|
200 * libitm.texi: Update ABI docs.
|
|
201 * libitm_i.h (gtm_transaction_cp::cxa_unthrown): Remove.
|
|
202 (gtm_transaction_cp::cxa_uncaught_count): Add.
|
|
203 (gtm_thread::cxa_unthrown): Remove.
|
|
204 (gtm_thread::cxa_uncaught_count_ptr): Add.
|
|
205 (gtm_thread::cxa_uncaught_count): Add.
|
|
206 (gtm_thread::drop_references_allocations): Rename to...
|
|
207 (gtm_thread::discard_allocation): ... this and adapt.
|
|
208 (gtm_thread::init_cpp_exceptions): New.
|
|
209 * beginend.cc (gtm_thread::gtm_thread): Adapt EH handling.
|
|
210 (gtm_thread::begin_transaction): Likewise.
|
|
211 (gtm_transaction_cp::save): Likewise.
|
|
212 (gtm_thread::trycommit): Likewise.
|
|
213 * eh_cpp.cc: Add overview comments.
|
|
214 (__cxa_eh_globals, __cxa_get_globals, __cxa_free_exception): Declare.
|
|
215 (free_any_exception, _ITM_cxa_free_exception): New.
|
|
216 (gtm_thread::init_cpp_exceptions): Define.
|
|
217 (_ITM_cxa_allocate_exception, _ITM_cxa_throw): Adapt.
|
|
218 (_ITM_cxa_begin_catch, _ITM_cxa_end_catch): Likewise.
|
|
219 (gtm_thread::revert_cpp_exceptions): Likewise.
|
|
220
|
|
221 2015-11-09 Torvald Riegel <triegel@redhat.com>
|
|
222
|
|
223 * alloc_cpp.cc (_ZdlPvX, _ZdlPvXRKSt9nothrow_t, _ZGTtdlPvX,
|
|
224 _ZGTtdlPvXRKSt9nothrow_t, delsz_opnt): New.
|
|
225 * libitm.map: Add _ZGTtdlPvX and _ZGTtdlPvXRKSt9nothrow_t.
|
|
226 * libitm_i.h (gtm_alloc_action): Add free_fn_sz and sz. Add comments.
|
|
227 (gtm_thread::forget_allocations): New overload with size_t argument.
|
|
228 * alloc.c (gtm_thread::forget_allocation): Define new overload and
|
|
229 adapt existing one.
|
|
230 (gtm_thread::record_allocation): Adapt.
|
|
231 (gtm_thread::commit_allocations_1): Adapt.
|
|
232 (gtm_thread::commit_allocations_2): Adapt.
|
|
233 * testsuite/libitm.c++/newdelete.C: New.
|
|
234
|
|
235 2015-10-27 Daniel Jacobowitz <dan@codesourcery.com>
|
|
236 Joseph Myers <joseph@codesourcery.com>
|
|
237 Mark Shinwell <shinwell@codesourcery.com>
|
|
238 Andrew Stubbs <ams@codesourcery.com>
|
|
239 Rich Felker <dalias@libc.org>
|
|
240
|
|
241 * config/sh/sjlj.S (_ITM_beginTransaction): Bypass PLT calling
|
|
242 GTM_begin_transaction for compatibility with FDPIC.
|
|
243
|
|
244 2015-10-09 David Malcolm <dmalcolm@redhat.com>
|
|
245
|
|
246 * testsuite/lib/libitm.exp: Load multiline.exp before prune.exp,
|
|
247 using load_gcc_lib.
|
|
248
|
|
249 2015-08-20 Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> (tiny change)
|
|
250
|
|
251 PR libitm/61164
|
|
252 * local_atomic (__always_inline): Rename to...
|
|
253 (__libitm_always_inline): ... this.
|
|
254
|
|
255 2015-07-03 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
|
|
256
|
|
257 PR target/52482
|
|
258 * config/powerpc/sjlj.S: Port to Xcode 2.5.
|
|
259
|
|
260 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
|
|
261
|
|
262 * config/linux/x86/futex_bits.h (sys_futex0) [__x86_64__]: Change
|
|
263 operands "op" and "val" to int.
|
|
264
|
|
265 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
|
|
266
|
|
267 * config/linux/sh/futex_bits.h (sys_futex0) Change operands
|
|
268 "op" and "val" to int.
|
|
269
|
|
270 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
|
|
271
|
|
272 * config/linux/alpha/futex_bits.h (sys_futex0) Change operands
|
|
273 "op" and "val" to int.
|
|
274
|
|
275 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
|
|
276
|
|
277 * config/linux/futex.cc (gtm_futex_wait, gtm_futex_wake):
|
|
278 Declare as static int.
|
|
279 (FUTEX_PRIVATE_FLAG): Remove L suffix.
|
|
280 * config/linux/futex_bits.h (sys_futex0) Change operand "op" to int.
|
|
281
|
|
282 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
|
|
283
|
|
284 * config/linux/x86/futex_bits.h (sys_futex0) [__PIC__]: Remove
|
|
285 sys_futex0 function.
|
|
286
|
|
287 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
|
|
288
|
|
289 * Makefile.in: Regenerated with automake-1.11.6.
|
|
290 * aclocal.m4: Likewise.
|
|
291 * configure: Likewise.
|
|
292 * testsuite/Makefile.in: Likewise.
|
|
293
|
|
294 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
|
|
295
|
|
296 * config/arm/hwcap.cc: Use fcntl.h instead of sys/fcntl.h.
|
|
297 * config/linux/x86/tls.h: Only use __GLIBC_PREREQ if defined.
|
|
298
|
|
299 2015-01-15 H.J. Lu <hongjiu.lu@intel.com>
|
|
300
|
|
301 PR libitm/64360
|
|
302 * libitm.c/stackundo.c (test2): Make it static.
|
|
303 (test1): Likewise.
|
|
304
|
|
305 2015-01-05 Jakub Jelinek <jakub@redhat.com>
|
|
306
|
|
307 Update copyright years.
|
|
308
|
|
309 2015-01-05 Jakub Jelinek <jakub@redhat.com>
|
|
310
|
|
311 * libitm.texi: Bump @copying's copyright year.
|
|
312
|
|
313 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
|
314
|
|
315 * testsuite/lib/libitm.exp: Load target-utils.exp.
|
|
316 Move load of target-supports.exp earlier.
|
|
317
|
|
318 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
|
|
319
|
|
320 * configure.tgt (x86_64): Tune -m32 multilib to generic.
|
|
321
|
|
322 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
323
|
|
324 PR bootstrap/63784
|
|
325 * configure: Regenerated.
|
|
326
|
|
327 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
|
328
|
|
329 PR target/63610
|
|
330 * configure: Regenerate.
|
|
331
|
|
332 2014-10-06 Marek Polacek <polacek@redhat.com>
|
|
333
|
|
334 * testsuite/libitm.c/memcpy-1.c: Declare getpagesize.
|
|
335 * testsuite/libitm.c/memset-1.c: Likewise.
|
|
336
|
|
337 2014-07-24 Richard Henderson <rth@redhat.com>
|
|
338
|
|
339 * config/aarch64/sjlj.S (_ITM_beginTransaction): Use post-inc
|
|
340 addressing mode in epilogue.
|
|
341
|
|
342 2014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
343
|
|
344 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): Check for
|
|
345 -mclear-hwcap instead.
|
|
346 * configure: Regenerate.
|
|
347 * clearcap.map: Remove.
|
|
348
|
|
349 2014-05-21 John Marino <gnugcc@marino.st>
|
|
350
|
|
351 * configure.tgt (*-*-dragonfly*): New target.
|
|
352
|
|
353 2014-05-19 Richard Henderson <rth@redhat.com>
|
|
354
|
|
355 * config/aarch64/sjlj.S: New file.
|
|
356 * config/aarch64/target.h: New file.
|
|
357 * configure.tgt: Enable aarch64.
|
|
358
|
|
359 2014-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
360
|
|
361 * config/generic/asmcfi.h: Also check for
|
|
362 __GCC_HAVE_DWARF2_CFI_ASM.
|
|
363
|
|
364 2013-04-02 Richard Henderson <rth@redhat.com>
|
|
365
|
|
366 * config/alpha/target.h (PAGE_SIZE, FIXED_PAGE_SIZE): Remove.
|
|
367 * config/arm/target.h, config/sh/target.h: Likewise.
|
|
368 * config/sparc/target.h, config/x86/target.h: Likewise.
|
|
369
|
|
370 2014-03-26 Jakub Jelinek <jakub@redhat.com>
|
|
371
|
|
372 * config/linux/futex_bits.h: Include errno.h.
|
|
373 (sys_futex0): If syscall returns -1, return -errno rather than
|
|
374 -1.
|
|
375
|
|
376 2014-03-26 Joseph Myers <joseph@codesourcery.com>
|
|
377
|
|
378 * libitm.texi (Index): Rename to Library Index.
|
|
379
|
|
380 2014-01-13 H.J. Lu <hongjiu.lu@intel.com>
|
|
381
|
|
382 PR libitm/53113
|
|
383 * Makefile.am (x86_sse.lo): Append -msse to CXXFLAGS.
|
|
384 (x86_avx.lo): Append -mavx to CXXFLAGS.
|
|
385 * Makefile.in: Regenerate.
|
|
386
|
|
387 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
|
|
388
|
|
389 Update copyright years
|
|
390
|
|
391 2014-01-02 Tobias Burnus <burnus@net-b.de>
|
|
392
|
|
393 * libitm.texi: Bump @copying's copyright year.
|
|
394
|
|
395 2013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
|
|
396
|
|
397 * config/powerpc/sjlj.S [__powerpc64__ && _CALL_ELF == 2]:
|
|
398 (FUNC): Define ELFv2 variant.
|
|
399 (END): Likewise.
|
|
400 (HIDDEN): Likewise.
|
|
401 (CALL): Likewise.
|
|
402 (BASE): Likewise.
|
|
403 (LR_SAVE): Likewise.
|
|
404
|
|
405 2013-09-20 Alan Modra <amodra@gmail.com>
|
|
406
|
|
407 * configure: Regenerate.
|
|
408
|
|
409 2013-08-30 Torvald Riegel <triegel@redhat.com>
|
|
410
|
|
411 * config/posix/rwlock.cc: Fix initialization order.
|
|
412
|
|
413 2013-08-30 Torvald Riegel <triegel@redhat.com>
|
|
414
|
|
415 * libitm_i.h (gtm_thread): Assign an asm name to serial_lock.
|
|
416 (htm_fastpath): Assign an asm name.
|
|
417 * libitm.h (_ITM_codeProperties): Add non-ABI flags used by custom
|
|
418 HTM fast paths.
|
|
419 (_ITM_actions): Likewise.
|
|
420 * config/x86/target.h (HTM_CUSTOM_FASTPATH): Enable custom fastpath on
|
|
421 x86_64.
|
|
422 * config/x86/sjlj.S (_ITM_beginTransaction): Add custom HTM fast path.
|
|
423 * config/posix/rwlock.h (gtm_rwlock): Update comments. Move summary
|
|
424 field to the start of the structure.
|
|
425 * config/linux/rwlock.h (gtm_rwlock): Update comments.
|
|
426 * beginend.cc (gtm_thread::begin_transaction): Add retry policy
|
|
427 handling for custom HTM fast paths.
|
|
428
|
|
429 2013-08-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
|
430 Revert:
|
|
431 2013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
|
432
|
|
433 * configure.tgt: Add -msoft-float to XCFLAGS.
|
|
434
|
|
435 2013-08-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
|
436
|
|
437 * configure.tgt: Add -msoft-float to XCFLAGS.
|
|
438
|
|
439 2013-07-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
|
440
|
|
441 * config/s390/target.h (htm_begin, htm_commit, htm_abort)
|
|
442 (htm_transaction_active): Enable zEC12 instructions in the
|
|
443 assembler.
|
|
444 * configure.tgt: Remove -Wa,-march=zEC12 from XCFLAGS.
|
|
445
|
|
446 2013-07-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
|
447
|
|
448 * acinclude.m4: Add htm asm check for s390.
|
|
449 * configure.tgt: Add -mhtm and -Wa,-march=zEC12 to the options.
|
|
450 * configure: Regenerate.
|
|
451 * config/s390/target.h: Remove __HTM__ check.
|
|
452 (htm_available): Call getauxval to get hwcaps and check whether
|
|
453 HTM is available or not.
|
|
454
|
|
455 2013-07-15 Peter Bergner <bergner@vnet.ibm.com>
|
|
456
|
|
457 * acinclude.m4 (LIBITM_CHECK_AS_HTM): New.
|
|
458 * configure.ac: Use it.
|
|
459 (AC_CHECK_HEADERS): Check for sys/auxv.h.
|
|
460 (AC_CHECK_FUNCS): Check for getauxval.
|
|
461 * config.h.in, configure: Rebuild.
|
|
462 * configure.tgt (target_cpu): Add -mhtm to XCFLAGS.
|
|
463 * config/powerpc/target.h: Include sys/auxv.h and htmintrin.h.
|
|
464 (USE_HTM_FASTPATH): Define.
|
|
465 (_TBEGIN_STARTED, _TBEGIN_INDETERMINATE, _TBEGIN_PERSISTENT,
|
|
466 _HTM_RETRIES) New macros.
|
|
467 (htm_abort, htm_abort_should_retry, htm_available, htm_begin, htm_init,
|
|
468 htm_begin_success, htm_commit, htm_transaction_active): New functions.
|
|
469
|
|
470 2013-06-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
|
471
|
|
472 * config/s390/target.h: Include htmintrin.h.
|
|
473 (_HTM_ITM_RETRIES): New macro definition.
|
|
474 (htm_available, htm_init, htm_begin, htm_begin_success)
|
|
475 (htm_commit, htm_abort, htm_abort_should_retry): New functions.
|
|
476
|
|
477 2013-06-20 Iain Sandoe <iain@codesourcery.com>
|
|
478 Cesar Philippidis <cesar@codesourcery.com>
|
|
479
|
|
480 * testsuite/lib/libitm.exp: Reorder lib loads into dependency order.
|
|
481 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
|
|
482 * testsuite/libitm.c/c.exp: load_gcc_lib gcc-dg.exp.
|
|
483 * testsuite/libitm.c++/c++.exp: load_gcc_lib gcc-dg.exp.
|
|
484
|
|
485 2013-06-20 Torvald Riegel <triegel@redhat.com>
|
|
486
|
|
487 * query.cc (_ITM_inTransaction): Abort when using the HTM fastpath.
|
|
488 (_ITM_getTransactionId): Same.
|
|
489 * config/x86/target.h (htm_transaction_active): New.
|
|
490
|
|
491 2013-06-20 Torvald Riegel <triegel@redhat.com>
|
|
492
|
|
493 PR libitm/57643
|
|
494 * beginend.cc (gtm_thread::begin_transaction): Handle reentrancy in
|
|
495 the HTM fastpath.
|
|
496
|
|
497 2013-03-31 Gerald Pfeifer <gerald@pfeifer.com>
|
|
498
|
|
499 PR bootstrap/56714
|
|
500 * local_atomic (__always_inline): Always define our version.
|
|
501 (__calculate_memory_order): Mark inline.
|
|
502 (atomic_thread_fence): Ditto.
|
|
503 (atomic_signal_fence): Ditto.
|
|
504 (atomic_bool::atomic_flag_test_and_set_explicit): Ditto.
|
|
505 (atomic_bool::atomic_flag_clear_explicit): Ditto.
|
|
506 (atomic_bool::atomic_flag_test_and_set): Ditto.
|
|
507 (atomic_bool::atomic_flag_clear): Ditto.
|
|
508
|
|
509 2013-04-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
|
510
|
|
511 * config/s390/sjlj.S: New file.
|
|
512 * config/s390/target.h: New file.
|
|
513 * configure.tgt: Set options for S/390.
|
|
514
|
|
515 2013-03-23 Andi Kleen <ak@linux.intel.com>
|
|
516
|
|
517 * local_atomic (__always_inline): Add.
|
|
518 (__calculate_memory_order, atomic_thread_fence,
|
|
519 atomic_signal_fence, test_and_set, clear, store, load,
|
|
520 exchange, compare_exchange_weak, compare_exchange_strong,
|
|
521 fetch_add, fetch_sub, fetch_and, fetch_or, fetch_xor):
|
|
522 Add __always_inline to force inlining.
|
|
523
|
|
524 2013-02-11 Iain Sandoe <iain@codesourcery.com>
|
|
525 Jack Howarth <howarth@bromo.med.uc.edu>
|
|
526 Patrick Marlier <patrick.marlier@gmail.com>
|
|
527
|
|
528 PR libitm/55693
|
|
529 * alloc_cpp.cc: Enable function declarations on darwin.
|
|
530 * eh_cpp.cc: Likewise.
|
|
531
|
|
532 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
|
|
533
|
|
534 Update copyright years.
|
|
535
|
|
536 2012-11-09 Torvald Riegel <triegel@redhat.com>
|
|
537
|
|
538 * beginend.cc (htm_fastpath): New.
|
|
539 (gtm_thread::begin_transaction, _ITM_commitTransaction,
|
|
540 _ITM_commitTransactionEH): Add HTM fastpath handling.
|
|
541 * config/linux/rwlock.h (gtm_rwlock.is_write_locked): New.
|
|
542 * config/posix/rwlock.h (gtm_rwlock.is_write_locked): New.
|
|
543 * config/x86/target.h (htm_available, htm_init, htm_begin_success,
|
|
544 htm_begin, htm_commit, htm_abort, htm_abort_should_retry): New.
|
|
545 * configure.tgt: Add -mrtm to XCFLAGS.
|
|
546 * method-serial.cc (htm_mg, o_htm_mg, htm_dispatch, dispatch_htm): New.
|
|
547 (gtm_thread::serialirr_mode): Add HTM fastpath handling.
|
|
548 * libitm_i.h (htm_fastpath, dispatch_htm): Declare.
|
|
549 * retry.cc (parse_default_method): Add HTM method parsing.
|
|
550 (gtm_thread::number_of_threads_changed): Use HTM by default if
|
|
551 available.
|
|
552
|
|
553 2012-11-04 Thomas Schwinge <thomas@codesourcery.com>
|
|
554
|
|
555 * configure: Regenerate.
|
|
556
|
|
557 2012-10-31 Richard Henderson <rth@redhat.com>
|
|
558
|
|
559 * acinclude.m4 (LIBITM_CHECK_AS_RTM): New.
|
|
560 * configure.ac: Use it.
|
|
561 * config.h.in, configure: Rebuild.
|
|
562 * testsuite/Makefile.in: Rebuild.
|
|
563
|
|
564 2012-10-24 Torvald Riegel <triegel@redhat.com>
|
|
565
|
|
566 * libitm.texi: Clarify ABI requirements for data-logging functions.
|
|
567
|
|
568 2012-10-24 Torvald Riegel <triegel@redhat.com>
|
|
569
|
|
570 * retry.cc (gtm_thread::decide_begin_dispatch): Ask dispatch whether
|
|
571 it requires serial mode instead of assuming that for certain
|
|
572 dispatchs.
|
|
573 * dispatch.h (abi_dispatch::requires_serial): New.
|
|
574 (abi_dispatch::abi_dispatch): Adapt.
|
|
575 * method-gl.cc (gl_wt_dispatch::gl_wt_dispatch): Adapt.
|
|
576 * method-ml.cc (ml_wt_dispatch::ml_wt_dispatch): Same.
|
|
577 * method-serial.cc (serialirr_dispatch::serialirr_dispatch,
|
|
578 serial_dispatch::serial_dispatch,
|
|
579 serialirr_onwrite_dispatch::serialirr_onwrite_dispatch): Same.
|
|
580
|
|
581 2012-10-02 Uros Bizjak <ubizjak@gmail.com>
|
|
582
|
|
583 * config/x86/target.h (struct gtm_jmpbuf): Merge x86_64
|
|
584 and ia32 declarations some more.
|
|
585 * config/x86/sjlj.S (_ITM_beginTransaction): Move ret to common code.
|
|
586
|
|
587 2012-09-20 Jakub Jelinek <jakub@redhat.com>
|
|
588
|
|
589 PR other/43620
|
|
590 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
|
|
591 * configure: Regenerate.
|
|
592 * Makefile.in: Regenerate.
|
|
593
|
|
594 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
|
|
595
|
|
596 * configure: Regenerated.
|
|
597
|
|
598 2012-07-31 Uros Bizjak <ubizjak@gmail.com>
|
|
599
|
|
600 * config/x86/target.h (cpu_relax): Use __builtin_ia32_pause.
|
|
601
|
|
602 2012-05-21 Patrick Marlier <patrick.marlier@gmail.com>
|
|
603
|
|
604 * eh_cpp.cc: Fix __cxa_end_catch declaration.
|
|
605
|
|
606 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
|
|
607
|
|
608 * configure: Regenerated.
|
|
609
|
|
610 2012-04-04 H.J. Lu <hongjiu.lu@intel.com>
|
|
611
|
|
612 PR libitm/52854
|
|
613 * config/x86/target.h (gtm_jmpbuf): Replace long with long long
|
|
614 for x86-64.
|
|
615
|
|
616 2012-04-03 Tristan Gingold <gingold@adacore.com>
|
|
617
|
|
618 * configure: Regenerate.
|
|
619
|
|
620 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
|
|
621
|
|
622 PR bootstrap/52812
|
|
623 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
|
|
624
|
|
625 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
|
626
|
|
627 * testsuite/lib/libitm.exp: load fortran-modules.exp
|
|
628
|
|
629 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
630
|
|
631 * configure.tgt (*-*-irix6*): Remove.
|
|
632
|
|
633 2012-03-13 Torvald Riegel <triegel@redhat.com>
|
|
634
|
|
635 PR libitm/52526
|
|
636 * config/linux/rwlock.cc (GTM::gtm_rwlock::read_lock): Fix lost
|
|
637 wake-up.
|
|
638
|
|
639 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
640
|
|
641 * configure.tgt (*-*-osf*): Remove.
|
|
642 * configure: Regenerate.
|
|
643
|
|
644 2012-03-05 Torvald Riegel <triegel@redhat.com>
|
|
645
|
|
646 * dispatch.h (CREATE_DISPATCH_METHODS_MEM): Don't execute
|
|
647 memtransfer/memset if size isn't larger than zero.
|
|
648
|
|
649 2012-03-02 Torvald Riegel <triegel@redhat.com>
|
|
650
|
|
651 * libitm.texi: Link to specification and add a usage example.
|
|
652
|
|
653 2012-02-24 Torvald Riegel <triegel@redhat.com>
|
|
654
|
|
655 * retry.cc (GTM::gtm_thread::number_of_threads_changed): Change
|
|
656 default dispatch for more than 1 thread to ml_wt.
|
|
657
|
|
658 2012-02-20 Torvald Riegel <triegel@redhat.com>
|
|
659
|
|
660 * method-gl.cc (gl_wt_dispatch::orec): Put on separate cacheline.
|
|
661
|
|
662 2012-02-20 Torvald Riegel <triegel@redhat.com>
|
|
663
|
|
664 * method-gl.cc (gl_wt_dispatch::rollback): Optimize memory orders.
|
|
665
|
|
666 2012-02-20 Torvald Riegel <triegel@redhat.com>
|
|
667
|
|
668 * method-gl.cc (gl_wt_dispatch::trycommit): Remove handling of
|
|
669 serial mode corner cases made obsolete by prior gtm_rwlock changes.
|
|
670 (gl_wt_dispatch.rollback): Same.
|
|
671
|
|
672 2012-02-20 Torvald Riegel <triegel@redhat.com>
|
|
673
|
|
674 * method-gl.cc (gl_wt_dispatch::pre_write): Optimize memory orders.
|
|
675
|
|
676 2012-02-20 Torvald Riegel <triegel@redhat.com>
|
|
677
|
|
678 * method-gl.cc (gl_wt_dispatch::memtransfer_static): Add missing undo
|
|
679 for RfW src. Optimize number of calls to gtm_thr.
|
|
680
|
|
681 2012-02-20 Torvald Riegel <triegel@redhat.com>
|
|
682
|
|
683 * beginend.cc (GTM::gtm_thread::begin_transaction): Move serial lock
|
|
684 acquisition to ...
|
|
685 * retry.cc (GTM::gtm_thread::decide_begin_dispatch): ... here.
|
|
686 (default_dispatch): Make atomic.
|
|
687 (GTM::gtm_thread::set_default_dispatch): Access atomically.
|
|
688 (GTM::gtm_thread::decide_retry_strategy): Access atomically and
|
|
689 use decide_begin_dispatch() if default_dispatch might have changed.
|
|
690 (GTM::gtm_thread::number_of_threads_changed): Initialize
|
|
691 default_dispatch here.
|
|
692
|
|
693 2012-02-15 Iain Sandoe <iains@gcc.gnu.org>
|
|
694 Patrick Marlier <patrick.marlier@gmail.com>
|
|
695
|
|
696 PR libitm/52220
|
|
697 * alloc_cpp.cc: No dummy definitions for darwin.
|
|
698 * eh_cpp.cc: Likewise.
|
|
699
|
|
700 2012-02-14 Richard Henderson <rth@redhat.com>
|
|
701
|
|
702 * config/x86/target.h (GTM_longjmp): Correct the .cfi corrections.
|
|
703
|
|
704 2012-02-14 Uros Bizjak <ubizjak@gmail.com>
|
|
705
|
|
706 * config/x86/target.h (GTM_longjmp): Correct .cfi directives.
|
|
707
|
|
708 2012-02-14 Torvald Riegel <triegel@redhat.com>
|
|
709
|
|
710 * libitm_i.h (GTM::gtm_rwlog_entry): New.
|
|
711 (GTM::gtm_thread): Add read and write logs.
|
|
712 (GTM::dispatch_ml_wt): Declare.
|
|
713 * retry.cc (parse_default_method): Support ml_wt.
|
|
714 * method-ml.cc: New file.
|
|
715 * Makefile.am: Add method-ml.cc.
|
|
716 * Makefile.in: Regenerate.
|
|
717
|
|
718 2012-02-14 Torvald Riegel <triegel@redhat.com>
|
|
719
|
|
720 * dispatch.h (GTM::abi_dispatch::supports): New.
|
|
721 (GTM::method_group::reinit): New.
|
|
722 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Use reinit().
|
|
723 (GTM::gtm_thread::number_of_threads_changed): Check that the method
|
|
724 supports the current situation.
|
|
725
|
|
726 2012-02-14 Torvald Riegel <triegel@redhat.com>
|
|
727
|
|
728 * util.cc (GTM::xcalloc): New.
|
|
729 * common.h (GTM::xcalloc): Declare.
|
|
730
|
|
731 2012-02-14 Eric Botcazou <ebotcazou@adacore.com>
|
|
732
|
|
733 * config/sparc/target.h (cpu_relax): Read from CC register.
|
|
734 * config/sparc/sjlj.S (GTM_longjmp): Restore %fp atomically.
|
|
735
|
|
736 2012-02-14 Uros Bizjak <ubizjak@gmail.com>
|
|
737
|
|
738 * config/x86/target.h (GTM_longjmp): Jump indirect from memory address.
|
|
739
|
|
740 2012-02-13 Eric Botcazou <ebotcazou@adacore.com>
|
|
741
|
|
742 * configure.tgt (target_cpu): Handle sparc and sparc64/sparcv9.
|
|
743 * config/sparc/cacheline.h: New file.
|
|
744 * config/sparc/target.h: Likewise.
|
|
745 * config/sparc/sjlj.S: Likewise.
|
|
746 * config/linux/sparc/futex_bits.h: Likewise.
|
|
747
|
|
748 2012-02-13 Eric Botcazou <ebotcazou@adacore.com>
|
|
749
|
|
750 * configure.ac (link_itm): Fix comment.
|
|
751 * configure: Regenerate.
|
|
752 * testsuite/lib/libitm.exp: Do not pass -litm for the link.
|
|
753
|
|
754 2012-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
755
|
|
756 PR libitm/51822
|
|
757 * testsuite/libitm.c++/c++.exp (lang_link_flags): Add -shared-libgcc.
|
|
758 Correct libgomp references.
|
|
759
|
|
760 2012-01-24 Torvald Riegel <triegel@redhat.com>
|
|
761
|
|
762 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_unlock): Fix reader
|
|
763 wake-up.
|
|
764
|
|
765 2012-01-24 Uros Bizjak <ubizjak@gmail.com>
|
|
766
|
|
767 * config/x86/target.h (gtm_jmpbuf) [__x86_64__]: Move rip to the
|
|
768 end of structure.
|
|
769 * config/x86/sjlj.S (_ITM_beginTransaction) [__x86_64__]: Update
|
|
770 offset values. Do not copy return address. Decrement stack
|
|
771 by 56 bytes only.
|
|
772 (GTM_longjump) [__x86_64__]: Update offset values.
|
|
773
|
|
774 2012-01-23 Uros Bizjak <ubizjak@gmail.com>
|
|
775
|
|
776 PR libitm/51830
|
|
777 * config/x86/sjlj.S (_ITM_beginTransaction) [!__x86_64__]: Load
|
|
778 the first function argument to %eax.
|
|
779
|
|
780 2012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
781
|
|
782 * libitm.h (_ITM_getThreadnum): Remove.
|
|
783 * libitm.map (_ITM_getThreadnum): Remove from LIBITM_1.0.
|
|
784
|
|
785 2012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
786
|
|
787 * clearcap.map: New file.
|
|
788 * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): New test.
|
|
789 * configure.ac: Call it.
|
|
790 Clear HWCAP_LDFLAGS if defaulting to -mavx.
|
|
791 * Makefile.am (AM_LDFLAGS): Add $(HWCAP_LDFLAGS)
|
|
792 * configure: Regenerate.
|
|
793 * Makefile.in: Regenerate.
|
|
794 * testsuite/Makefile.in: Regenerate.
|
|
795
|
|
796 2012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
797
|
|
798 PR libitm/51173
|
|
799 * testsuite/libitm.c++/static_ctor.C: Skip test, note PR, remove
|
|
800 include, exclude options.
|
|
801
|
|
802 2012-01-14 Torvald Riegel <triegel@redhat.com>
|
|
803
|
|
804 * local.cc (GTM::gtm_undolog::rollback): Truncate undo log after
|
|
805 rolling back.
|
|
806 * containers.h (GTM::vector::set_size): New.
|
|
807
|
|
808 2012-01-14 Torvald Riegel <triegel@redhat.com>
|
|
809
|
|
810 PR libitm/51855
|
|
811 * config/generic/tls.h (GTM::mask_stack_top): New.
|
|
812 (GTM::mask_stack_bottom): Declare.
|
|
813 * config/generic/tls.c (GTM::mask_stack_bottom): New.
|
|
814 * local.cc (gtm_undolog::rollback): Filter out any updates that
|
|
815 overlap the libitm stack. Add current transaction as parameter.
|
|
816 * libitm_i.h (GTM::gtm_undolog::rollback): Adapt.
|
|
817 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
|
|
818 * testsuite/libitm.c/stackundo.c: New test.
|
|
819
|
|
820 2012-01-10 Richard Henderson <rth@redhat.com>
|
|
821
|
|
822 * libitm_i.h (_Unwind_DeleteException): Declare weak.
|
|
823 * eh_cpp.cc (_Unwind_DeleteException): Define for
|
|
824 !HAVE_ELF_STYLE_WEAKREF.
|
|
825
|
|
826 2012-01-08 Torvald Riegel <triegel@redhat.com>
|
|
827
|
|
828 * local.cc (GTM_LB): Use GTM::gtm_undolog.
|
|
829 (GTM::gtm_thread::drop_references_undolog): Remove.
|
|
830 (GTM::gtm_thread::commit_undolog,
|
|
831 GTM::gtm_thread::rollback_undolog): Move to ...
|
|
832 * libitm_i.h (GTM::gtm_undolog): ...here. New.
|
|
833 (GTM::gtm_undolog_entry): Remove.
|
|
834 (GTM::gtm_thread): Adapt.
|
|
835 * beginend.cc (GTM::gtm_thread::rollback): Adapt.
|
|
836 (GTM::gtm_thread::trycommit): Adapt.
|
|
837 * method-serial.cc (serial_dispatch::log): Adapt.
|
|
838 * method-gl.cc (gl_wt_dispatch::pre_write): Adapt.
|
|
839 (gl_wt_dispatch::store): Fix likely/unlikely.
|
|
840 * containers.h (GTM::vector::resize): Add additional_capacity
|
|
841 parameter and handle it.
|
|
842 (GTM::vector::resize_noinline): New/adapt.
|
|
843 (GTM::vector::push): New.
|
|
844
|
|
845 2012-01-06 Richard Henderson <rth@redhat.com>
|
|
846
|
|
847 * configure.tgt: Support powerpc-linux and powerpc-darwin.
|
|
848 * config/linux/powerpc/futex_bits.h: New file.
|
|
849 * config/powerpc/cacheline.h: New file.
|
|
850 * config/powerpc/sjlj.S: New file.
|
|
851 * config/powerpc/target.h: New file.
|
|
852 * config/generic/asmcfi.h (cfi_offset): New.
|
|
853 (cfi_restore, cfi_undefined): New.
|
|
854
|
|
855 2012-01-05 Aldy Hernandez <aldyh@redhat.com>
|
|
856
|
|
857 PR other/51171
|
|
858 * testsuite/libitm.c/reentrant.c: Remove xfail.
|
|
859 (thread): Pass x to pure().
|
|
860 From Patrik Marlier <patrick.marlier@gmail.com>.
|
|
861
|
|
862 2011-12-24 Torvald Riegel <triegel@redhat.com>
|
|
863
|
|
864 * beginend.cc (GTM::gtm_thread::trycommit): Don't enforce
|
|
865 privatization safety if already in serial mode.
|
|
866
|
|
867 2011-12-24 Torvald Riegel <triegel@redhat.com>
|
|
868
|
|
869 * beginend.cc (GTM::gtm_thread::restart): Add and handle
|
|
870 finish_serial_upgrade parameter.
|
|
871 * libitm.h (GTM::gtm_thread::restart): Adapt declaration.
|
|
872 * config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic):
|
|
873 Don't unset reader flag.
|
|
874 (GTM::gtm_rwlock::write_upgrade_finish): New.
|
|
875 * config/posix/rwlock.cc: Same.
|
|
876 * config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish):
|
|
877 Declare.
|
|
878 * config/posix/rwlock.h: Same.
|
|
879 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader
|
|
880 flag after commit or after rollback when restarting.
|
|
881
|
|
882 2011-12-24 Torvald Riegel <triegel@redhat.com>
|
|
883
|
|
884 * beginend.cc (GTM::gtm_thread::begin_transaction): Add comment.
|
|
885 (GTM::gtm_thread::try_commit): Changed memory order.
|
|
886 * config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int
|
|
887 as parameter.
|
|
888 * config/linux/x86/futex_bits.h (sys_futex0): Same.
|
|
889 * config/linux/sh/futex_bits.h (sys_futex0): Same.
|
|
890 * config/linux/futex_bits.h (sys_futex0): Same.
|
|
891 * config/linux/futex.cc (futex_wait, futex_wake): Same.
|
|
892 * config/linux/futex.h (futex_wait, futex_wake): Same.
|
|
893 * config/linux/rwlock.h (gtm_rwlock::writers,
|
|
894 gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic
|
|
895 ints.
|
|
896 * config/linux/rwlock.cc (gtm_rwlock::read_lock,
|
|
897 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
|
|
898 gtm_rwlock::write_unlock): Fix memory orders and fences.
|
|
899 * config/posix/rwlock.cc (gtm_rwlock::read_lock,
|
|
900 gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
|
|
901 gtm_rwlock::write_unlock): Same.
|
|
902 * config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int.
|
|
903 * method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static,
|
|
904 gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart):
|
|
905 Add comments.
|
|
906 (gl_wt_dispatch::pre_write, gl_wt_dispatch::validate,
|
|
907 gl_wt_dispatch::load, gl_wt_dispatch::store,
|
|
908 gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory
|
|
909 orders and fences. Add comments.
|
|
910
|
|
911 2011-12-21 Jakub Jelinek <jakub@redhat.com>
|
|
912
|
|
913 * Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
|
|
914 * Makefile.in: Regenerated.
|
|
915
|
|
916 2011-12-17 Kaz Kojima <kkojima@gcc.gnu.org>
|
|
917
|
|
918 * configure.tgt: Add sh* case.
|
|
919 * config/sh/target.h: New file.
|
|
920 * config/sh/sjlj.S: New file.
|
|
921 * config/linux/sh/futex_bits.h: New file.
|
|
922
|
|
923 2011-12-14 Richard Henderson <rth@redhat.com>
|
|
924
|
|
925 * config/arm/hwcap.h, config/arm/hwcap.cc: New files.
|
|
926 * config/arm/sjlj.S, config/arm/target.h: New files.
|
|
927 * config/generic/asmcfi.h (cfi_adjust_cfa_offset): New.
|
|
928 (cfi_rel_offset): New.
|
|
929 * config/linux/futex_bits.h: New file.
|
|
930 * config/linux/futex.cc: Include futex_bits.h here...
|
|
931 * config/linux/futex.h: ... not here.
|
|
932 * Makefile.am (libitm_la_SOURCES) <ARCH_ARM>: Add hwcap.cc.
|
|
933 * configure.ac (ARCH_AM): New conditional.
|
|
934 * Makefile.in, configure: Rebuild.
|
|
935 * configure.tgt: Handle ARM.
|
|
936
|
|
937 2011-12-13 Richard Henderson <rth@redhat.com>
|
|
938
|
|
939 * config/posix/rwlock.cc (gtm_rwlock::write_lock_generic): Fix
|
|
940 signed/unsigned comparison werror.
|
|
941
|
|
942 * local_atomic: New file.
|
|
943 * libitm_i.h: Include it.
|
|
944 (gtm_thread::shared_state): Use atomic template.
|
|
945 * beginend.cc (GTM::gtm_clock): Use atomic template.
|
|
946 (global_tid): Use atomic template if 64-bit atomics available.
|
|
947 (gtm_thread::gtm_thread): Update shared_state access.
|
|
948 (gtm_thread::trycommit): Likewise.
|
|
949 (choose_code_path): Update global_tid access.
|
|
950 * method-gl.cc (gl_mg::orec): Use atomic template. Update all users.
|
|
951 * stmlock.h (GTM::gtm_clock): Use atomic template.
|
|
952 (gtm_get_clock, gtm_inc_clock): Update accesses.
|
|
953 * config/linux/rwlock.cc (gtm_rwlock::read_lock): Remove
|
|
954 redundant __sync_synchronize after atomic shared_state access.
|
|
955 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Likewise.
|
|
956 (gtm_rwlock::write_lock_generic): Likewise.
|
|
957 (gtm_rwlock::read_unlock): Likewise.
|
|
958 * config/alpha/target.h (atomic_read_barrier): Remove.
|
|
959 (atomic_write_barrier): Remove.
|
|
960 * config/x86/target.h (atomic_read_barrier): Remove.
|
|
961 (atomic_write_barrier): Remove.
|
|
962
|
|
963 2011-11-30 Richard Henderson <rth@redhat.com>
|
|
964
|
|
965 * libitm_i.h (GTM_longjmp): Swap first and second arguments.
|
|
966 * beginend.c (_ITM_abortTransaction): Update to match.
|
|
967 (GTM::gtm_thread::restart): Likewise.
|
|
968 * config/alpha/sjlj.S (GTM_longjmp): Likewise.
|
|
969 * config/x86/sjlj.S (GTM_longjmp): Likewise.
|
|
970
|
|
971 2011-11-23 Iain Sandoe <iains@gcc.gnu.org>
|
|
972
|
|
973 * Makefile.am (libitm_la_LDFLAGS): Remove "-no-undefined".
|
|
974 * Makefile.in: Regenerate.
|
|
975
|
|
976 2011-11-22 Iain Sandoe <iains@gcc.gnu.org>
|
|
977
|
|
978 * configure.ac: Use GCC_CHECK_ELF_STYLE_WEAKREF.
|
|
979 * alloc_cpp.cc: Generate dummy functions if we don't
|
|
980 HAVE_ELF_STYLE_WEAKREF.
|
|
981 * eh_cpp.cc: Likewise.
|
|
982 * configure: Regenerate.
|
|
983 * aclocal.m4: Likewise.
|
|
984 * config.h.in: Likewise.
|
|
985 * Makefile.in: Likewise.
|
|
986 * testsuite/Makefile.in: Likewise.
|
|
987
|
|
988 2011-11-22 Iain Sandoe <iains@gcc.gnu.org>
|
|
989
|
|
990 * config/x86/sjlj.S (CONCAT1, CONCAT2, SYM): Respond to
|
|
991 __USER_LABEL_PREFIX__ for targets that use it.
|
|
992 (TYPE, SIZE, HIDDEN): New macros to assist on non-elf targets.
|
|
993 (_ITM_beginTransaction): Use SYM, TYPE, SIZE macros to assist
|
|
994 in portability to non-elf targets.
|
|
995 (GTM_longjmp): Likewise.
|
|
996 * libitm_i.h (begin_transaction): Apply __USER_LABEL_PREFIX__
|
|
997 where required.
|
|
998
|
|
999 2011-11-22 Iain Sandoe <iains@gcc.gnu.org>
|
|
1000
|
|
1001 * testsuite/libitm.c/memcpy-1.c: Allow for MAP_ANON spelling.
|
|
1002 * testsuite/libitm.c/memset-1.c: Likewise.
|
|
1003
|
|
1004 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
|
|
1005
|
|
1006 * configure: Regenerate.
|
|
1007
|
|
1008 2011-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
1009
|
|
1010 * acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Handle gold.
|
|
1011 (LIBITM_ENABLE_SYMVERS): Handle sun style.
|
|
1012 * Makefile.am: Handle sun style versioning.
|
|
1013 (libitm_la_LINK): Add $(libitm_la_LDFLAGS).
|
|
1014 * configure: Regenerate.
|
|
1015 * Makefile.in: Regenerate.
|
|
1016
|
|
1017 2011-11-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
1018
|
|
1019 * config/generic/asmcfi.h: Fix comment.
|
|
1020 * config/x86/sjlj.S (_ITM_beginTransaction): Provide ELF PIC code
|
|
1021 sequence without .hidden support, error for non-ELF targets.
|
|
1022 (GTM_longjmp) [__ELF__]: Only use .hidden if
|
|
1023 HAVE_ATTRIBUTE_VISIBILITY.
|
|
1024
|
|
1025 2011-11-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
1026
|
|
1027 * alloc_cpp.cc [__osf__] (_ZnwX, _ZdlPv, _ZnaX, _ZdaPv,
|
|
1028 _ZnwXRKSt9nothrow_t, _ZdlPvRKSt9nothrow_t, _ZdaPvRKSt9nothrow_t):
|
|
1029 Dummy functions.
|
|
1030 * eh_cpp.cc [__osf__] (__cxa_allocate_exception, __cxa_throw,
|
|
1031 __cxa_begin_catch, __cxa_end_catch, __cxa_tm_cleanup): Likewise.
|
|
1032
|
|
1033 2011-11-16 Uros Bizjak <ubizjak@gmail.com>
|
|
1034
|
|
1035 PR bootstrap/51098
|
|
1036 * acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector.
|
|
1037 * configure: Regenerate.
|
|
1038
|
|
1039 2011-11-14 H.J. Lu <hongjiu.lu@intel.com>
|
|
1040
|
|
1041 * testsuite/lib/libitm.exp: Check ia32 instead of ilp32.
|
|
1042
|
|
1043 2011-11-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
1044
|
|
1045 * config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use
|
|
1046 .hidden.
|
|
1047 (.note.GNU-stack): Only use if __linux__.
|
|
1048 * alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function.
|
|
1049 * testsuite/libitm.c/notx.c: Use dg-options "-pthread".
|
|
1050 * testsuite/libitm.c/reentrant.c: Likewise.
|
|
1051 * testsuite/libitm.c/simple-2.c: Likewise.
|
|
1052 * testsuite/libitm.c/txrelease.c: Likewise.
|
|
1053 * testsuite/libitm.c++/static_ctor.C: Likewise.
|
|
1054
|
|
1055 2011-11-10 Richard Henderson <rth@redhat.com>
|
|
1056
|
|
1057 * config/x86/x86_avx.cc: Remove #undef __AVX__ hack. Tidy comments.
|
|
1058 * Makefile.am (x86_avx.lo): Only add -mavx if ARCH_X86_AVX.
|
|
1059 * configure.ac (ARCH_X86_AVX): New conditional.
|
|
1060 * Makefile.in, configure: Rebuild.
|
|
1061
|
|
1062 2011-11-09 Richard Henderson <rth@redhat.com>
|
|
1063
|
|
1064 * acinclude.m4 (LIBITM_CHECK_AS_AVX): New.
|
|
1065 * configure.ac: Use it.
|
|
1066 * config.h.in, configure: Rebuild.
|
|
1067 * config/x86/x86_avx.cc: Handle !HAVE_AS_AVX.
|
|
1068
|
|
1069 2011-11-09 Richard Henderson <rth@redhat.com>
|
|
1070
|
|
1071 * barrier.tpl, memcpy.cc, memset.cc, method-wbetl.cc: Remove file.
|
|
1072 * config/alpha/unaligned.h: Remove file.
|
|
1073 * config/generic/unaligned.h: Remove file.
|
|
1074 * config/x86/unaligned.h: Remove file.
|
|
1075 * config/generic/cachepage.h: Remove file.
|
|
1076 * config/posix/cachepage.cc: Remove file.
|
|
1077 * config/generic/cacheline.cc: Remove file.
|
|
1078 * config/x86/cacheline.cc: Remove file.
|
|
1079 * config/generic/cacheline.h (gtm_cacheline): Remove the
|
|
1080 store_mask, copy_mask, copy_mask_wb methods.
|
|
1081 * config/x86/cacheline.h: Likewise.
|
|
1082 * config/alpha/cacheline.h: Fall back to generic after setting size.
|
|
1083 * config/generic/tls.cc (gtm_mask_stack): Remove.
|
|
1084 * config/x86/x86_avx.cc (GTM_vpperm_shift): Remove.
|
|
1085 (GTM_vpalignr_table): Remove.
|
|
1086 * config/x86/x86_sse.cc (GTM_palignr_table): Remove.
|
|
1087 (GTM_pshift_table): Remove.
|
|
1088 * config/libitm_i.h: Don't include cachepage.h.
|
|
1089 * Makefile.am (libitm_la_SOURCES): Remove cacheline.cc, cachepage.cc
|
|
1090 * Makefile.in, testsuite/Makefile.in: Rebuild.
|
|
1091
|
|
1092 2011-11-09 Richard Henderson <rth@redhat.com>
|
|
1093
|
|
1094 * config/x86/cacheline.h (gtm_cacheline::store_mask): Use .byte
|
|
1095 to emit branch prediction hint.
|
|
1096
|
|
1097 * config/x86/sjlj.S: Protect elf directives with __ELF__.
|
|
1098 Protect .note.GNU-stack with __linux__.
|
|
1099
|
|
1100 * configure.ac (GCC_AS_CFI_PSEUDO_OP): Test it.
|
|
1101 * configure, aclocal.m4, config.h.in: Rebuild.
|
|
1102 * config/generic/asmcfi.h: New file.
|
|
1103 * config/x86/sjlj.S: Use it.
|
|
1104
|
|
1105 2011-11-08 Richard Henderson <rth@redhat.com>
|
|
1106
|
|
1107 * local.cc (_ITM_LB): Use a normal call, not a function alias.
|
|
1108
|
|
1109 2011-11-08 Richard Henderson <rth@redhat.com>
|
|
1110
|
|
1111 * configure.tgt: Test correct directory for supported cpus.
|
|
1112
|
|
1113 * configure.ac: Exit if unsupported.
|
|
1114 * configure: Rebuild.
|
|
1115 * configure.tgt: Delete boilerplate from libgomp for unsupported
|
|
1116 targets. Set UNSUPPORTED for unsupported targets.
|
|
1117
|
|
1118 2011-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
1119
|
|
1120 * configure.tgt: Handle i386 like i[456]86.
|
|
1121 * config/generic/tls.h [!HAVE_ARCH_GTM_THREAD] (gtm_thr): Don't
|
|
1122 take address.
|
|
1123 * config/generic/tls.cc [!HAVE_ARCH_GTM_THREAD ||
|
|
1124 !HAVE_ARCH_GTM_THREAD_DISP] (_gtm_thr_tls): New variable.
|
|
1125
|
|
1126 2011-11-05 Aldy Hernandez <aldyh@redhat.com>
|
|
1127
|
|
1128 * method-wbetl.cc: Update copyright notice.
|
|
1129 * aatree.cc: Same.
|
|
1130 * util.cc: Same.
|
|
1131 * libitm.h: Same.
|
|
1132 * memset.cc: Same.
|
|
1133 * eh_cpp.cc: Same.
|
|
1134 * barrier.tpl: Same.
|
|
1135 * useraction.cc: Same.
|
|
1136 * stmlock.h: Same.
|
|
1137 * memcpy.cc: Same.
|
|
1138 * common.h: Same.
|
|
1139 * config/generic/tls.cc: Same.
|
|
1140 * config/generic/cacheline.h: Same.
|
|
1141 * config/generic/cachepage.h: Same.
|
|
1142 * config/generic/cacheline.cc: Same.
|
|
1143 * config/generic/unaligned.h: Same.
|
|
1144 * config/x86/cacheline.h: Same.
|
|
1145 * config/x86/cacheline.cc: Same.
|
|
1146 * config/x86/unaligned.h: Same.
|
|
1147 * config/alpha/cacheline.h: Same.
|
|
1148 * config/alpha/unaligned.h: Same.
|
|
1149 * config/alpha/sjlj.S: Same.
|
|
1150 * config/posix/cachepage.cc: Same.
|
|
1151 * config/linux/futex.h: Same.
|
|
1152 * config/linux/alpha/futex_bits.h: Same.
|
|
1153
|
|
1154 2011-11-04 Torvald Riegel <triegel@redhat.com>
|
|
1155
|
|
1156 * libitm.texi: No cover text and invariant sections.
|
|
1157
|
|
1158 2011-11-03 Richard Henderson <rth@redhat.com>
|
|
1159
|
|
1160 * local_type_traits: New file.
|
|
1161 * libitm_i.h: Use it. Use C headers, not C++ wrappers.
|
|
1162
|
|
1163 2011-11-03 Richard Henderson <rth@redhat.com>
|
|
1164
|
|
1165 * configure.ac: Don't test for gfortran.
|
|
1166 * configure: Rebuild.
|
|
1167
|
|
1168 * testsuite/lib/libitm.exp: Don't include gfortran-dg.exp.
|
|
1169 * testsuite/libitm.c++/c++.exp: Don't use gfortran-dg-runtest.
|
|
1170
|
|
1171 2011-11-03 Aldy Hernandez <aldyh@redhat.com>
|
|
1172
|
|
1173 * testsuite/libitm.c/memcpy-1.c: Add copyright notice.
|
|
1174 * testsuite/libitm.c/memset-1.c: Same.
|
|
1175 * testsuite/libitm.c/c.exp: Same.
|
|
1176 * testsuite/lib/libitm-dg.exp: Same.
|
|
1177 * testsuite/lib/libitm.exp: Same.
|
|
1178 * testsuite/libitm.c++/c++.exp: Same.
|
|
1179
|
|
1180 2011-11-03 Aldy Hernandez <aldyh@redhat.com>
|
|
1181
|
|
1182 * testsuite/config/default.exp: Update copyright date.
|
|
1183 * configure.ac: Add copyright info.
|
|
1184 * configure.tgt: Same.
|
|
1185
|
|
1186 2011-11-03 Aldy Hernandez <aldyh@redhat.com>
|
|
1187
|
|
1188 * testsuite/libitm.c/reentrant.c: XFAIL.
|
|
1189 * testsuite/libitm.c++/static_ctor.C: XFAIL.
|
|
1190
|
|
1191 2011-10-29 Torvald Riegel <triegel@redhat.com>
|
|
1192
|
|
1193 * beginend.cc (GTM::gtm_thread::rollback): Add aborting flag and
|
|
1194 handle aborts.
|
|
1195 (_ITM_abortTransaction): Handle aborts of outer transactions.
|
|
1196 * libitm_i.h: Same.
|
|
1197 * eh_cpp.cc (GTM::gtm_thread::revert_cpp_exceptions): Fix assertion.
|
|
1198 * libitm.texi: Document aborts of outer transactions.
|
|
1199 * testsuite/libitm.c/cancel.c: New file.
|
|
1200
|
|
1201 2011-10-19 Torvald Riegel <triegel@redhat.com>
|
|
1202
|
|
1203 * testsuite/*: Change __transaction to __transaction_atomic or
|
|
1204 __transaction_relaxed.
|
|
1205
|
|
1206 2011-10-19 Torvald Riegel <triegel@redhat.com>
|
|
1207
|
|
1208 * config/linux/x86/tls.h (abi_disp): Make TLS slot read volatile.
|
|
1209 (gtm_thr): Same.
|
|
1210
|
|
1211 2011-10-19 Torvald Riegel <triegel@redhat.com>
|
|
1212
|
|
1213 * libitm_i.h: Add gl_wt dispatch.
|
|
1214 * retry.cc (parse_default_method): Same.
|
|
1215 * method-gl.cc: New file.
|
|
1216 * Makefile.am: Use method-gl.cc.
|
|
1217 * Makefile.in: Rebuild.
|
|
1218
|
|
1219 2011-10-19 Torvald Riegel <triegel@redhat.com>
|
|
1220
|
|
1221 * beginend.cc (GTM::gtm_thread::trycommit): Ensure privatization
|
|
1222 safety if requested by a TM method.
|
|
1223 * dispatch.h (GTM::abi_dispatch::trycommit): Add parameter for
|
|
1224 privatization safety.
|
|
1225 * method-serial.cc: Same.
|
|
1226
|
|
1227 2011-10-19 Torvald Riegel <triegel@redhat.com>
|
|
1228
|
|
1229 * libitm_i.h: Renamed gtm_local_undo to gtm_undolog_entry.
|
|
1230 (GTM::gtm_thread): Renamed local_undo to undolog. Renamed
|
|
1231 undolog-related member functions from *_local to *_undolog.
|
|
1232 * local.cc (gtm_thread::commit_undolog): Same.
|
|
1233 * beginend.cc (GTM::gtm_thread::trycommit): Same.
|
|
1234 (GTM::gtm_thread::rollback): Roll back undolog before
|
|
1235 dispatch-specific rollback.
|
|
1236
|
|
1237 2011-10-19 Torvald Riegel <triegel@redhat.com>
|
|
1238
|
|
1239 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Handle
|
|
1240 re-initialization of the current method group.
|
|
1241 * libitm_i.h (GTM::gtm_restart_reason): Add restart reason for this.
|
|
1242
|
|
1243 2011-10-19 Torvald Riegel <triegel@redhat.com>
|
|
1244
|
|
1245 * alloc.cc (commit_allocations_2): Do not free transaction-local
|
|
1246 memory when committing a nested transaction.
|
|
1247
|
|
1248 2011-10-19 Torvald Riegel <triegel@redhat.com>
|
|
1249
|
|
1250 * method-serial.cc (GTM::gtm_thread::serialirr_mode): Fixed: Use
|
|
1251 serial-irrevocable dispatch, not serial.
|
|
1252
|
|
1253 2011-10-19 Torvald Riegel <triegel@redhat.com>
|
|
1254
|
|
1255 * libitm_i.h (GTM::gtm_restart_reason): Re-arrange and clean up
|
|
1256 declarations.
|
|
1257 * dispatch.h (GTM::abi_dispatch::begin_or_restart): New.
|
|
1258 * method-serial.cc: Implement begin_or_restart().
|
|
1259 * beginend.cc (GTM::gtm_thread::begin_transaction): Call
|
|
1260 dispatch-specific begin_or_restart().
|
|
1261 (GTM::gtm_thread::restart): Same.
|
|
1262
|
|
1263 2011-08-23 Torvald Riegel <triegel@redhat.com>
|
|
1264
|
|
1265 * retry.cc (GTM::gtm_thread::decide_retry_strategy): Cleanup. Fix
|
|
1266 restarting without switching to serial mode.
|
|
1267 (GTM::gtm_thread::decide_begin_dispatch): Let the caller set the
|
|
1268 transaction state. Choose closed-nesting alternative if available.
|
|
1269 (GTM::gtm_thread::set_default_dispatch): New.
|
|
1270 (parse_default_method): New.
|
|
1271 (GTM::gtm_thread::number_of_threads_changed): New.
|
|
1272 * method-serial.cc (GTM::serial_mg): New method group class.
|
|
1273 (GTM::serialirr_dispatch): Belongs to serial_mg. Remove reinit and
|
|
1274 fini.
|
|
1275 (GTM::serial_dispatch): Same.
|
|
1276 (GTM::serialirr_onwrite_dispatch): Same.
|
|
1277 (GTM::gtm_thread::serialirr_mode): Remove calls to fini.
|
|
1278 * beginend.cc (GTM::gtm_thread::~gtm_thread): Maintain number of
|
|
1279 registered threads.
|
|
1280 (GTM::gtm_thread::gtm_thread): Same.
|
|
1281 (_ITM_abortTransaction): Remove calls to abi_dispatch::fini().
|
|
1282 (GTM::gtm_thread::trycommit): Same. Reset number of restarts.
|
|
1283 (GTM::gtm_thread::begin_transaction): Let decide_begin_dispatch()
|
|
1284 choose dispatch but set state according to dispatch here.
|
|
1285 * dispatch.h (GTM::abi_dispatch::fini): Move to method group.
|
|
1286 (GTM::method_group): New class.
|
|
1287 (GTM::abi_dispatch): Add comments. Maintain pointer to method_group.
|
|
1288 * libitm_i.h (GTM::gtm_thread): Add declarations for new members.
|
|
1289 * libitm.texi: Document TM methods, method groups, method life cycle.
|
|
1290 Rename method sets to method groups.
|
|
1291
|
|
1292 2011-08-23 Torvald Riegel <triegel@redhat.com>
|
|
1293
|
|
1294 * config/x86/tls.h: Moved to ...
|
|
1295 * config/linux/x86/tls.h: ... here.
|
|
1296
|
|
1297 2011-08-23 Torvald Riegel <triegel@redhat.com>
|
|
1298
|
|
1299 * config/x86/tls.h: Use __x86_64__ instead of __LP64__.
|
|
1300 Add X32 support.
|
|
1301 * config/x86/sjlj.S: Same.
|
|
1302
|
|
1303 2011-08-19 Torvald Riegel <triegel@redhat.com>
|
|
1304
|
|
1305 * config/linux/rwlock.h: New file.
|
|
1306 * config/linux/rwlock.c: New file.
|
|
1307 * configure.ac: Reenable futex support (undo SVN rev 157758).
|
|
1308 * Makefile.am: Same.
|
|
1309 * configure.tgt: Same.
|
|
1310 * config/linux/alpha/futex_bits.h: Same.
|
|
1311 * config/linux/futex.h: Same. Return number of woken processes.
|
|
1312 * config/linux/futex.cc: Same.
|
|
1313 (futex_wait): Remove spinning.
|
|
1314 * config/linux/x86/futex_bits.h: Same. Set futex timeout to zero.
|
|
1315 Use __x86_64__ instead of __LP64__.
|
|
1316 * aclocal.m4: Include generic futex checks.
|
|
1317 * configure: Rebuild.
|
|
1318 * Makefile.in: Rebuild.
|
|
1319 * testsuite/Makefile.in: Rebuild.
|
|
1320 * beginend.cc: Include pthread.h.
|
|
1321 * config/posix/cachepage.cc: Same.
|
|
1322
|
|
1323 2011-08-12 Torvald Riegel <triegel@redhat.com>
|
|
1324
|
|
1325 * config/x86/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
|
|
1326 (abi_disp, set_abi_disp): Move to tx's TLS slot.
|
|
1327 (set_gtm_thr): New.
|
|
1328 * config/generic/tls.h (gtm_tx, set_gtm_tx, setup_gtm_thr): Removed.
|
|
1329 (set_gtm_thr): New.
|
|
1330 (GTM::gtm_thread::thread_num): Removed.
|
|
1331 (GTM::gtm_thread): Renamed to GTM::gtm_thread_tls.
|
|
1332 * libitm_i.h (GTM::gtm_transaction): Renamed to GTM::gtm_thread. More
|
|
1333 tx-to-thread renaming.
|
|
1334 * beginend.cc: Adapted to tx-to-thread renaming.
|
|
1335 (GTM::gtm_thread::~gtm_thread): Extracted from thread_exit_handler().
|
|
1336 (GTM::gtm_thread::gtm_thread): Extracted from begin_transaction().
|
|
1337 * query.cc (_ITM_getTransactionId, _ITM_inTransaction): Renamed
|
|
1338 gtm_transaction to gtm_thread.
|
|
1339 (_ITM_getThreadnum): Removed. Not supported anymore.
|
|
1340 * testsuite/libitm.c/notx.c (main): Removed _ITM_getThreadnum call.
|
|
1341 * libitm.texi: Documented that _ITM_getThreadnum is not supported.
|
|
1342 * useraction.cc: Renamed gtm_transaction to gtm_thread. Adapted to
|
|
1343 gtm_tx-to-gtm_thr renaming if necessary.
|
|
1344 * eh_cpp.cc: Same.
|
|
1345 * local.cc: Same.
|
|
1346 * retry.cc: Same.
|
|
1347 * clone.cc: Same.
|
|
1348 * alloc.cc: Same.
|
|
1349 * alloc_c.cc: Same.
|
|
1350 * alloc_cpp.cc: Same.
|
|
1351 * method-serial.cc: Same.
|
|
1352 * config/generic/tls.cc: Same.
|
|
1353 * config/posix/rwlock.h (gtm_rwlock): Same.
|
|
1354 * config/posix/rwlock.cc: Same. Adapted to more tx-to-thread renaming.
|
|
1355
|
|
1356 2011-08-12 Torvald Riegel <triegel@redhat.com>
|
|
1357
|
|
1358 * config/posix/rwlock.cc (gtm_rwlock::read_lock): Changed locking
|
|
1359 implementation.
|
|
1360 (gtm_rwlock::read_unlock): Same.
|
|
1361 (gtm_rwlock::write_lock_generic): New. Generalized from ...
|
|
1362 (gtm_rwlock::write_lock, gtm_rwlock::write_upgrade): ... these.
|
|
1363 * libitm_i.h (GTM::gtm_transaction): Added shared_state.
|
|
1364 * config/posix/rwlock.h (GTM::gtm_rwlock): Removed a_reader and
|
|
1365 w_upgrade. Replaced by per-transaction flags (in shared_state).
|
|
1366 Added c_confirmed_writers.
|
|
1367 (GTM::gtm_rwlock::read_lock, GTM::gtm_rwlock::read_unlock,
|
|
1368 GTM::gtm_rwlock::write_upgrade): Add tx parameter.
|
|
1369 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
|
|
1370 * method-serial.cc (GTM::gtm_transaction::serialirr_mode): Same.
|
|
1371 * beginend.cc (GTM::gtm_transaction::begin_transaction,
|
|
1372 _ITM_abortTransaction, GTM::gtm_transaction::trycommit): Same.
|
|
1373 * libitm.texi: Document locking conventions and implementations in
|
|
1374 libitm.
|
|
1375
|
|
1376 2011-08-12 Torvald Riegel <triegel@redhat.com>
|
|
1377
|
|
1378 * libitm_i.h (next_tx): Add list of all threads' transaction.
|
|
1379 * beginend.cc (GTM::gtm_transaction::begin_transaction): Register
|
|
1380 transaction with list of transactions and ...
|
|
1381 (thread_exit_handler): ... deregister here.
|
|
1382 * config/alpha/target.h: Add HW_CACHELINE_SIZE setting.
|
|
1383 * config/x86/target.h: Same.
|
|
1384
|
|
1385 2011-08-12 Torvald Riegel <triegel@redhat.com>
|
|
1386
|
|
1387 * testsuite/libitm.c++/static_ctor.C: New file.
|
|
1388
|
|
1389 2011-08-12 Torvald Riegel <triegel@redhat.com>
|
|
1390
|
|
1391 * testsuite/libitm.c/reentrant.c: New file.
|
|
1392
|
|
1393 2011-08-12 Torvald Riegel <triegel@redhat.com>
|
|
1394
|
|
1395 * config/generic/tls.h: Remove the free list for transactions and ...
|
|
1396 * beginend.cc (GTM::gtm_transaction::operator new): ... allocate ...
|
|
1397 (GTM::gtm_transaction::operator delete): ... and release here.
|
|
1398 (thread_exit_handler): New. Delete tx when thread terminates.
|
|
1399 (thread_exit_init): New.
|
|
1400 (GTM::gtm_transaction::begin_transaction): Set up on-exit handler.
|
|
1401 * testsuite/libitm.c/txrelease.c: New file.
|
|
1402
|
|
1403 2011-08-12 Torvald Riegel <triegel@redhat.com>
|
|
1404
|
|
1405 * query.cc (_ITM_getThreadnum): Set up gtm_thread if necessary.
|
|
1406 * testsuite/libitm.c/notx.c: New file.
|
|
1407
|
|
1408 2011-08-12 Torvald Riegel <triegel@redhat.com>
|
|
1409
|
|
1410 * config/generic/tls.h (gtm_thread): Move local_tid from here ...
|
|
1411 * libitm_i.h (local_tid): ... to here.
|
|
1412 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
|
|
1413 (GTM::gtm_transaction::operator new): Set up gtm_thread if necessary.
|
|
1414
|
|
1415 2011-08-12 Torvald Riegel <triegel@redhat.com>
|
|
1416
|
|
1417 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Use
|
|
1418 serialirr_onwrite_dispatch as new default for now.
|
|
1419 * method-serial.cc (serialirr_onwrite_dispatch): New.
|
|
1420 (GTM::dispatch_serialirr_onwrite): New.
|
|
1421 * libitm_i.h: Same.
|
|
1422
|
|
1423 2011-08-12 Torvald Riegel <triegel@redhat.com>
|
|
1424
|
|
1425 * beginend.cc (GTM::gtm_transaction::rollback): Roll back tx id as well.
|
|
1426 * query.cc (_ITM_getTransactionId): There is no active transaction if
|
|
1427 the current nesting level is zero.
|
|
1428
|
|
1429 2011-07-28 Torvald Riegel <triegel@redhat.com>
|
|
1430
|
|
1431 * beginend.cc (GTM::gtm_transaction::rollback): Fix nesting level
|
|
1432 rollback.
|
|
1433
|
|
1434 2011-07-28 Torvald Riegel <triegel@redhat.com>
|
|
1435
|
|
1436 * retry.cc (GTM::gtm_transaction::decide_begin_dispatch): Get
|
|
1437 transaction properties from the caller instead of from the
|
|
1438 transaction object.
|
|
1439 * libitm_i.h: Same.
|
|
1440 * beginend.cc (GTM::gtm_transaction::begin_transaction): Same.
|
|
1441
|
|
1442 2011-07-28 Torvald Riegel <triegel@redhat.com>
|
|
1443
|
|
1444 * local.cc (gtm_transaction::rollback_local): Support closed nesting.
|
|
1445 * eh_cpp.cc (GTM::gtm_transaction::revert_cpp_exceptions): Same.
|
|
1446 * dispatch.h: Same.
|
|
1447 * method-serial.cc: Same.
|
|
1448 * beginend.cc (GTM::gtm_transaction::begin_transaction): Change to
|
|
1449 flat nesting as default, and closed nesting on demand.
|
|
1450 (GTM::gtm_transaction::rollback): Same.
|
|
1451 (_ITM_abortTransaction): Same.
|
|
1452 (GTM::gtm_transaction::restart): Same.
|
|
1453 (GTM::gtm_transaction::trycommit): Same.
|
|
1454 (GTM::gtm_transaction::trycommit_and_finalize): Removed.
|
|
1455 (choose_code_path): New.
|
|
1456 (GTM::gtm_transaction_cp::save): New.
|
|
1457 (GTM::gtm_transaction_cp::commit): New.
|
|
1458 * query.cc (_ITM_inTransaction): Support flat nesting.
|
|
1459 * libitm_i.h (GTM::gtm_transaction_cp): New helper struct for nesting.
|
|
1460 (GTM::gtm_transaction): Support flat and closed nesting.
|
|
1461 * alloc.cc (commit_allocations_2): New.
|
|
1462 (commit_cb_data): New helper struct.
|
|
1463 (GTM::gtm_transaction::commit_allocations): Handle nested
|
|
1464 commits/rollbacks.
|
|
1465 * libitm.texi: Update user action section, add description of nesting.
|
|
1466
|
|
1467 2011-07-28 Torvald Riegel <triegel@redhat.com>
|
|
1468
|
|
1469 * libitm_i.h: Add closed nesting as restart reason.
|
|
1470 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
|
|
1471
|
|
1472 2011-07-28 Torvald Riegel <triegel@redhat.com>
|
|
1473
|
|
1474 * useraction.cc: Use vector instead of list to store actions.
|
|
1475 Also support partial rollbacks for closed nesting.
|
|
1476 * libitm_i.h (GTM::gtm_transaction::user_action): Same.
|
|
1477 * beginend.cc: Same.
|
|
1478
|
|
1479 2011-07-28 Torvald Riegel <triegel@redhat.com>
|
|
1480
|
|
1481 * dispatch.h (GTM::abi_dispatch): Add can_run_uninstrumented_code and
|
|
1482 closed_nesting flags, as well as a closed nesting alternative.
|
|
1483 * method-serial.cc: Same.
|
|
1484 (serial_dispatch): Renamed to serialirr_dispatch.
|
|
1485 (GTM::dispatch_serialirr): Same.
|
|
1486 (serial_dispatch_ul): Renamed to serial_dispatch.
|
|
1487 (GTM::dispatch_serial): Same.
|
|
1488
|
|
1489 2011-07-28 Torvald Riegel <triegel@redhat.com>
|
|
1490
|
|
1491 * libitm.h (_ITM_codeProperties): Change pr_hasElse to the ABI's value.
|
|
1492
|
|
1493 2011-07-28 Torvald Riegel <triegel@redhat.com>
|
|
1494
|
|
1495 * aatree.h (aa_tree::remove): New.
|
|
1496 (aa_tree::operator new): Add placement new.
|
|
1497
|
|
1498 2011-07-02 Torvald Riegel <triegel@redhat.com>
|
|
1499
|
|
1500 * containers.h: New file.
|
|
1501 * util.cc (xmalloc, xrealloc): Accept cacheline-alloc flag.
|
|
1502 * libitm_i.h (xmalloc, xrealloc): Moved declarations from here ...
|
|
1503 * common.h: ... to here.
|
|
1504 (local_undo): Use GTM::vector for gtm_transaction::local_undo.
|
|
1505 * local.cc: Same.
|
|
1506
|
|
1507 2011-06-30 Torvald Riegel <triegel@redhat.com>
|
|
1508
|
|
1509 * libitm_i.h (STATE_ABORTING): Remove.
|
|
1510 * beginend.cc (_ITM_abortTransaction): Same.
|
|
1511 (GTM::gtm_transaction::trycommit_and_finalize): Same.
|
|
1512 * libitm.h (_ITM_registerThrownObject, _ITM_tryCommitTransaction): Remove.
|
|
1513 (_ITM_rollbackTransaction): Remove.
|
|
1514 * beginend.cc: Same.
|
|
1515 * libitm.map: Same.
|
|
1516 * libitm.texi: Document these ABI changes.
|
|
1517
|
|
1518 2011-06-30 Torvald Riegel <triegel@redhat.com>
|
|
1519
|
|
1520 * libitm.texi: New file.
|
|
1521 * Makefile.am: Add libitm.texi.
|
|
1522 * Makefile.in: Rebuild.
|
|
1523
|
|
1524 2011-06-30 Torvald Riegel <triegel@redhat.com>
|
|
1525
|
|
1526 * libitm_i.h: Move parts to common.h and dispatch.h.
|
|
1527 * common.h: New file.
|
|
1528 * dispatch.h: New file, new dispatch class.
|
|
1529 Rename GTM::abi_dispatch::lock_type to ls_modifier.
|
|
1530 RenameGTM::abi_dispatch::NOLOCK to NONTXNAL.
|
|
1531 * beginend.cc (GTM::gtm_transaction::begin_transaction): Delegate mode
|
|
1532 decision to retry.cc.
|
|
1533 * retry.cc (GTM::gtm_transaction::decide_retry_strategy): Use serial mode
|
|
1534 only.
|
|
1535 (GTM::gtm_transaction::decide_begin_dispatch): Same.
|
|
1536 * method-serial.cc: Adapt to new dispatch. Add serial mode with undo
|
|
1537 logging.
|
|
1538 * barrier.cc: Use new barriers definitions.
|
|
1539 (abi_dispatch::memmove_overlap_check): New.
|
|
1540 * config/x86/x86_sse.cc: Same.
|
|
1541 * config/x86/x86_avx.cc: Same.
|
|
1542 * Makefile.am: Don't build readonly and wbetl methods, memset.cc and
|
|
1543 memcpy.cc.
|
|
1544 * Makefile.in: Rebuild.
|
|
1545 * method-readonly.cc: Remove.
|
|
1546 * method-wbetl.cc: Rename GTM::abi_dispatch::lock_type to ls_modifier.
|
|
1547 Rename GTM::abi_dispatch::NOLOCK to NONTXNAL.
|
|
1548
|
|
1549 2011-06-30 Torvald Riegel <triegel@redhat.com>
|
|
1550
|
|
1551 * alloc_c.cc (_ITM_dropReferences): Don't support it anymore.
|
|
1552 * testsuite/libitm.c++/dropref.C: _ITM_dropReferences is expected to fail.
|
|
1553 * testsuite/libitm.c/dropref-2.c: Same.
|
|
1554 * testsuite/libitm.c/dropref.c: Same.
|
|
1555
|
|
1556 2011-06-30 Torvald Riegel <triegel@redhat.com>
|
|
1557
|
|
1558 * config/generic/tls.h (gtm_disp): Rename to abi_disp.
|
|
1559 * config/generic/tls.h (set_gtm_disp): Rename to set_abi_disp.
|
|
1560 * libitm_i.h: Rename gtm_dispatch to abi_dispatch.
|
|
1561 * alloc_c.cc: Same.
|
|
1562 * barrier.tpl: Same.
|
|
1563 * beginend.c: Same.
|
|
1564 * config/generic/tls.h: Same.
|
|
1565 * config/x86/tls.h: Same.
|
|
1566 * libitm_i.h: Same.
|
|
1567 * memcpy.cc: Same.
|
|
1568 * memset.cc: Same.
|
|
1569 * method-readonly.cc: Same.
|
|
1570 * method-serial.cc: Same.
|
|
1571 * method-wbetl.cc: Same.
|
|
1572 * retry.cc: Same.
|
|
1573
|
|
1574 2011-03-03 Richard Henderson <rth@redhat.com>
|
|
1575
|
|
1576 * config/posix/rwlock.cc (write_upgrade): Add missing case.
|
|
1577 From Patrik Marlier <patrick.marlier@unine.ch>.
|
|
1578
|
|
1579 2011-02-03 Richard Henderson <rth@redhat.com>
|
|
1580
|
|
1581 * acinclude.m4 (LIBITM_CHECK_SIZE_T_MANGLING): New.
|
|
1582 * configure.ac: Use it.
|
|
1583 * configure, config.h.in: Rebuild.
|
|
1584 * alloc_cpp.cc (_ZnwX): Use MANGLE_SIZE_T in constructing the name.
|
|
1585 (_ZnaX, _ZnwXRKSt9nothrow_t, _ZnaXRKSt9nothrow_t, _ZGTtnwX,
|
|
1586 _ZGTtnaX, _ZGTtnwXRKSt9nothrow_t, _ZGTtnaXRKSt9nothrow_t): Likewise.
|
|
1587 * libitm.map: Use wildcards to match size_t mangling.
|
|
1588
|
|
1589 2010-12-14 Richard Henderson <rth@redhat.com>
|
|
1590
|
|
1591 * beginend.cc (GTM::gtm_transaction::begin_transaction): Allocate
|
|
1592 blocks of TIDs per thread.
|
|
1593 * config/generic/tls.h (struct gtm_thread): Add local_tid member.
|
|
1594 (setup_gtm_thr): Return the thread structure.
|
|
1595 * config/x86/tls.h (setup_gtm_thr): Likewise.
|
|
1596
|
|
1597 2010-12-14 Richard Henderson <rth@redhat.com>
|
|
1598
|
|
1599 * clone.cc (table_lock): Remove.
|
|
1600 (find_clone): Don't take it.
|
|
1601 (ExcludeTransaction): New helper class.
|
|
1602 (_ITM_registerTMCloneTable): Use it.
|
|
1603 (_ITM_deregisterTMCloneTable): Likewise.
|
|
1604
|
|
1605 2010-12-14 Richard Henderson <rth@redhat.com>
|
|
1606
|
|
1607 * config/x86/tls.h: New file.
|
|
1608
|
|
1609 2010-07-15 Richard Henderson <rth@redhat.com>
|
|
1610
|
|
1611 * Makefile.am (AM_CXXFLAGS): Add -funwind-tables.
|
|
1612 * Makefile.in: Rebuild.
|
|
1613
|
|
1614 2010-07-13 Aldy Hernandez <aldyh@redhat.com>
|
|
1615
|
|
1616 * method-wbetl.cc (trydropreference): Fix source line.
|
|
1617
|
|
1618 2010-07-13 Aldy Hernandez <aldyh@redhat.com>
|
|
1619
|
|
1620 * libitm.h: Add comment.
|
|
1621 * libitm_i.h (begin_transaction): Add ITM_REGPARM.
|
|
1622
|
|
1623 2010-07-07 Aldy Hernandez <aldyh@redhat.com>
|
|
1624
|
|
1625 * configure.ac: Call LIBITM_CHECK_64BIT_SYNC_BUILTINS.
|
|
1626 * beginend.cc (begin_transaction): If 64-bit sync builtins are not
|
|
1627 available, use pthread mutexes.
|
|
1628 * acinclude.m4 (LIBITM_CHECK_64BIT_SYNC_BUILTINS): New.
|
|
1629 * config.h.in: Regenerate.
|
|
1630 * configure: Regenerate.
|
|
1631
|
|
1632 2010-07-06 Aldy Hernandez <aldyh@redhat.com>
|
|
1633
|
|
1634 * libitm.h (ITM_PURE): Define.
|
|
1635 Declare _ITM_malloc, _ITM_calloc, and _ITM_free.
|
|
1636
|
|
1637 2010-06-28 Aldy Hernandez <aldyh@redhat.com>
|
|
1638
|
|
1639 * method-wbetl.cc (class wbetl_dispatch): Add trydropreference.
|
|
1640 (validate): Add comment.
|
|
1641 (trydropreference): New.
|
|
1642 * method-readonly.cc (class readonly_dispatch): Add
|
|
1643 trydropreference.
|
|
1644 * alloc_c.cc (_ITM_dropReferences): Remove const attribute.
|
|
1645 Call trydropreference().
|
|
1646 * libitm.h (_ITM_dropReferences): Remove const attribute.
|
|
1647 * method-serial.cc (class serial_dispatch): Add trydropreference.
|
|
1648 * libitm_i.h (struct gtm_dispatch): Add trydropreference.
|
|
1649
|
|
1650 2010-06-28 Aldy Hernandez <aldyh@redhat.com>
|
|
1651
|
|
1652 * memcpy.cc (do_memcpy): Comment.
|
|
1653
|
|
1654 2010-06-25 Aldy Hernandez <aldyh@redhat.com>
|
|
1655
|
|
1656 * barrier.tpl: Add comments throughout.
|
|
1657
|
|
1658 2010-06-24 Aldy Hernandez <aldyh@redhat.com>
|
|
1659
|
|
1660 * method-wbetl.cc (struct w_entry): Add comments.
|
|
1661 (trycommit): Same.
|
|
1662 (rollback): Same.
|
|
1663
|
|
1664 2010-06-24 Aldy Hernandez <aldyh@redhat.com>
|
|
1665
|
|
1666 * alloc_c.cc (_ITM_dropReferences): New.
|
|
1667 * libitm.map (_ITM_dropReferences): Add.
|
|
1668 * libitm.h (_ITM_dropReferences): Add transaction_pure attribute.
|
|
1669 * libitm_i.h (struct gtm_transaction): Declare
|
|
1670 drop_references_allocations and drop_references_local.
|
|
1671 * local.cc (rollback_local): Ignore memory when applicable.
|
|
1672 (drop_references_local): New.
|
|
1673
|
|
1674 2010-06-23 Richard Henderson <rth@redhat.com>
|
|
1675
|
|
1676 * barrier.tpl, beginend.cc, clone.cc, tls.h, memcpy.cc,
|
|
1677 memset.cc, method-serial.cc: Revert the 2010-06-16 change.
|
|
1678 * config/x86/target.h (struct gtm_jmpbuf): Change CFA type to void*.
|
|
1679 * config/alpha/target.h: Likewise.
|
|
1680 * config/generic/tls.cc (gtm_mask_stack): Use it.
|
|
1681
|
|
1682 2010-06-23 Richard Henderson <rth@redhat.com>
|
|
1683
|
|
1684 * config/posix/cachepage.cc (gtm_cacheline_page::operator new): Use
|
|
1685 a mutex instead of trying a lock-free compare-and-swap on the list.
|
|
1686 (gtm_cacheline_page::operator delete): Likewise.
|
|
1687
|
|
1688 2010-06-16 Richard Henderson <rth@redhat.com>
|
|
1689
|
|
1690 * method-wbetl.cc (wbetl_dispatch::trycommit): Discard changes
|
|
1691 that overlap the libitm stack.
|
|
1692 * barrier.tpl: Mark incoming stack.
|
|
1693 * beginend.cc (_ITM_rollbackTransaction, _ITM_abortTransaction,
|
|
1694 _ITM_commitTransaction, _ITM_commitTransactionEH): Likewise.
|
|
1695 * clone.cc (_ITM_getTMCloneOrIrrevocable): Likewise.
|
|
1696 * memcpy.cc, memset.cc: Likewise.
|
|
1697 * method-serial.cc (_ITM_changeTransactionMode): Likewise.
|
|
1698 * config/generic/tls.h (gtm_thread): Add stack_top member.
|
|
1699 (gtm_stack_top, set_gtm_stack_top, struct gtm_stack_marker): New.
|
|
1700 * libitm_i.h (gtm_mask_stack): Declare.
|
|
1701 * config/generic/tls.cc: New file.
|
|
1702 * Makefile.am (libitm_la_SOURCES): Add it.
|
|
1703 (AM_CXXFLAGS): Turn off exceptions.
|
|
1704 * Makefile.in: Rebuild.
|
|
1705
|
|
1706 2010-06-16 Richard Henderson <rth@redhat.com>
|
|
1707
|
|
1708 * alloc.cc (struct gtm_alloc_action): Move definition ...
|
|
1709 * libitm_i.h: ... here.
|
|
1710 (class gtm_transaction): Declare new and delete.
|
|
1711 * beginend.cc (alloc_tx): Reformulate as operator new.
|
|
1712 (free_tx): Reformulate as operator delete.
|
|
1713 * config/generic/tls.h (gtm_thread): Change free_tx member to void *.
|
|
1714
|
|
1715 2010-06-11 Richard Henderson <rth@redhat.com>
|
|
1716
|
|
1717 * clone.cc (clone_entry_compare): Fix typo.
|
|
1718 From Patrik Marlier <patrick.marlier@unine.ch>.
|
|
1719
|
|
1720 2010-05-13 Richard Henderson <rth@redhat.com>
|
|
1721
|
|
1722 * alloc_c.cc (_ITM_malloc, _ITM_calloc, _ITM_free): Wrap functions
|
|
1723 in extern "C".
|
|
1724
|
|
1725 2010-05-07 Aldy Hernandez <aldyh@redhat.com>
|
|
1726
|
|
1727 * libitm_i.h (struct gtm_transaction): Remove
|
|
1728 get_allocation_size.
|
|
1729 (record_allocation): Remove size parameter.
|
|
1730 * libitm.map (_ITM_realloc): Remove.
|
|
1731 * alloc_c.cc (_ITM_realloc): Remove.
|
|
1732 (_ITM_malloc): Remove size argument to record_allocation.
|
|
1733 (_ITM_calloc): Same.
|
|
1734 * alloc_cpp.cc (_ZGTtnwm): Same.
|
|
1735 (_ZGTtnwmRKSt9nothrow_t): Same.
|
|
1736 (_ZGTtnam): Same.
|
|
1737 (_ZGTtnamRKSt9nothrow_t): Same.
|
|
1738 * alloc.cc (struct gtm_alloc_action): Remove size.
|
|
1739 (get_allocation_size): Remove.
|
|
1740 (commit_allocations): Add comment.
|
|
1741 (record_allocation): Remove size parameter.
|
|
1742 (forget_allocation): Remove set of size.
|
|
1743
|
|
1744 2010-04-19 Aldy Hernandez <aldyh@redhat.com>
|
|
1745
|
|
1746 * Makefile.am (abi_version): New.
|
|
1747 (AM_CXXFLAGS): Pass abi_version.
|
|
1748 * Makefile.in: Regenerate.
|
|
1749 * config/x86/unaligned.h: Remove always_inline kludge for vectors.
|
|
1750
|
|
1751 2010-04-06 Aldy Hernandez <aldyh@redhat.com>
|
|
1752
|
|
1753 * clone.cc (_ITM_getTMCloneOrIrrevocable): Rename from
|
|
1754 _ITM_getTMCloneOrIrrevokable.
|
|
1755 * libitm.h (_ITM_getTMCloneOrIrrevocable): Same.
|
|
1756 * libitm.map (_ITM_getTMCloneOrIrrevocable): Same.
|
|
1757
|
|
1758 2010-03-26 Aldy Hernandez <aldyh@redhat.com>
|
|
1759
|
|
1760 * configure.ac: Remove Linux futex support.
|
|
1761 * configure.tgt (config_path): Same.
|
|
1762 * Makefile.am: Same.
|
|
1763 * config/linux: Remove entire directory.
|
|
1764 * configure: Rebuild.
|
|
1765 * Makefile.in: Rebuild.
|
|
1766 * testsuite/Makefile.in: Rebuild.
|
|
1767
|
|
1768 2010-03-09 Aldy Hernandez <aldyh@redhat.com>
|
|
1769
|
|
1770 * retry.cc (decide_retry_strategy): Set state to STATE_SERIAL when
|
|
1771 switching to serial mode.
|
|
1772 * beginend.cc (trycommit_and_finalize): Unlock serial_lock.
|
|
1773
|
|
1774 2010-03-03 Aldy Hernandez <aldyh@redhat.com>
|
|
1775
|
|
1776 * configure.tgt: Add emacs -*- tags.
|
|
1777 * barrier.tpl: Same.
|
|
1778
|
|
1779 2010-02-23 Aldy Hernandez <aldyh@redhat.com>
|
|
1780
|
|
1781 * Makefile.am: Rename serial.cc to method-serial.cc.
|
|
1782 * Makefile.in: Regenerate with automake 1.11.1.
|
|
1783 * testsuite/Makefile.in: Same.
|
|
1784 * aclocal.m4: Regenerate with aclocal 1.11.1.
|
|
1785 * method-serial.cc: Rename from serial.cc.
|
|
1786 * libitm_i.h (struct gtm_transaction): Update comment on
|
|
1787 serialirr_mode.
|
|
1788
|
|
1789 2010-02-22 Aldy Hernandez <aldyh@redhat.com>
|
|
1790
|
|
1791 * libitm_i.h (GTM_longjmp): Add ITM_REGPARM.
|
|
1792 * config/linux/rwlock.h (class gtm_rwlock): Add comments.
|
|
1793
|
|
1794 2010-02-11 Aldy Hernandez <aldyh@redhat.com>
|
|
1795
|
|
1796 * configure: Rebuild.
|
|
1797
|
|
1798 2009-11-12 Richard Henderson <rth@redhat.com>
|
|
1799
|
|
1800 * Rewrite everything in C++.
|
|
1801
|
|
1802 2009-11-03 Richard Henderson <rth@redhat.com>
|
|
1803
|
|
1804 * config/x86/x86_sse.c, config/x86/x86_avx.c: New files.
|
|
1805 * Makefile.am (libitm_la_SOURCES): Add them.
|
|
1806 * configure.ac (ARCH_X86): New conditional.
|
|
1807 * Makefile.in, configure: Rebuild.
|
|
1808 * configure.tgt: Set up ARCH; do cflags setup at the same time.
|
|
1809 Move futex setup into "other system configury" case.
|
|
1810 * local.c (rollback_local): Merge into ...
|
|
1811 (GTM_rollback_local): ... here.
|
|
1812 (GTM_LB): Rename from GTM_alloc_local; do the memcpy here.
|
|
1813 (_ITM_LB): Define as an alias to GTM_LB.
|
|
1814
|
|
1815 2009-11-03 Richard Henderson <rth@redhat.com>
|
|
1816
|
|
1817 * method-readonly.c: New file.
|
|
1818 * Makefile.am (libitm_la_SOURCES): Add it.
|
|
1819 * Makefile.in: Rebuild.
|
|
1820 * beginend.c (gtm_stmlock_array, gtm_clock): New.
|
|
1821 (GTM_begin_transaction): Use dispatch_readonly for read-only txn.
|
|
1822 * libitm_i.h (gtm_stmlock, gtm_version): Move from method-wbetl.c.
|
|
1823 (GTM_VERSION_MAX, GTM_VERSION_INVALID, gtm_stmlock_owned_p,
|
|
1824 gtm_stmlock_set_owned, gtm_stmlock_get_addr,
|
|
1825 gtm_stmlock_get_version, gtm_stmlock_set_version, LOCK_ARRAY_SIZE,
|
|
1826 gtm_stmlock_array, gtm_get_stmlock, gtm_clock, RESTART_NOT_READONLY,
|
|
1827 gtm_get_clock, gtm_inc_clock): New.
|
|
1828 * method-wbetl.c (gtm_version, gtm_stmlock, OWNED_MASK, VERSION_MAX,
|
|
1829 LOCK_GET_OWNED, LOCK_SET_ADDR, LOCK_GET_ADDR, LOCK_GET_TIMESTAMP,
|
|
1830 LOCK_SET_TIMESTAMP, LOCK_ARRAY_SIZE, LOCK_MASK, LOCK_IDX, GET_LOCK,
|
|
1831 locks, gclock, CLOCK, GET_CLOCK, FETCH_AND_INC_CLOCK): Remove and
|
|
1832 replace uses with new libitm_i.h symbols.
|
|
1833 (dispatch_wbetl): Rename from wbetl_dispatch.
|
|
1834 * retry.c (GTM_decide_retry_strategy): If RESTART_NOT_READONLY, move
|
|
1835 away from dispatch_readonly; abort if the beginTransaction call
|
|
1836 asserted that the transaction was readonly.
|
|
1837
|
|
1838 2009-11-03 Richard Henderson <rth@redhat.com>
|
|
1839
|
|
1840 * memset.c: New file.
|
|
1841 * Makefile.am (libitm_la_SOURCES): Add it.
|
|
1842 * Makefile.in: Rebuild.
|
|
1843 * testsuite/libitm.c/memset-1.c: New.
|
|
1844
|
|
1845 2009-11-03 Richard Henderson <rth@redhat.com>
|
|
1846
|
|
1847 * dispatch.c: Remove file.
|
|
1848 * useraction.c (struct gtm_user_action): Move from libitm.h.
|
|
1849 * serial.c (GTM_null_read_lock, GTM_null_write_lock): New.
|
|
1850 (serial_memset, serial_memmove, serial_memcpy): Remove.
|
|
1851 (serial_W*, serial_R*): Remove.
|
|
1852 (serial_dispatch): Update to match.
|
|
1853 * configure.ac: Move Werror down below configure checks. Don't
|
|
1854 check for sys/loadavg.h, do check for malloc.h. Don't check for
|
|
1855 getloadavg and clock_gettime; do check for memalign, posix_memalign.
|
|
1856 Use GCC_AC_FUNC_MMAP_BLACKLIST
|
|
1857 * libitm.h: Split out all internal items to...
|
|
1858 * libitm_i.h: ... here. New file.
|
|
1859 * copymask.c: New file.
|
|
1860 * local.c (struct gtm_local_undo): Move from libitm.h.
|
|
1861 (GTM_alloc_local): Rename from alloc_local; export.
|
|
1862 * memcpy.c: New file.
|
|
1863 * alloc_c.c (_ITM_realloc): Use _ITM_memcpyRnWt directly.
|
|
1864 * config/posix/page.c: New file.
|
|
1865 * config/posix/target_tls.h: Remove file.
|
|
1866 * barrier.c: New file.
|
|
1867 * Makefile.am (libitm_la_SOURCES): Add barrier.c, memcpy.c,
|
|
1868 copymask.c, page.c.
|
|
1869 * alloc.c (struct gtm_alloc_action): Move from libitm.h.
|
|
1870 * method-wbetl.c: Rewrite for new cacheline methods.
|
|
1871 * Makefile.in, configure, testsuite/Makefile.in, config.h.in: Rebuild.
|
|
1872
|
|
1873 * config/alpha/sjlj.S: Fix typo.
|
|
1874 * config/alpha/target_i.h: Copy functions from alpha/target.h.
|
|
1875 * config/alpha/copymask.c: New file.
|
|
1876 * config/alpha/target.h (CACHELINE_SIZE): New.
|
|
1877 (STRICT_ALIGNMENT, PAGE_SIZE, FIXED_PAGE_SIZE): New.
|
|
1878
|
|
1879 * config/x86/target_i.h: Copy functions from x86/target.h.
|
|
1880 * config/x86/copymask.c: New file.
|
|
1881 * config/x86/target.h (_ITM_ALL_TARGET_TYPES): Remove.
|
|
1882 (CACHELINE_SIZE, STRICT_ALIGNMENT): New.
|
|
1883 (PAGE_SIZE, FIXED_PAGE_SIZE): New.
|
|
1884 * config/x86/target_tls.h: Move contents to target_i.h.
|
|
1885
|
|
1886 * testsuite/libitm.c/clone-1.c: Include libitm.h.
|
|
1887 * testsuite/libitm.c/memcpy-1.c: New.
|
|
1888
|
|
1889 2009-10-22 Richard Henderson <rth@redhat.com>
|
|
1890
|
|
1891 * Makefile.am (CCAS, CCASFLAGS, LTCCASCOMPILE): Remove.
|
|
1892 (AM_CCASFLAGS): New.
|
|
1893 * configure.ac: Add AM_PROG_AS. Use m4_rename_force for
|
|
1894 saving/restoring _AC_ARG_VAR_PRECIOUS.
|
|
1895 * Makefile.in, aclocal.m4, config.h.in, configure,
|
|
1896 testsuite/Makefile.in: Rebuild with automake 1.11; autoconf 2.64.
|
|
1897
|
|
1898 2009-10-22 Richard Henderson <rth@redhat.com>
|
|
1899
|
|
1900 * testsuite/*: Update for new compiler syntax.
|
|
1901
|
|
1902 2009-10-21 Richard Henderson <rth@redhat.com>
|
|
1903
|
|
1904 * libitm.h (_ITM_abortReason): Add outerAbort.
|
|
1905
|
|
1906 2009-08-03 Richard Henderson <rth@redhat.com>
|
|
1907
|
|
1908 * libitm.map (_ITM_commitTransactionEH, _ITM_cxa_allocate_exception,
|
|
1909 _ITM_cxa_begin_catch, _ITM_cxa_end_catch, _ITM_cxa_throw): Export.
|
|
1910 * method-wbetl.c (struct w_entry): Remove mask.
|
|
1911 (wbetl_write, wbetl_load): Return pointer to word containing the data;
|
|
1912 adjust all callers.
|
|
1913
|
|
1914 2009-07-22 Richard Henderson <rth@redhat.com>
|
|
1915
|
|
1916 * eh_cpp.c: New file.
|
|
1917 * Makefile.am (libitm_la_SOURCES): Add it.
|
|
1918 * Makefile.in: Rebuild.
|
|
1919 * beginend.c (GTM_rollback_transaction): Undo exception state.
|
|
1920 (GTM_trycommit_transaction): Mark inline.
|
|
1921 (GTM_trycommit_and_finalize_transaction): Split out from ...
|
|
1922 (_ITM_commitTransaction): ... here.
|
|
1923 (_ITM_commitTransactionEH): New function.
|
|
1924 * libitm.h (struct gtm_transaction): Add cxa_catch_count,
|
|
1925 cxa_unthrown, eh_in_flight; reorder.
|
|
1926
|
|
1927 * testsuite/libitm.c++/c++.exp: New.
|
|
1928 * testsuite/libitm.c++/eh-1.C: New.
|
|
1929
|
|
1930 * aatree.c (aa_free): Remove REGPARM.
|
|
1931 * aatree.h: Remove all REGPARM.
|
|
1932
|
|
1933 2009-07-18 Richard Henderson <rth@redhat.com>
|
|
1934
|
|
1935 * aatree.c, aatree.h, alloc.c, alloc_c.c, alloc_cpp.c: New files.
|
|
1936 * Makefile.am (libitm_la_SOURCES): Add them.
|
|
1937 * Makefile.in: Rebuild.
|
|
1938 * beginend.c (GTM_rollback_transaction): Use GTM_commit_allocations.
|
|
1939 (GTM_trycommit_transaction): Likewise.
|
|
1940 * libitm.h: Include aatree.h
|
|
1941 (struct gtm_alloc_action): New.
|
|
1942 (struct gtm_transaction): Add alloc_actions.
|
|
1943 (GTM_record_allocation, GTM_forget_allocation): Declare.
|
|
1944 (GTM_get_allocation_size, GTM_commit_allocations): Declare.
|
|
1945 * libitm.map (_ITM_malloc, _ITM_calloc, _ITM_realloc, _ITM_free,
|
|
1946 _ZGTtnwm, _ZGTtnam, _ZGTtdlPv, _ZGTtdaPv, _ZGTtnwmRKSt9nothrow_t,
|
|
1947 _ZGTtnamRKSt9nothrow_t, _ZGTtdlPvRKSt9nothrow_t,
|
|
1948 _ZGTtdaPvRKSt9nothrow_t): Export.
|
|
1949
|
|
1950 2009-07-18 Richard Henderson <rth@redhat.com>
|
|
1951
|
|
1952 * target_tls.h: Move ...
|
|
1953 * config/posix/target_tls.h: ... here.
|
|
1954
|
|
1955 2009-07-07 Richard Henderson <rth@redhat.com>
|
|
1956
|
|
1957 * config/x86/target.h (atomic_write_barrier): Use sfence if available.
|
|
1958
|
|
1959 2009-07-07 Richard Henderson <rth@redhat.com>
|
|
1960
|
|
1961 * Update to GPL3.
|
|
1962
|
|
1963 2009-07-07 Richard Henderson <rth@redhat.com>
|
|
1964
|
|
1965 * libitm.h (struct gtm_transaction): Widen id to _ITM_transactionId_t.
|
|
1966 * beginend.c (global_tid): Widen to _ITM_transactionId_t.
|
|
1967
|
|
1968 * configure.tgt: Don't use -ftls-model for x86 linux.
|
|
1969 * libitm.h: Include target.h after standard includes.
|
|
1970 (_gtm_thr): Rename from gtm_thr.
|
|
1971 (setup_gtm_thr, gtm_thr, gtm_tx, set_gtm_tx): New.
|
|
1972 (gtm_disp, set_gtm_disp): New.
|
|
1973 * beginend.c, dispatch.c, local.c, method-wbetl.c, query.c,
|
|
1974 retry.c, serial.c, useraction.c: Use accessor functions throughout.
|
|
1975 * config/alpha/target_tls.h, config/x86/target_tls.h: New files.
|
|
1976
|
|
1977 2009-07-07 Richard Henderson <rth@redhat.com>
|
|
1978
|
|
1979 * config/linux/rwlock.c (EZ): New define. Use it throughout.
|
|
1980
|
|
1981 2009-07-06 Richard Henderson <rth@redhat.com>
|
|
1982
|
|
1983 * libitm.h (_ITM_SRCLOCATION_DECL_1, _ITM_SRCLOCATION_DECL_2): Remove.
|
|
1984 (_ITM_SRCLOCATION_DEFN_1, _ITM_SRCLOCATION_DEFN_2): Remove.
|
|
1985 (_ITM_beginTransaction): Take variadic arguments.
|
|
1986 (_ITM_registerThrownObject): Declare.
|
|
1987 * beginend.c, serial.c: Update.
|
|
1988 * libitm.map: Add _ITM_registerThrownObject.
|
|
1989
|
|
1990 2009-01-28 Richard Henderson <rth@redhat.com>
|
|
1991
|
|
1992 * Makefile.am (libitm_la_SOURCES): Add clone.c.
|
|
1993 * Makefile.in: Rebuild.
|
|
1994 * beginend.c (_ITM_abortTransaction): Abort if irrevokable.
|
|
1995 (GTM_restart_transaction): Fix uninstrumented code check.
|
|
1996 * retry.c (GTM_decide_retry_strategy): Add serial check.
|
|
1997 * serial.c (GTM_serialmode): Add irrevokable variable. Don't
|
|
1998 automatically go irrevokable when in serial mode.
|
|
1999 * clone.c: New file.
|
|
2000 * libitm.h, libitm.map: Update.
|
|
2001
|
|
2002 2009-01-27 Richard Henderson <rth@redhat.com>
|
|
2003
|
|
2004 * Makefile.am (LTCCASCOMPILE): Define.
|
|
2005 (libitm_la_SOURCES): Add methid-wbetl.c.
|
|
2006 * testsuite/Makefile.am: New
|
|
2007 * configure.ac: Add testsuite/Makefile.
|
|
2008 * Makefile.in, testsuite/Makefile.in, configure: Regenerate.
|
|
2009 * beginend.c (GTM_begin_transaction): Install wbetl_dispatch.
|
|
2010 (_ITM_abortTransaction): Finalize implementation method; pass
|
|
2011 transaction properties to longjmp.
|
|
2012 (GTM_restart_transaction): Split out from ...
|
|
2013 (_ITM_commitTransaction): ... here.
|
|
2014 * config/linux/x86/futex_bits.h (cpu_relax, atomic_write_barrier):
|
|
2015 Move to config/x86/target.h.
|
|
2016 * config/linux/alpha/futex_bits.h: New.
|
|
2017 * config/x86/sjlj.S (GTM_longjmp): Fix 64-bit input register.
|
|
2018 * config/x86/target.h: Disable target types for 32-bit.
|
|
2019 * config/alpha/sjlj.S, config/alpha/target.h: New.
|
|
2020 * libitm.h (struct gtm_dispatch): Add init, fini.
|
|
2021 (enum restart_reason): New.
|
|
2022 (struct gtm_transaction): Add method and restarts.
|
|
2023 * retry.c (GTM_decide_retry_strategy): Implement.
|
|
2024 * serial.c (serial_init, serial_fini): New.
|
|
2025 (GTM_serialmode): Finialize outgoing method.
|
|
2026 * method-wbetl.c: New.
|
|
2027
|
|
2028 2008-12-09 Richard Henderson <rth@redhat.com>
|
|
2029
|
|
2030 * config/x86/target.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): New.
|
|
2031 * configure.tgt (i386-*, x86_64-*): Don't force SSE.
|
|
2032 * dispatch.c (_ITM_##R##T, _ITM_##W##T): Use _ITM_TYPE_ATTR.
|
|
2033 * libitm.h (_ITM_ALL_TARGET_TYPES, _ITM_TYPE_ATTR): Provide default.
|
|
2034 (_ITM_TYPE_M64, _ITM_TYPE_M128, _ITM_TYPE_M256): Move to x86 header.
|
|
2035 (_ITM_ALL_TYPES): Use _ITM_ALL_TARGET_TYPES.
|
|
2036 * local.c (_ITM_L##T): Use _ITM_TYPE_ATTR.
|
|
2037 * serial.c (serial_R##T, serial_W##T): Likewise.
|
|
2038
|
|
2039 2008-11-21 Richard Henderson <rth@redhat.com>
|
|
2040
|
|
2041 * Initial commit.
|
|
2042
|
|
2043 Copyright (C) 2008-2017 Free Software Foundation, Inc.
|
|
2044
|
|
2045 Copying and distribution of this file, with or without modification,
|
|
2046 are permitted in any medium without royalty provided the copyright
|
|
2047 notice and this notice are preserved.
|