luaur-bytecode 0.1.1

Luau bytecode format and builder (Rust).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::records::bc_op::BcOp;
use crate::records::block_producers::BlockProducers;
use crate::records::bytecode_graph_parser::BytecodeGraphParser;
use crate::type_aliases::reg::Reg;

impl<'a> BytecodeGraphParser<'a> {
    pub fn add_producer(&mut self, reg: Reg, op: BcOp) {
        let block_producers: &mut BlockProducers =
            &mut self.producers[self.current_block.index as usize];

        block_producers.own.insert(reg, op);

        self.func.regs.insert(op, reg);

        block_producers.invalidAfter = core::cmp::max(reg as i32, block_producers.invalidAfter);
    }
}