summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/interpreter/interpreter_common.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/runtime/interpreter/interpreter_common.h b/runtime/interpreter/interpreter_common.h
index 6b281107ed..7d54d0a802 100644
--- a/runtime/interpreter/interpreter_common.h
+++ b/runtime/interpreter/interpreter_common.h
@@ -185,6 +185,13 @@ static inline bool DoInvokeVirtualQuick(Thread* self, ShadowFrame& shadow_frame,
return false;
}
const uint32_t vtable_idx = (is_range) ? inst->VRegB_3rc() : inst->VRegB_35c();
+ // Debug code for b/31357497. To be removed.
+ if (kUseReadBarrier) {
+ CHECK(receiver->GetClass() != nullptr)
+ << "Null class found in object " << receiver << " in region type "
+ << Runtime::Current()->GetHeap()->ConcurrentCopyingCollector()->
+ RegionSpace()->GetRegionType(receiver);
+ }
CHECK(receiver->GetClass()->ShouldHaveEmbeddedVTable());
ArtMethod* const called_method = receiver->GetClass()->GetEmbeddedVTableEntry(
vtable_idx, kRuntimePointerSize);