diff options
author | 2024-11-19 15:20:41 +0000 | |
---|---|---|
committer | 2024-11-20 00:33:52 +0000 | |
commit | dbe738240d1e5f390112c57e25854aef781ebbed (patch) | |
tree | 69e67bed0aa9bf479fb3c8f5e373b2a651f9bc63 /compiler/optimizing/graph_visualizer.cc | |
parent | e65b712edc542a1f9c4fec99bc03df783c7c68a1 (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.cc | 33 |
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 { |