#include <linux/compiler.h>
#include <sys/types.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <err.h>
#include <jvmti.h>
#include <jvmticmlr.h>
#include <limits.h>
#include "jvmti_agent.h"
Go to the source code of this file.
|
static void | print_error (jvmtiEnv *jvmti, const char *msg, jvmtiError ret) |
|
static jvmtiError | do_get_line_numbers (jvmtiEnv *jvmti, void *pc, jmethodID m, jint bci, jvmti_line_info_t *tab, jint *nr) |
|
static jvmtiError | get_line_numbers (jvmtiEnv *jvmti, const void *compile_info, jvmti_line_info_t **tab, int *nr_lines) |
|
static void | copy_class_filename (const char *class_sign, const char *file_name, char *result, size_t max_length) |
|
static jvmtiError | get_source_filename (jvmtiEnv *jvmti, jmethodID methodID, char **buffer) |
|
static jvmtiError | fill_source_filenames (jvmtiEnv *jvmti, int nr_lines, const jvmti_line_info_t *line_tab, char **file_names) |
|
static void JNICALL | compiled_method_load_cb (jvmtiEnv *jvmti, jmethodID method, jint code_size, void const *code_addr, jint map_length, jvmtiAddrLocationMap const *map, const void *compile_info) |
|
static void JNICALL | code_generated_cb (jvmtiEnv *jvmti, char const *name, void const *code_addr, jint code_size) |
|
JNIEXPORT jint JNICALL | Agent_OnLoad (JavaVM *jvm, char *options, void *reserved __maybe_unused) |
|
JNIEXPORT void JNICALL | Agent_OnUnload (JavaVM *jvm __maybe_unused) |
|
◆ Agent_OnLoad()
JNIEXPORT jint JNICALL Agent_OnLoad |
( |
JavaVM * |
jvm, |
|
|
char * |
options, |
|
|
void *reserved |
__maybe_unused |
|
) |
| |
◆ Agent_OnUnload()
JNIEXPORT void JNICALL Agent_OnUnload |
( |
JavaVM *jvm |
__maybe_unused | ) |
|
◆ code_generated_cb()
static void JNICALL code_generated_cb |
( |
jvmtiEnv * |
jvmti, |
|
|
char const * |
name, |
|
|
void const * |
code_addr, |
|
|
jint |
code_size |
|
) |
| |
|
static |
◆ compiled_method_load_cb()
static void JNICALL compiled_method_load_cb |
( |
jvmtiEnv * |
jvmti, |
|
|
jmethodID |
method, |
|
|
jint |
code_size, |
|
|
void const * |
code_addr, |
|
|
jint |
map_length, |
|
|
jvmtiAddrLocationMap const * |
map, |
|
|
const void * |
compile_info |
|
) |
| |
|
static |
◆ copy_class_filename()
static void copy_class_filename |
( |
const char * |
class_sign, |
|
|
const char * |
file_name, |
|
|
char * |
result, |
|
|
size_t |
max_length |
|
) |
| |
|
static |
◆ do_get_line_numbers()
static jvmtiError do_get_line_numbers |
( |
jvmtiEnv * |
jvmti, |
|
|
void * |
pc, |
|
|
jmethodID |
m, |
|
|
jint |
bci, |
|
|
jvmti_line_info_t * |
tab, |
|
|
jint * |
nr |
|
) |
| |
|
static |
◆ fill_source_filenames()
static jvmtiError fill_source_filenames |
( |
jvmtiEnv * |
jvmti, |
|
|
int |
nr_lines, |
|
|
const jvmti_line_info_t * |
line_tab, |
|
|
char ** |
file_names |
|
) |
| |
|
static |
◆ get_line_numbers()
static jvmtiError get_line_numbers |
( |
jvmtiEnv * |
jvmti, |
|
|
const void * |
compile_info, |
|
|
jvmti_line_info_t ** |
tab, |
|
|
int * |
nr_lines |
|
) |
| |
|
static |
◆ get_source_filename()
static jvmtiError get_source_filename |
( |
jvmtiEnv * |
jvmti, |
|
|
jmethodID |
methodID, |
|
|
char ** |
buffer |
|
) |
| |
|
static |
◆ print_error()
static void print_error |
( |
jvmtiEnv * |
jvmti, |
|
|
const char * |
msg, |
|
|
jvmtiError |
ret |
|
) |
| |
|
static |
◆ has_line_numbers
◆ jvmti_agent