make backtrace collection a Config field rather than a cargo feature (#4183)
* sorta working in runtime * wasmtime-runtime: get rid of wasm-backtrace feature * wasmtime: factor to make backtraces recording optional. not configurable yet * get rid of wasm-backtrace features * trap tests: now a Trap optionally contains backtrace * eliminate wasm-backtrace feature * code review fixes * ci: no more wasm-backtrace feature * c_api: backtraces always enabled * config: unwind required by backtraces and ref types * plumbed * test that disabling backtraces works * code review comments * fuzzing generator: wasm_backtrace is a runtime config now * doc fix
This commit is contained in:
@@ -704,7 +704,6 @@ impl VMExternRefActivationsTable {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg_attr(not(feature = "wasm-backtrace"), allow(dead_code))]
|
||||
fn insert_precise_stack_root(
|
||||
precise_stack_roots: &mut HashSet<VMExternRefWithTraits>,
|
||||
root: NonNull<VMExternData>,
|
||||
@@ -867,7 +866,6 @@ impl<T> std::ops::DerefMut for DebugOnly<T> {
|
||||
///
|
||||
/// Additionally, you must have registered the stack maps for every Wasm module
|
||||
/// that has frames on the stack with the given `stack_maps_registry`.
|
||||
#[cfg_attr(not(feature = "wasm-backtrace"), allow(unused_mut, unused_variables))]
|
||||
pub unsafe fn gc(
|
||||
module_info_lookup: &dyn ModuleInfoLookup,
|
||||
externref_activations_table: &mut VMExternRefActivationsTable,
|
||||
@@ -895,7 +893,6 @@ pub unsafe fn gc(
|
||||
None => {
|
||||
if cfg!(debug_assertions) {
|
||||
// Assert that there aren't any Wasm frames on the stack.
|
||||
#[cfg(feature = "wasm-backtrace")]
|
||||
backtrace::trace(|frame| {
|
||||
assert!(module_info_lookup.lookup(frame.ip() as usize).is_none());
|
||||
true
|
||||
@@ -937,7 +934,6 @@ pub unsafe fn gc(
|
||||
});
|
||||
}
|
||||
|
||||
#[cfg(feature = "wasm-backtrace")]
|
||||
backtrace::trace(|frame| {
|
||||
let pc = frame.ip() as usize;
|
||||
let sp = frame.sp() as usize;
|
||||
|
||||
Reference in New Issue
Block a user