luaur_vm/macros/gc_interrupt.rs
1#[allow(non_snake_case)]
2#[macro_export]
3macro_rules! GC_INTERRUPT {
4 ($L:expr, $state:expr) => {
5 unsafe {
6 let g = &*(*$L).global;
7 let interrupt = g.cb.interrupt;
8 if luaur_common::LUAU_UNLIKELY(interrupt.is_some()) {
9 if let Some(interrupt_fn) = interrupt {
10 interrupt_fn($L, $state);
11 }
12 }
13 }
14 };
15}
16
17pub use GC_INTERRUPT;