r177716 - in /branches/transactional-memory/lib...
torvald@gcc.gnu.org
torvald@gcc.gnu.org
Fri Aug 12 17:54:00 GMT 2011
Author: torvald
Date: Fri Aug 12 17:54:22 2011
New Revision: 177716
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=177716
Log:
Use per-transaction reader flags for the serial lock (gtm_rwlock).
* config/posix/rwlock.cc (gtm_rwlock::read_lock): Changed locking
implementation.
(gtm_rwlock::read_unlock): Same.
(gtm_rwlock::write_lock_generic): New. Generalized from ...
(gtm_rwlock::write_lock, gtm_rwlock::write_upgrade): ... these.
* libitm_i.h (GTM::gtm_transaction): Added shared_state.
* config/posix/rwlock.h (GTM::gtm_rwlock): Removed a_reader and
w_upgrade. Replaced by per-transaction flags (in shared_state).
Added c_confirmed_writers.
(GTM::gtm_rwlock::read_lock, GTM::gtm_rwlock::read_unlock,
GTM::gtm_rwlock::write_upgrade): Add tx parameter.
* retry.cc (GTM::gtm_transaction::decide_retry_strategy): Same.
* method-serial.cc (GTM::gtm_transaction::serialirr_mode): Same.
* beginend.cc (GTM::gtm_transaction::begin_transaction,
_ITM_abortTransaction, GTM::gtm_transaction::trycommit): Same.
* libitm.texi: Document locking conventions and implementations in
libitm.
Modified:
branches/transactional-memory/libitm/ChangeLog
branches/transactional-memory/libitm/beginend.cc
branches/transactional-memory/libitm/config/posix/rwlock.cc
branches/transactional-memory/libitm/config/posix/rwlock.h
branches/transactional-memory/libitm/libitm.texi
branches/transactional-memory/libitm/libitm_i.h
branches/transactional-memory/libitm/method-serial.cc
branches/transactional-memory/libitm/retry.cc
More information about the Gcc-cvs
mailing list