summaryrefslogtreecommitdiff
path: root/compiler/optimizing/graph_visualizer.cc
diff options
context:
space:
mode:
authorDavid Brazdil <dbrazdil@google.com>2015-07-08 12:11:42 +0100
committerDavid Brazdil <dbrazdil@google.com>2015-07-08 16:22:05 +0100
commit8f8ee680bec71a28d9d7b7538e8c7ca100a18184 (patch)
treeac955c2a57563dfbeb09ec2fee5cc33ae2a926a4 /compiler/optimizing/graph_visualizer.cc
parent3e18a8958d2caa4980c4cee4e537313a61adf3d8 (diff)
ART: Ignore try blocks with no throwing instructions
In order to avoid complex removal of redundant exceptional edges in the SSA builder, this patch modified the graph builder to consider blocks without throwing instructions as not in a try block, even if covered by a TryItem. In some corner cases, this may generate more TryBoundaries than necessary, but those can be removed once the SSA form is built. Change-Id: I158c4542b2c1964a8dd532f82e921b9cb1997e1e
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
-rw-r--r--compiler/optimizing/graph_visualizer.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/optimizing/graph_visualizer.cc b/compiler/optimizing/graph_visualizer.cc
index 504c141799..37c060c1b1 100644
--- a/compiler/optimizing/graph_visualizer.cc
+++ b/compiler/optimizing/graph_visualizer.cc
@@ -357,6 +357,10 @@ class HGraphVisualizerPrinter : public HGraphDelegateVisitor {
StartAttributeStream("kind") << barrier->GetBarrierKind();
}
+ void VisitMonitorOperation(HMonitorOperation* monitor) OVERRIDE {
+ StartAttributeStream("kind") << (monitor->IsEnter() ? "enter" : "exit");
+ }
+
void VisitLoadClass(HLoadClass* load_class) OVERRIDE {
StartAttributeStream("gen_clinit_check") << std::boolalpha
<< load_class->MustGenerateClinitCheck() << std::noboolalpha;