luaur-code-gen 0.1.3

Native (A64/X64) code generation for Luau (Rust).
Documentation
use crate::functions::get_op_ir_data::get_op_mut;
use crate::functions::replace_ir_utils::replace_ir_function_ir_op_ir_op;
use crate::records::ir_function::IrFunction;
use crate::records::ir_op::IrOp;

pub fn replace_ir_function_ir_inst_operand(
    function: &mut IrFunction,
    inst_idx: u32,
    op_idx: u32,
    replacement: IrOp,
) {
    let function_ptr = function as *mut IrFunction;

    unsafe {
        let original = get_op_mut(
            &mut (&mut (*function_ptr).instructions)[inst_idx as usize],
            op_idx,
        ) as *mut IrOp;
        replace_ir_function_ir_op_ir_op(&mut *function_ptr, &mut *original, replacement);
    }
}