OSDN Git Service

libitm: Conversion to c++11 atomics.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Dec 2011 19:11:25 +0000 (19:11 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Dec 2011 19:11:25 +0000 (19:11 +0000)
commite27d80f7754f29f038c29ddcb2decd894d3e4aa4
tree7506d65c4a5b0a1a5cd4450e48e4943360f9ab19
parentef43e66cabccf0abdfb6589967043993a98a7205
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182294 138bc75d-0d04-0410-961f-82ee72b054a4
libitm/ChangeLog
libitm/beginend.cc
libitm/config/alpha/target.h
libitm/config/linux/rwlock.cc
libitm/config/posix/rwlock.cc
libitm/config/x86/target.h
libitm/libitm_i.h
libitm/local_atomic [new file with mode: 0644]
libitm/method-gl.cc
libitm/stmlock.h