From ec8e3e376ce9487e93860dd277944a04e15ee461 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Thu, 6 Feb 2025 16:44:23 +0900 Subject: [PATCH] Only modified LOAD_PATH for RJIT with fiddle provided by bundled gems --- rjit.rb | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/rjit.rb b/rjit.rb index 81d341ce39416e..d8b77fab90d86a 100644 --- a/rjit.rb +++ b/rjit.rb @@ -28,15 +28,19 @@ def self.enable if RubyVM::RJIT.enabled? begin - fiddle_paths = %w[.bundle/gems/fiddle-*/lib .bundle/extensions/*/*/fiddle-*].map do |dir| - Dir.glob("#{File.expand_path("..", __FILE__)}/#{dir}").first - end.compact - $LOAD_PATH.unshift(*fiddle_paths) unless fiddle_paths.empty? - require 'fiddle' require 'fiddle/import' rescue LoadError - return # miniruby doesn't support RJIT + # Find fiddle from artifacts of bundled gems for make test-all + fiddle_paths = %w[.bundle/gems/fiddle-*/lib .bundle/extensions/*/*/fiddle-*].map do |dir| + Dir.glob("#{File.expand_path("..", __FILE__)}/#{dir}").first + end.compact + if fiddle_paths.empty? + return # miniruby doesn't support RJIT + else + $LOAD_PATH.unshift(*fiddle_paths) + retry + end end require 'ruby_vm/rjit/c_type'