Skip to main content

luaur_vm/macros/
sizeclass.rs

1use crate::records::size_class_config::SizeClassConfig;
2
3#[allow(non_upper_case_globals)]
4pub const SIZECLASS: () = ();
5
6#[macro_export]
7macro_rules! sizeclass {
8    ($sz:expr) => {{
9        // (size_t((sz) - 1) < kMaxSmallSizeUsed ? kSizeClassConfig.classForSize[sz] : -1)
10        let __sz = $sz;
11        let __idx = (__sz as usize).wrapping_sub(1);
12        if __idx < crate::records::size_class_config::kMaxSmallSize as usize {
13            crate::records::size_class_config::kSizeClassConfig.classForSize[__sz as usize]
14        } else {
15            -1 as core::ffi::c_char
16        }
17    }};
18}
19
20pub use sizeclass;