summaryrefslogtreecommitdiff
path: root/mjit.rb
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2022-12-22 14:30:07 -0800
committerTakashi Kokubun <takashikkbn@gmail.com>2022-12-22 14:30:09 -0800
commit0b2aea861cde3c001e59eafb19f4fa1fa615a5a5 (patch)
tree4ed99a2715300d8e73443fa4afa3ee3afb0abab9 /mjit.rb
parentcce6a30fddd08efcc435fd28cef27b4731817efa (diff)
Polish the public docs for MJIT [ci skip]
Now every private interface is cleaned up, and the public interface is documented.
Diffstat (limited to 'mjit.rb')
-rw-r--r--mjit.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/mjit.rb b/mjit.rb
index 7391451a6c..d15abac888 100644
--- a/mjit.rb
+++ b/mjit.rb
@@ -1,12 +1,15 @@
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
@@ -20,7 +23,9 @@ if RubyVM::MJIT.enabled?
return # miniruby doesn't support MJIT
end
- RubyVM::MJIT::C = Object.new # forward declaration for ruby_vm/mjit/compiler
+ # forward declaration for ruby_vm/mjit/compiler
+ RubyVM::MJIT::C = Object.new # :nodoc:
+
require 'ruby_vm/mjit/c_type'
require 'ruby_vm/mjit/instruction'
require 'ruby_vm/mjit/compiler'