diff options
| author | Mason Reed <mason@vector35.com> | 2025-12-18 17:14:06 -0500 |
|---|---|---|
| committer | Mason Reed <35282038+emesare@users.noreply.github.com> | 2026-01-11 10:36:01 -0800 |
| commit | 6f75ca031aa7e8f7e1c706d1880b202137b1996f (patch) | |
| tree | 1fe8e778f98e4390a1075fc402047e23f2128934 /rust/src/debuginfo.rs | |
| parent | 168a3fd34824adc9c6a606cd144219701f15cccf (diff) | |
[Rust] Enter more session scoped tracing spans for debug info and binary view callbacks
Diffstat (limited to 'rust/src/debuginfo.rs')
| -rw-r--r-- | rust/src/debuginfo.rs | 49 |
1 files changed, 23 insertions, 26 deletions
diff --git a/rust/src/debuginfo.rs b/rust/src/debuginfo.rs index 5879f40d..f4cee4ff 100644 --- a/rust/src/debuginfo.rs +++ b/rust/src/debuginfo.rs @@ -216,12 +216,10 @@ impl DebugInfoParser { where C: CustomDebugInfoParser, { - ffi_wrap!("CustomDebugInfoParser::is_valid", unsafe { - let cmd = &*(ctxt as *const C); - let view = BinaryView::ref_from_raw(view); - - cmd.is_valid(&view) - }) + let cmd = unsafe { &*(ctxt as *const C) }; + let view = unsafe { BinaryView::ref_from_raw(view) }; + let _span = ffi_span!("CustomDebugInfoParser::is_valid", view); + cmd.is_valid(&view) } extern "C" fn cb_parse_info<C>( @@ -235,28 +233,27 @@ impl DebugInfoParser { where C: CustomDebugInfoParser, { - ffi_wrap!("CustomDebugInfoParser::parse_info", unsafe { - let cmd = &*(ctxt as *const C); - let view = BinaryView::ref_from_raw(view); - let debug_file = BinaryView::ref_from_raw(debug_file); - let mut debug_info = DebugInfo::ref_from_raw(debug_info); + let cmd = unsafe { &*(ctxt as *const C) }; + let view = unsafe { BinaryView::ref_from_raw(view) }; + let debug_file = unsafe { BinaryView::ref_from_raw(debug_file) }; + let mut debug_info = unsafe { DebugInfo::ref_from_raw(debug_info) }; - cmd.parse_info( - &mut debug_info, - &view, - &debug_file, - Box::new(move |cur: usize, max: usize| match progress { - Some(func) => { - if func(progress_ctxt, cur, max) { - Ok(()) - } else { - Err(()) - } + let _span = ffi_span!("CustomDebugInfoParser::parse_info", view); + cmd.parse_info( + &mut debug_info, + &view, + &debug_file, + Box::new(move |cur: usize, max: usize| match progress { + Some(func) => unsafe { + if func(progress_ctxt, cur, max) { + Ok(()) + } else { + Err(()) } - _ => Ok(()), - }), - ) - }) + }, + _ => Ok(()), + }), + ) } let name = name.to_cstr(); |
