summaryrefslogtreecommitdiffstats
path: root/runtime/read_barrier-inl.h
diff options
context:
space:
mode:
authorHiroshi Yamauchi <yamauchi@google.com>2014-05-01 21:25:41 -0700
committerHiroshi Yamauchi <yamauchi@google.com>2014-05-01 21:25:41 -0700
commit6e83c172f385cb45dd13bbcf41d2df8e410828c6 (patch)
treee2c2f4ee55cfd623ea9d363286b380213748e1e8 /runtime/read_barrier-inl.h
parent9a16f222cdf40e68b084316b6e768c14d4b9e020 (diff)
downloadart-6e83c172f385cb45dd13bbcf41d2df8e410828c6.tar.gz
art-6e83c172f385cb45dd13bbcf41d2df8e410828c6.tar.bz2
art-6e83c172f385cb45dd13bbcf41d2df8e410828c6.zip
Replace the bool kDoReadBarrier template parameter with an enum.
Fix one kDoReadBarrier/kIsVolatile mixup in an Object::GetFieldObject call. Bug: 12687968 Change-Id: I896b1137b21a20c0504abd2bf3fe6f83805f3300
Diffstat (limited to 'runtime/read_barrier-inl.h')
-rw-r--r--runtime/read_barrier-inl.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/runtime/read_barrier-inl.h b/runtime/read_barrier-inl.h
index ea2f8307b8..88e2f8fa61 100644
--- a/runtime/read_barrier-inl.h
+++ b/runtime/read_barrier-inl.h
@@ -23,17 +23,18 @@
namespace art {
-template <typename MirrorType, bool kDoReadBarrier>
+template <typename MirrorType, ReadBarrierOption kReadBarrierOption>
inline MirrorType* ReadBarrier::Barrier(
mirror::Object* obj, MemberOffset offset, mirror::HeapReference<MirrorType>* ref_addr) {
// Unused for now.
UNUSED(obj);
UNUSED(offset);
UNUSED(ref_addr);
- if (kDoReadBarrier && kUseBakerReadBarrier) {
+ const bool with_read_barrier = kReadBarrierOption == kWithReadBarrier;
+ if (with_read_barrier && kUseBakerReadBarrier) {
// To be implemented.
return ref_addr->AsMirrorPtr();
- } else if (kDoReadBarrier && kUseBrooksReadBarrier) {
+ } else if (with_read_barrier && kUseBrooksReadBarrier) {
// To be implemented.
return ref_addr->AsMirrorPtr();
} else {