Add more DCHECKs to investigate build bot failure.
Test: test.py
Change-Id: I625564895dd701fb04f1ceb3b7bb21ffa273e776
diff --git a/compiler/optimizing/instruction_builder.cc b/compiler/optimizing/instruction_builder.cc
index 9c6576b..332aa26 100644
--- a/compiler/optimizing/instruction_builder.cc
+++ b/compiler/optimizing/instruction_builder.cc
@@ -382,12 +382,15 @@
AppendInstruction(new (allocator_) HNativeDebugInfo(dex_pc));
}
+ DCHECK(!Thread::Current()->IsExceptionPending())
+ << dex_file_->PrettyMethod(dex_compilation_unit_->GetDexMethodIndex())
+ << " " << pair.Inst().Name() << "@" << dex_pc;
if (!ProcessDexInstruction(pair.Inst(), dex_pc, quicken_index)) {
return false;
}
DCHECK(!Thread::Current()->IsExceptionPending())
<< dex_file_->PrettyMethod(dex_compilation_unit_->GetDexMethodIndex())
- << pair.Inst().Name() << "@" << dex_pc;
+ << " " << pair.Inst().Name() << "@" << dex_pc;
if (QuickenInfoTable::NeedsIndexForInstruction(&pair.Inst())) {
++quicken_index;
@@ -835,6 +838,7 @@
soa.Self()->ClearException();
return nullptr;
}
+ DCHECK(!soa.Self()->IsExceptionPending());
// The referrer may be unresolved for AOT if we're compiling a class that cannot be
// resolved because, for example, we don't find a superclass in the classpath.
@@ -922,6 +926,7 @@
ArtMethod* resolved_method = ResolveMethod(method_idx, invoke_type);
if (UNLIKELY(resolved_method == nullptr)) {
+ DCHECK(!Thread::Current()->IsExceptionPending());
MaybeRecordStat(compilation_stats_,
MethodCompilationStat::kUnresolvedMethod);
HInvoke* invoke = new (allocator_) HInvokeUnresolved(allocator_,
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index daabf01..86ff666 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -8754,6 +8754,7 @@
Handle<mirror::ClassLoader> class_loader,
ArtMethod* referrer,
InvokeType type) {
+ DCHECK(!Thread::Current()->IsExceptionPending()) << Thread::Current()->GetException()->Dump();
DCHECK(dex_cache != nullptr);
DCHECK(referrer == nullptr || !referrer->IsProxyMethod());
// Check for hit in the dex cache.