Skip to main content

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;