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