luaur_vm/macros/
stacklimitreached.rs1use crate::records::lua_state::lua_State;
2use crate::type_aliases::t_value::TValue;
3
4#[allow(non_snake_case)]
5pub fn stacklimitreached(L: *mut lua_State, n: core::ffi::c_int) -> bool {
6 unsafe {
7 let stack_last = (*L).stack_last as *mut core::ffi::c_char;
8 let top = (*L).top as *mut core::ffi::c_char;
9 let diff = stack_last as usize - top as usize;
10 let threshold = (n as usize) * (core::mem::size_of::<TValue>() as usize);
11 diff <= threshold
12 }
13}