diff --git a/tool/ruby_vm/models/instructions.rb b/tool/ruby_vm/models/instructions.rb index f2c6562d37..7be7064b14 100644 --- a/tool/ruby_vm/models/instructions.rb +++ b/tool/ruby_vm/models/instructions.rb @@ -12,11 +12,12 @@ require_relative 'bare_instruction' require_relative 'operands_unification' require_relative 'instructions_unification' +require_relative 'trace_instruction' +require_relative 'zjit_instruction' RubyVM::Instructions = RubyVM::BareInstruction.all + RubyVM::OperandsUnification.all + - RubyVM::InstructionsUnification.all - -require_relative 'trace_instruction' -require_relative 'zjit_instruction' + RubyVM::InstructionsUnification.all + + RubyVM::TraceInstruction.all + + RubyVM::ZJITInstruction.all RubyVM::Instructions.freeze diff --git a/tool/ruby_vm/models/trace_instruction.rb b/tool/ruby_vm/models/trace_instruction.rb index 2a5b67eaa2..6a3ad53c44 100644 --- a/tool/ruby_vm/models/trace_instruction.rb +++ b/tool/ruby_vm/models/trace_instruction.rb @@ -58,17 +58,13 @@ class RubyVM::TraceInstruction return false end - def zjit_profile? - return false - end - private - @instances = RubyVM::Instructions.map {|i| new i } + @instances = (RubyVM::BareInstruction.all + + RubyVM::OperandsUnification.all + + RubyVM::InstructionsUnification.all).map {|i| new(i) } def self.all @instances end - - RubyVM::Instructions.push(*all) end diff --git a/tool/ruby_vm/models/zjit_instruction.rb b/tool/ruby_vm/models/zjit_instruction.rb index dc1925b095..04764e4c61 100644 --- a/tool/ruby_vm/models/zjit_instruction.rb +++ b/tool/ruby_vm/models/zjit_instruction.rb @@ -48,11 +48,9 @@ class RubyVM::ZJITInstruction return false end - @instances = RubyVM::Instructions.filter(&:zjit_profile?).map {|i| new(i) } + @instances = RubyVM::BareInstruction.all.filter(&:zjit_profile?).map {|i| new(i) } def self.all @instances end - - RubyVM::Instructions.push(*all) end