2024-04-27 16:08:50 -07:00
|
|
|
//! Integration with allocators
|
2024-04-27 04:50:20 -07:00
|
|
|
|
2024-04-27 16:08:50 -07:00
|
|
|
// jemalloc
|
2024-04-27 04:50:20 -07:00
|
|
|
#[cfg(all(not(target_env = "msvc"), feature = "jemalloc", not(feature = "hardened_malloc")))]
|
2024-05-09 15:59:08 -07:00
|
|
|
pub mod je;
|
2024-04-27 16:08:50 -07:00
|
|
|
#[cfg(all(not(target_env = "msvc"), feature = "jemalloc", not(feature = "hardened_malloc")))]
|
2024-05-09 15:59:08 -07:00
|
|
|
pub use je::{memory_stats, memory_usage};
|
2024-04-27 04:50:20 -07:00
|
|
|
|
2024-04-27 16:08:50 -07:00
|
|
|
// hardened_malloc
|
2024-04-27 04:50:20 -07:00
|
|
|
#[cfg(all(not(target_env = "msvc"), feature = "hardened_malloc", target_os = "linux", not(feature = "jemalloc")))]
|
2024-05-09 15:59:08 -07:00
|
|
|
pub mod hardened;
|
2024-04-27 16:08:50 -07:00
|
|
|
#[cfg(all(not(target_env = "msvc"), feature = "hardened_malloc", target_os = "linux", not(feature = "jemalloc")))]
|
2024-05-09 15:59:08 -07:00
|
|
|
pub use hardened::{memory_stats, memory_usage};
|
2024-04-27 04:50:20 -07:00
|
|
|
|
2024-04-27 16:08:50 -07:00
|
|
|
// default, enabled when none or multiple of the above are enabled
|
|
|
|
#[cfg(any(
|
|
|
|
not(any(feature = "jemalloc", feature = "hardened_malloc")),
|
|
|
|
all(feature = "jemalloc", feature = "hardened_malloc"),
|
|
|
|
))]
|
2024-05-09 15:59:08 -07:00
|
|
|
pub mod default;
|
2024-04-27 16:08:50 -07:00
|
|
|
#[cfg(any(
|
|
|
|
not(any(feature = "jemalloc", feature = "hardened_malloc")),
|
|
|
|
all(feature = "jemalloc", feature = "hardened_malloc"),
|
|
|
|
))]
|
2024-05-09 15:59:08 -07:00
|
|
|
pub use default::{memory_stats, memory_usage};
|