Skip to main content

luaur_code_gen/methods/
const_prop_state_invalidate_optimize_const_prop.rs

1use crate::records::const_prop_state::ConstPropState;
2use crate::records::register_info::RegisterInfo;
3
4impl ConstPropState {
5    pub fn invalidate_register_info_bool_bool(
6        &mut self,
7        reg: &mut RegisterInfo,
8        invalidate_tag: bool,
9        invalidate_value: bool,
10    ) {
11        if invalidate_tag {
12            reg.tag = 0xff;
13        }
14
15        if invalidate_value {
16            reg.value = crate::records::ir_op::IrOp::default();
17
18            if !luaur_common::FFlag::LuauCodegenExtraTableOpts.get() {
19                reg.known_not_readonly_deprecated = false;
20                reg.known_no_metatable_deprecated = false;
21                reg.known_table_array_size_deprecated = -1;
22            }
23        }
24
25        reg.version += 1;
26    }
27}