Skip to main content

luaur_vm/macros/
lua_c_barrierfast.rs

1use crate::functions::lua_c_barrierback::lua_c_barrierback;
2use crate::macros::isblack::isblack;
3use crate::macros::obj_2_gco::obj2gco;
4
5#[allow(non_snake_case)]
6#[macro_export]
7macro_rules! lua_c_barrierfast {
8    ($L:expr, $t:expr) => {
9        if $crate::macros::isblack::isblack!($t as *mut $crate::records::gc_object::GCObject) {
10            unsafe {
11                $crate::functions::lua_c_barrierback::lua_c_barrierback(
12                    $L as *mut $crate::records::lua_state::lua_State,
13                    $t as *mut $crate::records::gc_object::GCObject,
14                    &mut (*$t).gclist,
15                );
16            }
17        }
18    };
19}
20
21pub use lua_c_barrierfast;
22
23#[allow(unused_imports)]
24pub use lua_c_barrierfast as luaC_barrierfast;