Skip to main content

luaur_vm/macros/
lua_c_barriert.rs

1//! Generated skeleton item.
2//! Node: `cxx:Macro:Luau.VM:VM/src/lgc.h:97:lua_c_barriert`
3//! Source: `VM/src/lgc.h`
4//! Graph edges:
5//! - declared_by: source_file VM/src/lgc.h
6//! - source_includes:
7//!   - includes -> source_file VM/src/ldo.h
8//!   - includes -> source_file VM/src/lobject.h
9//!   - includes -> source_file VM/src/lstate.h
10//! - incoming:
11//!   - declares <- source_file VM/src/lgc.h
12//!   - calls <- function executeSETTABLEKS (CodeGen/src/CodeGenUtils.cpp)
13//!   - calls <- function lua_rawsetfield (VM/src/lapi.cpp)
14//!   - calls <- function lua_rawset (VM/src/lapi.cpp)
15//!   - calls <- function lua_rawseti (VM/src/lapi.cpp)
16//!   - calls <- function lua_rawsetptagged (VM/src/lapi.cpp)
17//!   - calls <- function lua_ref (VM/src/lapi.cpp)
18//!   - calls <- function luauF_rawset (VM/src/lbuiltins.cpp)
19//!   - calls <- function luauF_tinsert (VM/src/lbuiltins.cpp)
20//!   - calls <- function newkey (VM/src/ltable.cpp)
21//!   - calls <- function VM_CASE (VM/src/lvmexecute.cpp)
22//!   - calls <- function VM_CASE (VM/src/lvmexecute.cpp)
23//!   - calls <- function VM_CASE (VM/src/lvmexecute.cpp)
24//!   - calls <- function VM_CASE (VM/src/lvmexecute.cpp)
25//!   - calls <- function loadsafe (VM/src/lvmload.cpp)
26//!   - calls <- function luaV_settable (VM/src/lvmutils.cpp)
27//! - outgoing:
28//!   - translates_to -> rust_item luaC_barriert
29
30#[allow(non_snake_case)]
31#[macro_export]
32macro_rules! luaC_barriert {
33    ($L:expr, $t:expr, $v:expr) => {
34        // lgc.h:97
35        if $crate::macros::iscollectable::iscollectable!($v)
36            && $crate::macros::isblack::isblack!($t as *mut $crate::records::gc_object::GCObject)
37            && $crate::macros::iswhite::iswhite!($crate::macros::gcvalue::gcvalue!($v))
38        {
39            $crate::functions::lua_c_barriertable::luaC_barriertable(
40                $L,
41                $t,
42                $crate::macros::gcvalue::gcvalue!($v),
43            );
44        }
45    };
46}
47
48pub use luaC_barriert;