1use std::os::raw::c_char;
2use std::ffi::c_void;
3use crate::sys::{jint, jmethodID};
4
5pub const JVMTI_CMLR_MAJOR_VERSION_1: i32 = 1;
6pub const JVMTI_CMLR_MINOR_VERSION_0: i32 = 0;
7
8pub const JVMTI_CMLR_MAJOR_VERSION: i32 = 1;
9pub const JVMTI_CMLR_MINOR_VERSION: i32 = 0;
10
11pub type jvmtiCMLRKind = u32;
12
13pub const JVMTI_CMLR_DUMMY: jvmtiCMLRKind = 1;
14pub const JVMTI_CMLR_INLINE_INFO: jvmtiCMLRKind = 2;
15
16pub type jvmtiCompiledMethodLoadRecordHeader = _jvmtiCompiledMethodLoadRecordHeader;
17pub type jvmtiCompiledMethodLoadInlineRecord = _jvmtiCompiledMethodLoadInlineRecord;
18pub type jvmtiCompiledMethodLoadDummyRecord = _jvmtiCompiledMethodLoadDummyRecord;
19pub type PCStackInfo = _PCStackInfo;
20
21#[repr(C)]
22#[derive(Debug, Copy, Clone)]
23pub struct _jvmtiCompiledMethodLoadRecordHeader {
24 pub kind: jvmtiCMLRKind,
25 pub majorinfoversion: jint,
26 pub minorinfoversion: jint,
27 pub next: *mut _jvmtiCompiledMethodLoadRecordHeader,
28}
29
30#[repr(C)]
31#[derive(Debug, Copy, Clone)]
32pub struct _PCStackInfo {
33 pub pc: *mut c_void,
34 pub numstackframes: jint,
35 pub methods: *mut jmethodID,
36 pub bcis: *mut jint,
37}
38
39#[repr(C)]
40#[derive(Debug, Copy, Clone)]
41pub struct _jvmtiCompiledMethodLoadInlineRecord {
42 pub header: jvmtiCompiledMethodLoadRecordHeader,
43 pub numpcs: jint,
44 pub pcinfo: *mut PCStackInfo,
45}
46
47#[repr(C)]
48#[derive(Copy, Clone)]
49pub struct _jvmtiCompiledMethodLoadDummyRecord {
50 pub header: jvmtiCompiledMethodLoadRecordHeader,
51 pub message: [c_char; 50usize],
52}