luaur_code_gen/methods/
ir_builder_begin_block.rs1use 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}