summaryrefslogtreecommitdiff
path: root/compiler/optimizing/graph_visualizer.cc
diff options
context:
space:
mode:
authorCalin Juravle <calin@google.com>2015-07-16 16:51:30 +0100
committerCalin Juravle <calin@google.com>2015-07-27 19:51:48 +0100
commit80caa1478cf3df4eac1214d8a63a4da6f4fe622b (patch)
tree131652877e34099711e7d9fc4f1d840b99d1b5d3 /compiler/optimizing/graph_visualizer.cc
parent00e3b38be4b280d6d7a7e843cd336ffbd2ba4365 (diff)
Revert "Revert "Use the object class as top in reference type propagation""
This reverts commit 7733bd644ac71f86d4b30a319624b23343882e53. Change-Id: I7d393a808c01c084c18d632a54e0554b4b455f2c
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
-rw-r--r--compiler/optimizing/graph_visualizer.cc17
1 files changed, 6 insertions, 11 deletions
diff --git a/compiler/optimizing/graph_visualizer.cc b/compiler/optimizing/graph_visualizer.cc
index 46d821ef77..edc271a255 100644
--- a/compiler/optimizing/graph_visualizer.cc
+++ b/compiler/optimizing/graph_visualizer.cc
@@ -469,19 +469,14 @@ class HGraphVisualizerPrinter : public HGraphDelegateVisitor {
if (instruction->IsLoadClass()) {
ReferenceTypeInfo info = instruction->AsLoadClass()->GetLoadedClassRTI();
ScopedObjectAccess soa(Thread::Current());
- if (info.GetTypeHandle().GetReference() != nullptr) {
- StartAttributeStream("klass") << PrettyDescriptor(info.GetTypeHandle().Get());
- } else {
- StartAttributeStream("klass") << "unresolved";
- }
+ DCHECK(info.IsValid()) << "Invalid RTI for " << instruction->DebugName();
+ StartAttributeStream("klass") << PrettyDescriptor(info.GetTypeHandle().Get());
+ StartAttributeStream("exact") << std::boolalpha << info.IsExact() << std::noboolalpha;
} else {
ReferenceTypeInfo info = instruction->GetReferenceTypeInfo();
- if (info.IsTop()) {
- StartAttributeStream("klass") << "java.lang.Object";
- } else {
- ScopedObjectAccess soa(Thread::Current());
- StartAttributeStream("klass") << PrettyDescriptor(info.GetTypeHandle().Get());
- }
+ ScopedObjectAccess soa(Thread::Current());
+ DCHECK(info.IsValid()) << "Invalid RTI for " << instruction->DebugName();
+ StartAttributeStream("klass") << PrettyDescriptor(info.GetTypeHandle().Get());
StartAttributeStream("can_be_null")
<< std::boolalpha << instruction->CanBeNull() << std::noboolalpha;
StartAttributeStream("exact") << std::boolalpha << info.IsExact() << std::noboolalpha;