diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2023-03-06 22:35:38 -0800 |
---|---|---|
committer | Takashi Kokubun <takashikkbn@gmail.com> | 2023-03-06 23:44:01 -0800 |
commit | eaccdc1941304d6273397b21c25213174d892185 (patch) | |
tree | 93a2ab9455ccf56c55cd01370007703d75b80627 /rjit.rb | |
parent | 854546fcc468fc6a49588bdbf6df77aa185493a1 (diff) | |
download | ruby-eaccdc1941304d6273397b21c25213174d892185.tar.gz |
Rename MJIT filenames to RJIT
Diffstat (limited to 'rjit.rb')
-rw-r--r-- | rjit.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/rjit.rb b/rjit.rb new file mode 100644 index 0000000000..f9679e9164 --- /dev/null +++ b/rjit.rb @@ -0,0 +1,37 @@ +module RubyVM::MJIT + # Return true if MJIT is enabled. + def self.enabled? + Primitive.cexpr! 'RBOOL(mjit_enabled)' + end + + # Stop generating JITed code. + def self.pause(wait: true) + Primitive.cexpr! 'mjit_pause(RTEST(wait))' + end + + # Start generating JITed code again after pause. + def self.resume + Primitive.cexpr! 'mjit_resume()' + end + + if Primitive.mjit_stats_enabled_p + at_exit do + Primitive.mjit_stop_stats + print_stats + end + end +end + +if RubyVM::MJIT.enabled? + begin + require 'fiddle' + require 'fiddle/import' + rescue LoadError + return # miniruby doesn't support MJIT + end + + require 'ruby_vm/mjit/c_type' + require 'ruby_vm/mjit/compiler' + require 'ruby_vm/mjit/hooks' + require 'ruby_vm/mjit/stats' +end |