diff options
Diffstat (limited to 'tools/perf/jvmti/jvmti_agent.h')
-rw-r--r-- | tools/perf/jvmti/jvmti_agent.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/perf/jvmti/jvmti_agent.h b/tools/perf/jvmti/jvmti_agent.h new file mode 100644 index 000000000..6ed82f6c0 --- /dev/null +++ b/tools/perf/jvmti/jvmti_agent.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __JVMTI_AGENT_H__ +#define __JVMTI_AGENT_H__ + +#include <sys/types.h> +#include <stdint.h> +#include <jvmti.h> + +#if defined(__cplusplus) +extern "C" { +#endif + +typedef struct { + unsigned long pc; + int line_number; + int discrim; /* discriminator -- 0 for now */ + jmethodID methodID; +} jvmti_line_info_t; + +void *jvmti_open(void); +int jvmti_close(void *agent); +int jvmti_write_code(void *agent, char const *symbol_name, + uint64_t vma, void const *code, + const unsigned int code_size); + +int jvmti_write_debug_info(void *agent, uint64_t code, int nr_lines, + jvmti_line_info_t *li, + const char * const * file_names); + +#if defined(__cplusplus) +} + +#endif +#endif /* __JVMTI_H__ */ |