summaryrefslogtreecommitdiff
path: root/compiler/optimizing/graph_visualizer.cc
diff options
context:
space:
mode:
author Santiago Aboy Solanes <solanes@google.com> 2024-11-19 15:20:41 +0000
committer Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-11-20 00:33:52 +0000
commitdbe738240d1e5f390112c57e25854aef781ebbed (patch)
tree69e67bed0aa9bf479fb3c8f5e373b2a651f9bc63 /compiler/optimizing/graph_visualizer.cc
parente65b712edc542a1f9c4fec99bc03df783c7c68a1 (diff)
Add more information regarding packed flags to GraphVisualizer
Test: art/test/testrunner/testrunner.py --host --64 --optimizing -b Change-Id: I75b9b12a27cb2db7de9d2f884e516c1e3570da84
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
-rw-r--r--compiler/optimizing/graph_visualizer.cc33
1 files changed, 28 insertions, 5 deletions
diff --git a/compiler/optimizing/graph_visualizer.cc b/compiler/optimizing/graph_visualizer.cc
index 0c42b9e85d..a0ec99ffc3 100644
--- a/compiler/optimizing/graph_visualizer.cc
+++ b/compiler/optimizing/graph_visualizer.cc
@@ -374,7 +374,11 @@ class HGraphVisualizerPrinter final : public HGraphDelegateVisitor {
str << "->";
DumpLocation(str, move->GetDestination());
}
- StartAttributeStream("moves") << moves;
+ StartAttributeStream("moves") << moves;
+ }
+
+ void VisitParameterValue(HParameterValue* instruction) override {
+ StartAttributeStream("is_this") << std::boolalpha << instruction->IsThis() << std::noboolalpha;
}
void VisitIntConstant(HIntConstant* instruction) override {
@@ -396,6 +400,7 @@ class HGraphVisualizerPrinter final : public HGraphDelegateVisitor {
void VisitPhi(HPhi* phi) override {
StartAttributeStream("reg") << phi->GetRegNumber();
StartAttributeStream("is_catch_phi") << std::boolalpha << phi->IsCatchPhi() << std::noboolalpha;
+ StartAttributeStream("is_live") << std::boolalpha << phi->IsLive() << std::noboolalpha;
}
void VisitMemoryBarrier(HMemoryBarrier* barrier) override {
@@ -470,22 +475,36 @@ class HGraphVisualizerPrinter final : public HGraphDelegateVisitor {
<< bounds_check->IsStringCharAt() << std::noboolalpha;
}
+ void VisitSuspendCheck(HSuspendCheck* suspend_check) override {
+ StartAttributeStream("is_no_op")
+ << std::boolalpha << suspend_check->IsNoOp() << std::noboolalpha;
+ }
+
void VisitArrayGet(HArrayGet* array_get) override {
StartAttributeStream("is_string_char_at") << std::boolalpha
<< array_get->IsStringCharAt() << std::noboolalpha;
}
void VisitArraySet(HArraySet* array_set) override {
- StartAttributeStream("value_can_be_null") << std::boolalpha
- << array_set->GetValueCanBeNull() << std::noboolalpha;
- StartAttributeStream("needs_type_check") << std::boolalpha
- << array_set->NeedsTypeCheck() << std::noboolalpha;
+ StartAttributeStream("value_can_be_null")
+ << std::boolalpha << array_set->GetValueCanBeNull() << std::noboolalpha;
+ StartAttributeStream("needs_type_check")
+ << std::boolalpha << array_set->NeedsTypeCheck() << std::noboolalpha;
+ StartAttributeStream("static_type_of_array_is_object_array")
+ << std::boolalpha << array_set->StaticTypeOfArrayIsObjectArray() << std::noboolalpha;
StartAttributeStream("can_trigger_gc")
<< std::boolalpha << array_set->GetSideEffects().Includes(SideEffects::CanTriggerGC())
<< std::noboolalpha;
StartAttributeStream("write_barrier_kind") << array_set->GetWriteBarrierKind();
}
+ void VisitNewInstance(HNewInstance* new_instance) override {
+ StartAttributeStream("is_finalizable")
+ << std::boolalpha << new_instance->IsFinalizable() << std::noboolalpha;
+ StartAttributeStream("is_partial_materialization")
+ << std::boolalpha << new_instance->IsPartialMaterialization() << std::noboolalpha;
+ }
+
void VisitCompare(HCompare* compare) override {
StartAttributeStream("bias") << compare->GetBias();
StartAttributeStream("comparison_type") << compare->GetComparisonType();
@@ -556,6 +575,8 @@ class HGraphVisualizerPrinter final : public HGraphDelegateVisitor {
/* with type */ false);
StartAttributeStream("field_type") << iset->GetFieldType();
StartAttributeStream("write_barrier_kind") << iset->GetWriteBarrierKind();
+ StartAttributeStream("value_can_be_null")
+ << std::boolalpha << iset->GetValueCanBeNull() << std::noboolalpha;
}
void VisitStaticFieldGet(HStaticFieldGet* sget) override {
@@ -571,6 +592,8 @@ class HGraphVisualizerPrinter final : public HGraphDelegateVisitor {
/* with type */ false);
StartAttributeStream("field_type") << sset->GetFieldType();
StartAttributeStream("write_barrier_kind") << sset->GetWriteBarrierKind();
+ StartAttributeStream("value_can_be_null")
+ << std::boolalpha << sset->GetValueCanBeNull() << std::noboolalpha;
}
void VisitUnresolvedInstanceFieldGet(HUnresolvedInstanceFieldGet* field_access) override {