luaur_vm/macros/
lua_d_checkstackfornewci.rs1use crate::functions::lua_d_reallocstack::lua_d_reallocstack;
2use crate::macros::condhardstacktests::condhardstacktests;
3use crate::macros::extra_stack::EXTRA_STACK;
4use crate::macros::getgrownstacksize::getgrownstacksize;
5use crate::macros::stacklimitreached::stacklimitreached;
6
7use crate::records::lua_state::LuaState;
8use core::ffi::c_int;
9
10#[allow(non_snake_case)]
11#[inline]
12pub fn luaD_checkstackfornewci(L: *mut LuaState, n: c_int) {
13 unsafe {
14 if stacklimitreached(L, n) {
15 lua_d_reallocstack(L, getgrownstacksize(L, n), 1);
16 } else {
17 condhardstacktests!(lua_d_reallocstack(L, (*L).stacksize - EXTRA_STACK, 1));
18 }
19 }
20}