Skip to main content

luaur_bytecode/methods/
bytecode_graph_parser_add_producer.rs

1use crate::records::bc_op::BcOp;
2use crate::records::block_producers::BlockProducers;
3use crate::records::bytecode_graph_parser::BytecodeGraphParser;
4use crate::type_aliases::reg::Reg;
5
6impl<'a> BytecodeGraphParser<'a> {
7    pub fn add_producer(&mut self, reg: Reg, op: BcOp) {
8        let block_producers: &mut BlockProducers =
9            &mut self.producers[self.current_block.index as usize];
10
11        block_producers.own.insert(reg, op);
12
13        self.func.regs.insert(op, reg);
14
15        block_producers.invalidAfter = core::cmp::max(reg as i32, block_producers.invalidAfter);
16    }
17}