summaryrefslogtreecommitdiff
path: root/lib/ruby_vm/mjit/assembler.rb
diff options
context:
space:
mode:
authorTakashi Kokubun <[email protected]>2023-03-02 21:14:26 -0800
committerTakashi Kokubun <[email protected]>2023-03-05 23:28:59 -0800
commite8a36eb4f6f30f5d96960a4cc4025d020018f37b (patch)
treecc2490d397d654157a2016e8062b1af0354e944d /lib/ruby_vm/mjit/assembler.rb
parent357007626ce77cd3cdb9e44568c1794e515792f6 (diff)
Optimize setivar for known ivar index
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/7448
Diffstat (limited to 'lib/ruby_vm/mjit/assembler.rb')
-rw-r--r--lib/ruby_vm/mjit/assembler.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/ruby_vm/mjit/assembler.rb b/lib/ruby_vm/mjit/assembler.rb
index aa3bc72bab..a00efdcae4 100644
--- a/lib/ruby_vm/mjit/assembler.rb
+++ b/lib/ruby_vm/mjit/assembler.rb
@@ -370,6 +370,10 @@ module RubyVM::MJIT
def jbe(dst)
case dst
+ # JBE rel8
+ in Label => dst_label
+ # 76 cb
+ insn(opcode: 0x76, imm: dst_label)
# JBE rel32
in Integer => dst_addr
# 0F 86 cd
@@ -441,6 +445,10 @@ module RubyVM::MJIT
def jnz(dst)
case dst
+ # JE rel8
+ in Label => dst_label
+ # 75 cb
+ insn(opcode: 0x75, imm: dst_label)
# JNZ rel32
in Integer => dst_addr
# 0F 85 cd