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;