Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef __JVMTI_AGENT_H__
0003 #define __JVMTI_AGENT_H__
0004 
0005 #include <sys/types.h>
0006 #include <stdint.h>
0007 #include <jvmti.h>
0008 
0009 #if defined(__cplusplus)
0010 extern "C" {
0011 #endif
0012 
0013 typedef struct {
0014     unsigned long   pc;
0015     int     line_number;
0016     int     discrim; /* discriminator -- 0 for now */
0017     jmethodID   methodID;
0018 } jvmti_line_info_t;
0019 
0020 void *jvmti_open(void);
0021 int   jvmti_close(void *agent);
0022 int   jvmti_write_code(void *agent, char const *symbol_name,
0023                uint64_t vma, void const *code,
0024                const unsigned int code_size);
0025 
0026 int   jvmti_write_debug_info(void *agent, uint64_t code, int nr_lines,
0027                  jvmti_line_info_t *li,
0028                  const char * const * file_names);
0029 
0030 #if defined(__cplusplus)
0031 }
0032 
0033 #endif
0034 #endif /* __JVMTI_H__ */