Skip to main content

luaur_code_gen/methods/
const_prop_state_invalidate_captured_registers.rs

1impl crate::records::const_prop_state::ConstPropState {
2    pub fn invalidate_captured_registers(&mut self) {
3        let max_reg = self.max_reg;
4        let captured_regs = unsafe { &(*self.function).cfg.captured.regs };
5        for i in 0..=max_reg {
6            let reg = i as usize;
7            if (captured_regs[reg / 64] & (1u64 << (reg % 64))) != 0 {
8                let idx = i as usize;
9                let reg_ptr: *mut crate::records::register_info::RegisterInfo = &mut self.regs[idx];
10                unsafe {
11                    self.invalidate_register_info_bool_bool(&mut *reg_ptr, true, true);
12                }
13            }
14        }
15    }
16}