Messages in this thread | | | From | Ian Rogers <> | Date | Thu, 14 May 2020 15:41:26 -0700 | Subject | Re: [PATCH 0/3] perf jvmti: Various fixes to JVMTI agent |
| |
On Thu, May 14, 2020 at 6:23 AM Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com> wrote: > > Em Thu, May 14, 2020 at 04:56:07PM +0800, Nick Gasson escreveu: > > On 04/27/20 18:35 pm, Jiri Olsa wrote: > > > > > > adding Stephane to the loop > > Stephane, Ian, can you guys please take a look at this one and provide a > Reviewed-by or Acked-by? > > Thanks, > > - Arnaldo > > > > > jirka > > > > > >> > > >> These three patches fix a couple of issues I ran into while using the > > >> jitdump JVMTI agent to profile the SPECjbb benchmark. > > >> > > > > Hi, any feedback on these patches? > > > > Thanks, > > Nick >
Thanks Nick,
If you are looking at this code I believe there is a bug in that the loop handling jvmtiCompiledMethodLoadInlineRecord is writing out the entire line number table before a pc and not just the line number table at the pc. This loop in do_get_line_numbers:
if (loc_tab[i].start_location < bci) { tab[lines].pc = (unsigned long)pc; tab[lines].line_number = loc_tab[i].line_number; tab[lines].discrim = 0; /* not yet used */ tab[lines].methodID = m; lines++; } else {
It could possibly make sense if it were iterating over the inline data in the jvmtiCompiledMethodLoadInlineRecord rather than the line number table. Fixing this is toward the end of a list of things I need to look at.
Thanks, Ian
> > >> > > >> > > >> Nick Gasson (3): > > >> perf jvmti: Fix jitdump for methods without debug info > > >> perf jvmti: Do not report error when missing debug information > > >> perf jvmti: Fix demangling Java symbols > > >> > > >> tools/perf/jvmti/libjvmti.c | 24 +++++++-------- > > >> tools/perf/tests/Build | 1 + > > >> tools/perf/tests/builtin-test.c | 4 +++ > > >> tools/perf/tests/demangle-java-test.c | 42 +++++++++++++++++++++++++++ > > >> tools/perf/tests/tests.h | 1 + > > >> tools/perf/util/demangle-java.c | 13 +++++---- > > >> 6 files changed, 66 insertions(+), 19 deletions(-) > > >> create mode 100644 tools/perf/tests/demangle-java-test.c > > >> > > >> -- > > >> 2.26.1 > > >> > > > > -- > > - Arnaldo
| |