diff options
author | Ian Rogers <irogers@google.com> | 2014-07-09 22:02:36 -0700 |
---|---|---|
committer | Ian Rogers <irogers@google.com> | 2014-07-09 23:46:42 -0700 |
commit | 8c1b5f71a8005743756206120624121d7678381f (patch) | |
tree | 8cc8f170ac94ca2018d2e6e3e24eeeb3ee7f97f3 /runtime/thread.h | |
parent | 070dfc4cebb9772a646382be9751d8f4c6b7d69a (diff) | |
download | android_art-8c1b5f71a8005743756206120624121d7678381f.tar.gz android_art-8c1b5f71a8005743756206120624121d7678381f.tar.bz2 android_art-8c1b5f71a8005743756206120624121d7678381f.zip |
Missed use of android_atomic and thread state_.
Move to using art::Atomic, add necessary FetchAnd... operations to art::Atomic.
Change-Id: I32f1cdc4e0a2037b73f459bf4bb4d544f357f41b
Diffstat (limited to 'runtime/thread.h')
-rw-r--r-- | runtime/thread.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/runtime/thread.h b/runtime/thread.h index 0640b386a3..4312741a51 100644 --- a/runtime/thread.h +++ b/runtime/thread.h @@ -739,9 +739,13 @@ class Thread { return (tls32_.state_and_flags.as_struct.flags != 0); } - void AtomicSetFlag(ThreadFlag flag); + void AtomicSetFlag(ThreadFlag flag) { + tls32_.state_and_flags.as_atomic_int.FetchAndOrSequentiallyConsistent(flag); + } - void AtomicClearFlag(ThreadFlag flag); + void AtomicClearFlag(ThreadFlag flag) { + tls32_.state_and_flags.as_atomic_int.FetchAndAndSequentiallyConsistent(-1 ^ flag); + } void ResetQuickAllocEntryPointsForThread(); |