pub mod default_alloc;
pub mod no_gc_alloc;
use xjbutil::wide_ptr::WidePointer;
use crate::vm::al31f::stack::Stack;
pub trait Alloc: 'static + Send + Sync {
unsafe fn add_stack(&mut self, stack: *const Stack);
unsafe fn remove_stack(&mut self, stack: *const Stack);
unsafe fn add_managed(&mut self, data: WidePointer);
unsafe fn mark_object(&mut self, data: WidePointer);
unsafe fn collect(&mut self);
fn set_gc_allowed(&mut self, allowed: bool);
}