Skip to main content

luaur_code_gen/methods/
ir_builder_begin_block.rs

1use crate::macros::codegen_assert::CODEGEN_ASSERT;
2use crate::records::ir_builder::IrBuilder;
3use crate::records::ir_op::IrOp;
4
5impl IrBuilder {
6    pub fn begin_block(&mut self, block: IrOp) {
7        let target = &mut self.function.blocks[block.index() as usize];
8        self.active_block_idx = block.index();
9
10        CODEGEN_ASSERT!(
11            target.start == !0u32 || target.start == self.function.instructions.len() as u32
12        );
13
14        target.start = self.function.instructions.len() as u32;
15        target.sortkey = target.start;
16
17        self.in_terminated_block = false;
18    }
19}