summaryrefslogtreecommitdiffstats
path: root/runtime/thread.h
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2014-07-09 22:02:36 -0700
committerIan Rogers <irogers@google.com>2014-07-09 23:46:42 -0700
commit8c1b5f71a8005743756206120624121d7678381f (patch)
tree8cc8f170ac94ca2018d2e6e3e24eeeb3ee7f97f3 /runtime/thread.h
parent070dfc4cebb9772a646382be9751d8f4c6b7d69a (diff)
downloadandroid_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.h8
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();