diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2020-09-17 17:34:34 +0100 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2020-09-24 08:26:53 +0000 |
commit | 25b9c7da44cd4652aa2ba26aa105509a6d035632 (patch) | |
tree | b11d09d13e3d3c29d9782ab9b7f8521bc58747e8 /compiler/optimizing/graph_visualizer.cc | |
parent | 6d69b52f331f788cbd1f21ffd5b87cb3b39965e4 (diff) |
Don't store copied methods in BSS.
Otherwise, we can end up in a state where the method on the stack is
unrelated to the receiver.
Also fix a comment related to GetCanonicalMethod and
StackVisitor::ValidateFrame.
Test: 810-checker-invoke-super-default
Change-Id: I3030e4af6059f7a4a7a1f046f2aabae8ce9057da
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
-rw-r--r-- | compiler/optimizing/graph_visualizer.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/optimizing/graph_visualizer.cc b/compiler/optimizing/graph_visualizer.cc index d5840fc7cf..3f6215a650 100644 --- a/compiler/optimizing/graph_visualizer.cc +++ b/compiler/optimizing/graph_visualizer.cc @@ -23,6 +23,7 @@ #include "android-base/stringprintf.h" #include "art_method.h" +#include "art_method-inl.h" #include "base/intrusive_forward_list.h" #include "bounds_check_elimination.h" #include "builder.h" @@ -470,6 +471,9 @@ class HGraphVisualizerPrinter : public HGraphDelegateVisitor { StartAttributeStream("always_throws") << std::boolalpha << invoke->AlwaysThrows() << std::noboolalpha; + if (method != nullptr) { + StartAttributeStream("method_index") << method->GetMethodIndex(); + } } void VisitInvokeUnresolved(HInvokeUnresolved* invoke) override { |