1. 05 Jan, 2015 1 commit
  2. 02 Jan, 2014 1 commit
  3. 03 Feb, 2013 1 commit
  4. 09 Nov, 2012 1 commit
    • Add HTM fastpath and use Intel RTM for it on x86. · 64fbcc74
      	* beginend.cc (htm_fastpath): New.
      	(gtm_thread::begin_transaction, _ITM_commitTransaction,
      	_ITM_commitTransactionEH): Add HTM fastpath handling.
      	* config/linux/rwlock.h (gtm_rwlock.is_write_locked): New.
      	* config/posix/rwlock.h (gtm_rwlock.is_write_locked): New.
      	* config/x86/target.h (htm_available, htm_init, htm_begin_success,
      	htm_begin, htm_commit, htm_abort, htm_abort_should_retry): New.
      	* configure.tgt: Add -mrtm to XCFLAGS.
      	* method-serial.cc (htm_mg, o_htm_mg, htm_dispatch, dispatch_htm): New.
      	(gtm_thread::serialirr_mode): Add HTM fastpath handling.
      	* libitm_i.h (htm_fastpath, dispatch_htm): Declare.
      	* retry.cc (parse_default_method): Add HTM method parsing.
      	(gtm_thread::number_of_threads_changed): Use HTM by default if
      	available.
      
      From-SVN: r193369
      Torvald Riegel committed
  5. 24 Oct, 2012 1 commit
    • Ask dispatch whether it requires serial mode. · b679c813
      	* retry.cc (gtm_thread::decide_begin_dispatch): Ask dispatch whether
      	it requires serial mode instead of assuming that for certain
      	dispatchs.
      	* dispatch.h (abi_dispatch::requires_serial): New.
      	(abi_dispatch::abi_dispatch): Adapt.
      	* method-gl.cc (gl_wt_dispatch::gl_wt_dispatch): Adapt.
      	* method-ml.cc (ml_wt_dispatch::ml_wt_dispatch): Same.
      	* method-serial.cc (serialirr_dispatch::serialirr_dispatch,
      	serial_dispatch::serial_dispatch,
      	serialirr_onwrite_dispatch::serialirr_onwrite_dispatch): Same.
      
      From-SVN: r192777
      Torvald Riegel committed
  6. 08 Jan, 2012 1 commit
    • libitm: Optimize undo log. · 11f30bb0
      	libitm/
      	* local.cc (GTM_LB): Use GTM::gtm_undolog.
      	(GTM::gtm_thread::drop_references_undolog): Remove.
      	(GTM::gtm_thread::commit_undolog,
      	GTM::gtm_thread::rollback_undolog): Move to ...
      	* libitm_i.h (GTM::gtm_undolog): ...here. New.
      	(GTM::gtm_undolog_entry): Remove.
      	(GTM::gtm_thread): Adapt.
      	* beginend.cc (GTM::gtm_thread::rollback): Adapt.
      	(GTM::gtm_thread::trycommit): Adapt.
      	* method-serial.cc (serial_dispatch::log): Adapt.
      	* method-gl.cc (gl_wt_dispatch::pre_write): Adapt.
      	(gl_wt_dispatch::store): Fix likely/unlikely.
      	* containers.h (GTM::vector::resize): Add additional_capacity
      	parameter and handle it.
      	(GTM::vector::resize_noinline): New/adapt.
      	(GTM::vector::push): New.
      
      From-SVN: r182992
      Torvald Riegel committed
  7. 24 Dec, 2011 1 commit
    • libitm: Fix privatization safety during upgrades to serial mode. · 610e3901
      	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
      Torvald Riegel committed
  8. 08 Nov, 2011 1 commit