Skip to content

Commit ec8e3e3

Browse files
committed
Only modified LOAD_PATH for RJIT with fiddle provided by bundled gems
1 parent b4bfbca commit ec8e3e3

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

rjit.rb

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,19 @@ def self.enable
2828

2929
if RubyVM::RJIT.enabled?
3030
begin
31-
fiddle_paths = %w[.bundle/gems/fiddle-*/lib .bundle/extensions/*/*/fiddle-*].map do |dir|
32-
Dir.glob("#{File.expand_path("..", __FILE__)}/#{dir}").first
33-
end.compact
34-
$LOAD_PATH.unshift(*fiddle_paths) unless fiddle_paths.empty?
35-
3631
require 'fiddle'
3732
require 'fiddle/import'
3833
rescue LoadError
39-
return # miniruby doesn't support RJIT
34+
# Find fiddle from artifacts of bundled gems for make test-all
35+
fiddle_paths = %w[.bundle/gems/fiddle-*/lib .bundle/extensions/*/*/fiddle-*].map do |dir|
36+
Dir.glob("#{File.expand_path("..", __FILE__)}/#{dir}").first
37+
end.compact
38+
if fiddle_paths.empty?
39+
return # miniruby doesn't support RJIT
40+
else
41+
$LOAD_PATH.unshift(*fiddle_paths)
42+
retry
43+
end
4044
end
4145

4246
require 'ruby_vm/rjit/c_type'

0 commit comments

Comments
 (0)