Torvald Riegel
|
e89137cec1
|
libitm: Fix seq-cst MOs/fences in rwlock.
From-SVN: r232353
|
2016-01-13 21:39:50 +00:00 |
|
Torvald Riegel
|
629e47295b
|
libitm: Fix privatization safety interaction with serial mode.
From-SVN: r232322
|
2016-01-13 12:40:34 +00:00 |
|
Jakub Jelinek
|
818ab71a41
|
Update copyright years.
From-SVN: r232055
|
2016-01-04 15:30:50 +01:00 |
|
Jakub Jelinek
|
5624e564d2
|
Update copyright years.
From-SVN: r219188
|
2015-01-05 13:33:28 +01:00 |
|
Richard Sandiford
|
f93608e6d4
|
Update copyright years in libitm/
From-SVN: r206298
|
2014-01-02 22:26:00 +00:00 |
|
Richard Sandiford
|
75f9527c9b
|
Update copyright in libitm.
From-SVN: r195697
|
2013-02-03 17:46:11 +00:00 |
|
Torvald Riegel
|
0d23faac63
|
libitm: Fix lost wake-up in serial lock.
PR libitm/52526
* config/linux/rwlock.cc (GTM::gtm_rwlock::read_lock): Fix lost
wake-up.
From-SVN: r185358
|
2012-03-13 22:01:34 +00:00 |
|
Torvald Riegel
|
999bcff5bd
|
libitm: Fix wake-up of readers in futex-based serial lock.
libitm/
* config/linux/rwlock.cc (GTM::gtm_rwlock::write_unlock): Fix reader
wake-up.
From-SVN: r183488
|
2012-01-24 19:17:05 +00:00 |
|
Torvald Riegel
|
610e390135
|
libitm: Fix privatization safety during upgrades to serial mode.
libitm/
* beginend.cc (GTM::gtm_thread::restart): Add and handle
finish_serial_upgrade parameter.
* libitm.h (GTM::gtm_thread::restart): Adapt declaration.
* config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic):
Don't unset reader flag.
(GTM::gtm_rwlock::write_upgrade_finish): New.
* config/posix/rwlock.cc: Same.
* config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish):
Declare.
* config/posix/rwlock.h: Same.
* method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader
flag after commit or after rollback when restarting.
From-SVN: r182675
|
2011-12-24 01:42:35 +00:00 |
|
Torvald Riegel
|
799142bf74
|
libitm: Fixed conversion to C++11 atomics.
libitm/
* beginend.cc (GTM::gtm_thread::begin_transaction): Add comment.
(GTM::gtm_thread::try_commit): Changed memory order.
* config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int
as parameter.
* config/linux/x86/futex_bits.h (sys_futex0): Same.
* config/linux/sh/futex_bits.h (sys_futex0): Same.
* config/linux/futex_bits.h (sys_futex0): Same.
* config/linux/futex.cc (futex_wait, futex_wake): Same.
* config/linux/futex.h (futex_wait, futex_wake): Same.
* config/linux/rwlock.h (gtm_rwlock::writers,
gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic
ints.
* config/linux/rwlock.cc (gtm_rwlock::read_lock,
gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
gtm_rwlock::write_unlock): Fix memory orders and fences.
* config/posix/rwlock.cc (gtm_rwlock::read_lock,
gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
gtm_rwlock::write_unlock): Same.
* config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int.
* method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static,
gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart):
Add comments.
(gl_wt_dispatch::pre_write, gl_wt_dispatch::validate,
gl_wt_dispatch::load, gl_wt_dispatch::store,
gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory
orders and fences. Add comments.
From-SVN: r182674
|
2011-12-24 01:42:20 +00:00 |
|
Richard Henderson
|
36cfbee133
|
libitm: Conversion to c++11 atomics.
* local_atomic: New file.
* libitm_i.h: Include it.
(gtm_thread::shared_state): Use atomic template.
* beginend.cc (GTM::gtm_clock): Use atomic template.
(global_tid): Use atomic template if 64-bit atomics available.
(gtm_thread::gtm_thread): Update shared_state access.
(gtm_thread::trycommit): Likewise.
(choose_code_path): Update global_tid access.
* method-gl.cc (gl_mg::orec): Use atomic template. Update all users.
* stmlock.h (GTM::gtm_clock): Use atomic template.
(gtm_get_clock, gtm_inc_clock): Update accesses.
* config/linux/rwlock.cc (gtm_rwlock::read_lock): Remove
redundant __sync_synchronize after atomic shared_state access.
* config/posix/rwlock.cc (gtm_rwlock::read_lock): Likewise.
(gtm_rwlock::write_lock_generic): Likewise.
(gtm_rwlock::read_unlock): Likewise.
* config/alpha/target.h (atomic_read_barrier): Remove.
(atomic_write_barrier): Remove.
* config/x86/target.h (atomic_read_barrier): Remove.
(atomic_write_barrier): Remove.
From-SVN: r182294
|
2011-12-13 11:11:25 -08:00 |
|
Aldy Hernandez
|
0a35513e4e
|
Merge from transactional-memory branch.
From-SVN: r181154
|
2011-11-08 11:13:41 +00:00 |
|