luaur-code-gen 0.1.0

Native (A64/X64) code generation for Luau (Rust).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use crate::functions::writeu_16::writeu_16;
use crate::macros::codegen_assert::CODEGEN_ASSERT;
use crate::records::assembly_builder_x_64::AssemblyBuilderX64;

impl AssemblyBuilderX64 {
    pub fn place_imm_16(&mut self, imm: i16) {
        let pos = self.code_pos;
        unsafe {
            CODEGEN_ASSERT!(pos.add(core::mem::size_of::<i16>()) < self.code_end);
            self.code_pos = writeu_16(pos, imm as u16);
        }
    }
}