Skip to main content

luaur_code_gen/functions/
before_inst_for_n_prep.rs

1use crate::functions::get_loop_step_k::get_loop_step_k;
2use crate::records::ir_builder::IrBuilder;
3use crate::type_aliases::instruction_ir_builder::Instruction;
4use luaur_common::macros::luau_insn_a::LUAU_INSN_A;
5
6pub fn before_inst_for_n_prep(build: &mut IrBuilder, pc: *const Instruction, pcpos: i32) {
7    let ra = LUAU_INSN_A(unsafe { *pc }) as i32;
8    let step_k = get_loop_step_k(build, ra);
9    build
10        .numeric_loop_stack
11        .push(crate::records::ir_builder::LoopInfo {
12            step: step_k,
13            startpc: pcpos + 1,
14        });
15}