diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2020-03-25 15:04:03 +0000 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2020-03-26 14:20:58 +0000 |
commit | f368882656cce265d732cba237fac7bc312934a6 (patch) | |
tree | 157fc1c36079d64f065d2a46d955f3d96ba5e352 /compiler/optimizing/instruction_builder.cc | |
parent | aacb4b84078eacbee31f168676750ca73514217e (diff) |
Add more debugging info around ResolveField.
To better diagnose the DCHECK that we have hit here:
https://android-build.googleplex.com/builds/git_master-art-host-linux-art-jit/6325844/logs/build.log
Test: test.py
Change-Id: If160b74055c27cd02bde27e29c7e7f731c458f4d
Diffstat (limited to 'compiler/optimizing/instruction_builder.cc')
-rw-r--r-- | compiler/optimizing/instruction_builder.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/optimizing/instruction_builder.cc b/compiler/optimizing/instruction_builder.cc index 1e7b48e4a5..fe4a86e38e 100644 --- a/compiler/optimizing/instruction_builder.cc +++ b/compiler/optimizing/instruction_builder.cc @@ -1651,7 +1651,11 @@ ArtField* HInstructionBuilder::ResolveField(uint16_t field_idx, bool is_static, dex_compilation_unit_->GetDexCache(), class_loader, is_static); - DCHECK_EQ(resolved_field == nullptr, soa.Self()->IsExceptionPending()); + DCHECK_EQ(resolved_field == nullptr, soa.Self()->IsExceptionPending()) + << "field=" + << ((resolved_field == nullptr) ? "null" : resolved_field->PrettyField()) + << ", exception=" + << (soa.Self()->IsExceptionPending() ? soa.Self()->GetException()->Dump() : "null"); if (UNLIKELY(resolved_field == nullptr)) { // Clean up any exception left by field resolution. soa.Self()->ClearException(); |