Skip to main content

luaur_vm/macros/
lua_c_init.rs

1#[allow(non_snake_case)]
2#[macro_export]
3macro_rules! luaC_init {
4    ($L:expr, $o:expr, $tt_:expr) => {{
5        let l_state = $L;
6        // every GC type embeds GCheader at offset 0 (the C++ casts to GCObject*)
7        let hdr = $o as *mut $crate::records::g_cheader::GCheader;
8        let tt = $tt_;
9        (*hdr).marked = $crate::macros::lua_c_white::luaC_white!((*l_state).global);
10        (*hdr).tt = tt as u8;
11        (*hdr).memcat = (*l_state).activememcat;
12    }};
13}
14
15pub use luaC_init;