Messages in this thread | | | From | Ian Rogers <> | Date | Thu, 14 May 2020 15:06:59 -0700 | Subject | Re: [PATCH 1/3] perf jvmti: Fix jitdump for methods without debug info |
| |
On Sun, Apr 26, 2020 at 11:16 PM Nick Gasson <nick.gasson@arm.com> wrote: > > If a Java class is compiled with -g:none to omit debug information, the > JVMTI plugin won't write jitdump entries for any method in this class > and prints a lot of errors like: > > java: GetSourceFileName failed with JVMTI_ERROR_ABSENT_INFORMATION > > The call to GetSourceFileName is used to derive the file name `fn`, but > this value is not actually used since commit ca58d7e64bdf ("perf jvmti: > Generate correct debug information for inlined code") which moved the > file name lookup into fill_source_filenames(). So the call to > GetSourceFileName and related code can be safely removed. > > Signed-off-by: Nick Gasson <nick.gasson@arm.com>
Reviewed-by: Ian Rogers <irogers@google.com> Tested-by: Ian Rogers <irogers@google.com>
Thanks! Ian
> --- > tools/perf/jvmti/libjvmti.c | 11 ----------- > 1 file changed, 11 deletions(-) > > diff --git a/tools/perf/jvmti/libjvmti.c b/tools/perf/jvmti/libjvmti.c > index c441a34cb1c0..50ef524b5cd4 100644 > --- a/tools/perf/jvmti/libjvmti.c > +++ b/tools/perf/jvmti/libjvmti.c > @@ -246,8 +246,6 @@ compiled_method_load_cb(jvmtiEnv *jvmti, > char *class_sign = NULL; > char *func_name = NULL; > char *func_sign = NULL; > - char *file_name = NULL; > - char fn[PATH_MAX]; > uint64_t addr = (uint64_t)(uintptr_t)code_addr; > jvmtiError ret; > int nr_lines = 0; /* in line_tab[] */ > @@ -282,12 +280,6 @@ compiled_method_load_cb(jvmtiEnv *jvmti, > } > } > > - ret = (*jvmti)->GetSourceFileName(jvmti, decl_class, &file_name); > - if (ret != JVMTI_ERROR_NONE) { > - print_error(jvmti, "GetSourceFileName", ret); > - goto error; > - } > - > ret = (*jvmti)->GetClassSignature(jvmti, decl_class, > &class_sign, NULL); > if (ret != JVMTI_ERROR_NONE) { > @@ -302,8 +294,6 @@ compiled_method_load_cb(jvmtiEnv *jvmti, > goto error; > } > > - copy_class_filename(class_sign, file_name, fn, PATH_MAX); > - > /* > * write source line info record if we have it > */ > @@ -323,7 +313,6 @@ compiled_method_load_cb(jvmtiEnv *jvmti, > (*jvmti)->Deallocate(jvmti, (unsigned char *)func_name); > (*jvmti)->Deallocate(jvmti, (unsigned char *)func_sign); > (*jvmti)->Deallocate(jvmti, (unsigned char *)class_sign); > - (*jvmti)->Deallocate(jvmti, (unsigned char *)file_name); > free(line_tab); > while (line_file_names && (nr_lines > 0)) { > if (line_file_names[nr_lines - 1]) { > -- > 2.26.1 >
| |