summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTakashi Kokubun <[email protected]>2023-12-13 09:36:06 -0800
committerGitHub <[email protected]>2023-12-13 09:36:06 -0800
commit0f1c7e3bcb2ee0cb38d228ba0d23f52ceef5623c (patch)
treec68784c146a1fb29f7a09a97b8ee2ebb87778abd /lib
parentc83a648fc827ac1430bd1f08f5af19f7174e02aa (diff)
RJIT: Just skip generating code for aarch64/arm64 (#9221)
Diffstat (limited to 'lib')
-rw-r--r--lib/ruby_vm/rjit/compiler.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/ruby_vm/rjit/compiler.rb b/lib/ruby_vm/rjit/compiler.rb
index 9ae528a0e9..2c4e1d67cf 100644
--- a/lib/ruby_vm/rjit/compiler.rb
+++ b/lib/ruby_vm/rjit/compiler.rb
@@ -59,6 +59,7 @@ module RubyVM::RJIT
# @param iseq `RubyVM::RJIT::CPointer::Struct_rb_iseq_t`
# @param cfp `RubyVM::RJIT::CPointer::Struct_rb_control_frame_t`
def compile(iseq, cfp)
+ return unless supported_platform?
pc = cfp.pc.to_i
jit = JITState.new(iseq:, cfp:)
asm = Assembler.new
@@ -505,5 +506,12 @@ module RubyVM::RJIT
raise "'#{cond.inspect}' was not true"
end
end
+
+ def supported_platform?
+ return @supported_platform if defined?(@supported_platform)
+ @supported_platform = RUBY_PLATFORM.match?(/x86_64/).tap do |supported|
+ warn "warning: RJIT does not support #{RUBY_PLATFORM} yet" unless supported
+ end
+ end
end
end