luaur_code_gen/functions/luau_node_key_value.rs
1use crate::enums::category_x_64::CategoryX64;
2use crate::enums::size_x_64::SizeX64;
3use crate::records::operand_x_64::OperandX64;
4use crate::records::register_x_64::RegisterX64;
5
6#[inline]
7pub fn luau_node_key_value(node: RegisterX64) -> OperandX64 {
8 // offsetof(LuaNode, key) = 16 (LuaNode is 32 bytes, first 16 bytes are base, then key)
9 // offsetof(TKey, value) = 0 (TKey starts with Value value)
10 // So the offset is 16 + 0 = 16
11 // We use qword[base + disp] form
12 OperandX64::mem(SizeX64::qword, RegisterX64::noreg, 0, node, 16)
13}