luaur_code_gen/functions/
get_counter_data.rs1use crate::functions::get_native_proto_exec_data_header_native_proto_exec_data_alt_b::get_native_proto_exec_data_header;
2use crate::macros::codegen_assert::CODEGEN_ASSERT;
3
4pub fn get_counter_data(
5 l: *mut crate::type_aliases::lua_state::lua_State,
6 proto: *mut luaur_vm::records::proto::Proto,
7 count: *mut usize,
8) -> *mut core::ffi::c_char {
9 let _ = l;
10
11 unsafe {
12 CODEGEN_ASSERT!(!count.is_null());
13
14 let exec_data = (*proto).execdata as *mut u32;
15 let exec_data_header = &*get_native_proto_exec_data_header(exec_data);
16
17 *count = exec_data_header.extra_data_count as usize / 4;
18 exec_data.add((*proto).sizecode as usize) as *mut core::ffi::c_char
19 }
20}
21
22#[export_name = "get_counter_data"]
23pub unsafe extern "C" fn get_counter_data_export(
24 l: *mut crate::type_aliases::lua_state::lua_State,
25 proto: *mut luaur_vm::records::proto::Proto,
26 count: *mut usize,
27) -> *mut core::ffi::c_char {
28 get_counter_data(l, proto, count)
29}