Lines Matching refs:jvmti

9 #include <jvmti.h>
20 static void print_error(jvmtiEnv *jvmti, const char *msg, jvmtiError ret)
24 err = (*jvmti)->GetErrorName(jvmti, ret, &err_msg);
27 (*jvmti)->Deallocate(jvmti, (unsigned char *)err_msg);
35 do_get_line_number(jvmtiEnv *jvmti, void *pc, jmethodID m, jint bci,
43 ret = (*jvmti)->GetLineNumberTable(jvmti, m, &nr_lines, &loc_tab);
48 print_error(jvmti, "GetLineNumberTable", ret);
67 (*jvmti)->Deallocate(jvmti, (unsigned char *)loc_tab);
73 get_line_numbers(jvmtiEnv *jvmti, const void *compile_info, jvmti_line_info_t **tab, int *nr_lines)
115 ret = do_get_line_number(jvmti, c->pc,
130 get_line_numbers(jvmtiEnv *jvmti __maybe_unused, const void *compile_info __maybe_unused,
166 get_source_filename(jvmtiEnv *jvmti, jmethodID methodID, char ** buffer)
175 ret = (*jvmti)->GetMethodDeclaringClass(jvmti, methodID, &decl_class);
177 print_error(jvmti, "GetMethodDeclaringClass", ret);
181 ret = (*jvmti)->GetSourceFileName(jvmti, decl_class, &file_name);
183 print_error(jvmti, "GetSourceFileName", ret);
187 ret = (*jvmti)->GetClassSignature(jvmti, decl_class, &class_sign, NULL);
189 print_error(jvmti, "GetClassSignature", ret);
197 print_error(jvmti, "GetClassSignature", ret);
205 (*jvmti)->Deallocate(jvmti, (unsigned char *)class_sign);
207 (*jvmti)->Deallocate(jvmti, (unsigned char *)file_name);
213 fill_source_filenames(jvmtiEnv *jvmti, int nr_lines,
221 ret = get_source_filename(jvmti, line_tab[index].methodID, &(file_names[index]));
230 compiled_method_load_cb(jvmtiEnv *jvmti,
250 ret = (*jvmti)->GetMethodDeclaringClass(jvmti, method,
253 print_error(jvmti, "GetMethodDeclaringClass", ret);
258 ret = get_line_numbers(jvmti, compile_info, &line_tab, &nr_lines);
261 warnx("jvmti: cannot get line table for method");
267 warnx("jvmti: cannot allocate space for line table method names");
270 ret = fill_source_filenames(jvmti, nr_lines, line_tab, line_file_names);
272 warnx("jvmti: fill_source_filenames failed");
280 ret = (*jvmti)->GetClassSignature(jvmti, decl_class,
283 print_error(jvmti, "GetClassSignature", ret);
287 ret = (*jvmti)->GetMethodName(jvmti, method, &func_name,
290 print_error(jvmti, "GetMethodName", ret);
299 warnx("jvmti: write_debug_info() failed");
307 warnx("jvmti: write_code() failed");
310 (*jvmti)->Deallocate(jvmti, (unsigned char *)func_name);
311 (*jvmti)->Deallocate(jvmti, (unsigned char *)func_sign);
312 (*jvmti)->Deallocate(jvmti, (unsigned char *)class_sign);
324 code_generated_cb(jvmtiEnv *jvmti,
334 warnx("jvmti: write_code() failed for code_generated");
343 jvmtiEnv *jvmti = NULL;
348 warnx("jvmti: open_agent failed");
355 ret = (*jvm)->GetEnv(jvm, (void *)&jvmti, JVMTI_VERSION_1);
357 warnx("jvmti: jvmti version 1 not supported");
368 ret = (*jvmti)->AddCapabilities(jvmti, &caps1);
370 print_error(jvmti, "AddCapabilities", ret);
373 ret = (*jvmti)->GetJLocationFormat(jvmti, &format);
378 ret = (*jvmti)->AddCapabilities(jvmti, &caps1);
382 print_error(jvmti, "GetJLocationFormat", ret);
390 ret = (*jvmti)->SetEventCallbacks(jvmti, &cb, sizeof(cb));
392 print_error(jvmti, "SetEventCallbacks", ret);
396 ret = (*jvmti)->SetEventNotificationMode(jvmti, JVMTI_ENABLE,
399 print_error(jvmti, "SetEventNotificationMode(METHOD_LOAD)", ret);
403 ret = (*jvmti)->SetEventNotificationMode(jvmti, JVMTI_ENABLE,
406 print_error(jvmti, "SetEventNotificationMode(CODE_GENERATED)", ret);