preemptive_threads/mem/
mod.rs

1//! Memory management abstractions for thread safety.
2//!
3//! This module provides safe abstractions for managing thread stacks,
4//! reference counting, and memory reclamation in a no_std environment.
5
6pub mod stack_pool;
7pub mod arc_lite;
8
9// Epoch-based reclamation for lock-free data structures
10#[cfg(feature = "work-stealing")]
11pub mod epoch;
12
13// Hazard pointers for fine-grained memory reclamation
14#[cfg(feature = "work-stealing")]
15pub mod hazard;
16
17// Data race detection utilities for debugging
18#[cfg(debug_assertions)]
19pub mod race_detector;
20
21pub use stack_pool::{Stack, StackPool, StackSizeClass};
22pub use arc_lite::ArcLite;
23
24#[cfg(feature = "work-stealing")]
25pub use epoch::{Guard, Atomic, pin_thread, unpin_thread};
26
27#[cfg(feature = "work-stealing")]
28pub use hazard::{HazardPointer, HazardAtomic, init_thread as hazard_init_thread, cleanup_thread as hazard_cleanup_thread};
29
30#[cfg(debug_assertions)]
31pub use race_detector::{RaceDetector, RaceDetectorStats, OrderingValidator, RACE_DETECTOR};