Lines Matching refs:emit1
113 fn emit1(&self, mem: &mut JitMemory, data: u8) { in emit1() method
131 self.emit1(mem, (modrm & 0xc0) | ((r & 0b111) << 3) | (m & 0b111)); in emit_modrm()
143 self.emit1(mem, d as u8); in emit_modrm_and_displacement()
159 self.emit1(mem, 0x40 | (w << 3) | (r << 2) | (x << 1) | b); in emit_rex()
176 self.emit1(mem, 0x50 | (r & 0b111)); in emit_push()
181 self.emit1(mem, 0x58 | (r & 0b111)); in emit_pop()
189 self.emit1(mem, op); in emit_alu32()
202 self.emit1(mem, imm as u8); in emit_alu32_imm8()
210 self.emit1(mem, op); in emit_alu64()
223 self.emit1(mem, imm as u8); in emit_alu64_imm8()
258 self.emit1(mem, 0x0f); in emit_load()
259 self.emit1(mem, 0xb6); in emit_load()
263 self.emit1(mem, 0x0f); in emit_load()
264 self.emit1(mem, 0xb7); in emit_load()
268 self.emit1(mem, 0x8b); in emit_load()
282 self.emit1(mem, 0xb8 | (dst & 0b111)); in emit_load_imm()
290 OperandSize::S16 => self.emit1(mem, 0x66), // 16-bit override in emit_store()
306 OperandSize::S8 => self.emit1(mem, 0x88), in emit_store()
307 _ => self.emit1(mem, 0x89), in emit_store()
322 OperandSize::S16 => self.emit1(mem, 0x66), // 16-bit override in emit_store_imm32()
330 OperandSize::S8 => self.emit1(mem, 0xc6), in emit_store_imm32()
331 _ => self.emit1(mem, 0xc7), in emit_store_imm32()
335 OperandSize::S8 => self.emit1(mem, imm as u8), in emit_store_imm32()
342 self.emit1(mem, 0x0f); in emit_direct_jcc()
343 self.emit1(mem, code); in emit_direct_jcc()
351 self.emit1(mem, 0xff); in emit_call()
352 self.emit1(mem, 0xd0); in emit_call()
365 self.emit1(mem, 0x0f); in emit_jcc()
366 self.emit1(mem, code); in emit_jcc()
371 self.emit1(mem, 0xe9); in emit_jmp()
653 self.emit1(mem, 0x66); // 16-bit override in jit_compile()
665 self.emit1(mem, 0x0f); in jit_compile()
666 self.emit1(mem, 0xc8 | (dst & 0b111)); in jit_compile()
949 self.emit1(mem, 0xc3); // ret in jit_compile()