jvmti_rs/wrapper/jvmtifns/
heap_1_0.rs1use std::ffi::c_void;
2
3use crate::{errors::*, JVMTIEnv, objects::*, sys::*};
4
5impl<'a> JVMTIEnv<'a> {
6 pub fn iterate_over_objects_reachable_from_object(&self, object: &JObject, callback: jvmtiObjectReferenceCallback, user_data: *const c_void) -> Result<()> {
7 jvmti_call!(self.jvmti_raw(), IterateOverObjectsReachableFromObject,
8 object.into_inner(),
9 callback,
10 user_data
11 )
12 }
13
14 pub fn iterate_over_reachable_objects(&self, heap_root_callback: jvmtiHeapRootCallback,
15 stack_ref_callback: jvmtiStackReferenceCallback,
16 object_ref_callback: jvmtiObjectReferenceCallback,
17 user_data: *const c_void,
18 ) -> Result<()> {
19 jvmti_call!(self.jvmti_raw(), IterateOverReachableObjects,
20 heap_root_callback,
21 stack_ref_callback,
22 object_ref_callback,
23 user_data
24 )
25 }
26
27 pub fn iterate_over_heap(&self, object_filter: jvmtiHeapObjectFilter,
28 heap_object_callback: jvmtiHeapObjectCallback,
29 user_data: *const c_void,
30 ) -> Result<()> {
31 jvmti_call!(self.jvmti_raw(), IterateOverHeap,
32 object_filter,
33 heap_object_callback,
34 user_data
35 )
36 }
37}