From a10ae7865a140d45fc01e934a44ba5c8781b4a52 Mon Sep 17 00:00:00 2001 From: Hiroshi Yamauchi Date: Wed, 5 Oct 2016 18:13:23 -0700 Subject: [PATCH] Temporarily add debug logging for b/31357497 Note the check can't be a DCHECK because 103-string-append runs with the non-debug build (libart.so). Bug: 31357497 Bug: 12687968 Test: run-test 103-string-append on N9. Change-Id: I30ebe9111fa6c42796dcafa182ae066214805173 --- runtime/interpreter/interpreter_common.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/runtime/interpreter/interpreter_common.h b/runtime/interpreter/interpreter_common.h index 6b281107e..7d54d0a80 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); -- 2.11.0