diff options
Diffstat (limited to 'runtime/mirror/class-inl.h')
| -rw-r--r-- | runtime/mirror/class-inl.h | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/runtime/mirror/class-inl.h b/runtime/mirror/class-inl.h index 3ee8bfe89be..992c8f3d0ef 100644 --- a/runtime/mirror/class-inl.h +++ b/runtime/mirror/class-inl.h @@ -845,7 +845,10 @@ inline bool Class::DescriptorEquals(const char* match) {        return false;      }      ++match; -    klass = klass->GetComponentType(); +    // No read barrier needed, we're reading a chain of constant references for comparison +    // with null. Then we follow up below with reading constant references to read constant +    // primitive data in both proxy and non-proxy paths. See ReadBarrierOption. +    klass = klass->GetComponentType<kDefaultVerifyFlags, kWithoutReadBarrier>();    }    if (klass->IsPrimitive()) {      return strcmp(Primitive::Descriptor(klass->GetPrimitiveType()), match) == 0; | 
