diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ruby_vm/mjit/c_pointer.rb | 6 | ||||
-rw-r--r-- | lib/ruby_vm/mjit/c_type.rb | 2 | ||||
-rw-r--r-- | lib/ruby_vm/mjit/compiler.rb | 10 | ||||
-rw-r--r-- | lib/ruby_vm/mjit/context.rb (renamed from lib/mjit/context.rb) | 0 | ||||
-rw-r--r-- | lib/ruby_vm/mjit/hooks.rb | 32 | ||||
-rw-r--r-- | lib/ruby_vm/mjit/insn_compiler.rb (renamed from lib/mjit/insn_compiler.rb) | 0 | ||||
-rw-r--r-- | lib/ruby_vm/mjit/jit_state.rb (renamed from lib/mjit/jit_state.rb) | 0 | ||||
-rw-r--r-- | lib/ruby_vm/mjit/stats.rb (renamed from lib/mjit/stats.rb) | 0 | ||||
-rw-r--r-- | lib/ruby_vm/mjit/x86_assembler.rb (renamed from lib/mjit/x86_assembler.rb) | 0 |
9 files changed, 9 insertions, 41 deletions
diff --git a/lib/ruby_vm/mjit/c_pointer.rb b/lib/ruby_vm/mjit/c_pointer.rb index 0ba9baa7cd..6bdf92b6cf 100644 --- a/lib/ruby_vm/mjit/c_pointer.rb +++ b/lib/ruby_vm/mjit/c_pointer.rb @@ -1,4 +1,4 @@ -module RubyVM::MJIT # :nodoc: all +module RubyVM::MJIT # Every class under this namespace is a pointer. Even if the type is # immediate, it shouldn't be dereferenced until `*` is called. module CPointer @@ -293,12 +293,12 @@ module RubyVM::MJIT # :nodoc: all # Dereference def * - byte = Fiddle::Pointer.new(@addr)[0, Fiddle::SIZEOF_CHAR].unpack1('c') + byte = Fiddle::Pointer.new(@addr)[0, Fiddle::SIZEOF_CHAR].unpack('c').first if @width == 1 bit = (1 & (byte >> @offset)) bit == 1 elsif @width <= 8 && @offset == 0 - bitmask = @width.times.sum { |i| 1 << i } + bitmask = @width.times.map { |i| 1 << i }.sum byte & bitmask else raise NotImplementedError.new("not-implemented bit field access: width=#{@width} offset=#{@offset}") diff --git a/lib/ruby_vm/mjit/c_type.rb b/lib/ruby_vm/mjit/c_type.rb index 9c965ad2fb..9e45d8d41c 100644 --- a/lib/ruby_vm/mjit/c_type.rb +++ b/lib/ruby_vm/mjit/c_type.rb @@ -2,7 +2,7 @@ require 'fiddle' require 'fiddle/pack' require_relative 'c_pointer' -module RubyVM::MJIT # :nodoc: all +module RubyVM::MJIT module CType module Struct # @param name [String] diff --git a/lib/ruby_vm/mjit/compiler.rb b/lib/ruby_vm/mjit/compiler.rb index 3dfea7088e..396e93cb04 100644 --- a/lib/ruby_vm/mjit/compiler.rb +++ b/lib/ruby_vm/mjit/compiler.rb @@ -1,8 +1,8 @@ -require 'mjit/context' -require 'mjit/insn_compiler' -require 'mjit/instruction' -require 'mjit/jit_state' -require 'mjit/x86_assembler' +require 'ruby_vm/mjit/context' +require 'ruby_vm/mjit/insn_compiler' +require 'ruby_vm/mjit/instruction' +require 'ruby_vm/mjit/jit_state' +require 'ruby_vm/mjit/x86_assembler' module RubyVM::MJIT # Compilation status diff --git a/lib/mjit/context.rb b/lib/ruby_vm/mjit/context.rb index 2bc499cd4e..2bc499cd4e 100644 --- a/lib/mjit/context.rb +++ b/lib/ruby_vm/mjit/context.rb diff --git a/lib/ruby_vm/mjit/hooks.rb b/lib/ruby_vm/mjit/hooks.rb deleted file mode 100644 index 3fb1004111..0000000000 --- a/lib/ruby_vm/mjit/hooks.rb +++ /dev/null @@ -1,32 +0,0 @@ -module RubyVM::MJIT::Hooks # :nodoc: all - C = RubyVM::MJIT.const_get(:C, false) - - def self.on_bop_redefined(_redefined_flag, _bop) - C.mjit_cancel_all("BOP is redefined") - end - - def self.on_cme_invalidate(_cme) - # to be used later - end - - def self.on_ractor_spawn - C.mjit_cancel_all("Ractor is spawned") - end - - def self.on_constant_state_changed(_id) - # to be used later - end - - def self.on_constant_ic_update(_iseq, _ic, _insn_idx) - # to be used later - end - - def self.on_tracing_invalidate_all(new_iseq_events) - # Stop calling all JIT-ed code. We can't rewrite existing JIT-ed code to trace_ insns for now. - # :class events are triggered only in ISEQ_TYPE_CLASS, but mjit_target_iseq_p ignores such iseqs. - # Thus we don't need to cancel JIT-ed code for :class events. - if new_iseq_events != C.RUBY_EVENT_CLASS - C.mjit_cancel_all("TracePoint is enabled") - end - end -end diff --git a/lib/mjit/insn_compiler.rb b/lib/ruby_vm/mjit/insn_compiler.rb index 9c3e2f2a95..9c3e2f2a95 100644 --- a/lib/mjit/insn_compiler.rb +++ b/lib/ruby_vm/mjit/insn_compiler.rb diff --git a/lib/mjit/jit_state.rb b/lib/ruby_vm/mjit/jit_state.rb index 819ecc128b..819ecc128b 100644 --- a/lib/mjit/jit_state.rb +++ b/lib/ruby_vm/mjit/jit_state.rb diff --git a/lib/mjit/stats.rb b/lib/ruby_vm/mjit/stats.rb index 263948bc0e..263948bc0e 100644 --- a/lib/mjit/stats.rb +++ b/lib/ruby_vm/mjit/stats.rb diff --git a/lib/mjit/x86_assembler.rb b/lib/ruby_vm/mjit/x86_assembler.rb index 890fa2b80a..890fa2b80a 100644 --- a/lib/mjit/x86_assembler.rb +++ b/lib/ruby_vm/mjit/x86_assembler.rb |