mirror of
https://github.com/ruby/ruby.git
synced 2025-08-25 14:05:02 +02:00
Implement ISEQ block_handler
This commit is contained in:
parent
fb08b0e748
commit
b5fbc9f59f
Notes:
git
2025-05-14 12:41:59 +00:00
2 changed files with 56 additions and 31 deletions
|
@ -667,6 +667,16 @@ module RubyVM::MJIT
|
|||
|
||||
def or(dst, src)
|
||||
case [dst, src]
|
||||
# OR r/m64, imm8 (Mod 11: reg)
|
||||
in [Symbol => dst_reg, Integer => src_imm] if r64?(dst_reg) && imm8?(src_imm)
|
||||
# REX.W + 83 /1 ib
|
||||
# MI: Operand 1: ModRM:r/m (r, w), Operand 2: imm8/16/32
|
||||
insn(
|
||||
prefix: REX_W,
|
||||
opcode: 0x83,
|
||||
mod_rm: ModRM[mod: Mod11, reg: 1, rm: dst_reg],
|
||||
imm: imm8(src_imm),
|
||||
)
|
||||
# OR r64, r/m64 (Mod 01: [reg]+disp8)
|
||||
in [Symbol => dst_reg, Array[Symbol => src_reg, Integer => src_disp]] if r64?(dst_reg) && r64?(src_reg) && imm8?(src_disp)
|
||||
# REX.W + 0B /r
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue