summaryrefslogtreecommitdiff
path: root/lib/ruby_vm
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2022-12-25 22:48:35 -0800
committerTakashi Kokubun <takashikkbn@gmail.com>2022-12-25 22:48:36 -0800
commitfc03ba50f1ff6c30f7c654f564b4dffbed0844ef (patch)
tree5fa9bffbce44b3db52b977c23664deaf0575eeca /lib/ruby_vm
parent39a96b4344c7b0f8bd895a6e81d3dc840ea07e9c (diff)
MJIT: Fix JIT code for multiple values in a single case
[Bug #19263]
Diffstat (limited to 'lib/ruby_vm')
-rw-r--r--lib/ruby_vm/mjit/compiler.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/ruby_vm/mjit/compiler.rb b/lib/ruby_vm/mjit/compiler.rb
index 3ef3babf66..a9f2aeda8d 100644
--- a/lib/ruby_vm/mjit/compiler.rb
+++ b/lib/ruby_vm/mjit/compiler.rb
@@ -536,7 +536,7 @@ class RubyVM::MJIT::Compiler # :nodoc: all
when /\A\s+JUMP\((?<dest>[^)]+)\);\s+\z/
dest = Regexp.last_match[:dest]
if insn.name == :opt_case_dispatch # special case... TODO: use another macro to avoid checking name
- hash_offsets = C.rb_hash_values(operands[0])
+ hash_offsets = C.rb_hash_values(operands[0]).uniq
else_offset = cast_offset(operands[1])
base_pos = pos + insn_len