diff options
Diffstat (limited to 'tool/ruby_vm/views/mjit_compile_attr.inc.erb')
-rw-r--r-- | tool/ruby_vm/views/mjit_compile_attr.inc.erb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tool/ruby_vm/views/mjit_compile_attr.inc.erb b/tool/ruby_vm/views/mjit_compile_attr.inc.erb new file mode 100644 index 0000000000..7b925420dd --- /dev/null +++ b/tool/ruby_vm/views/mjit_compile_attr.inc.erb @@ -0,0 +1,17 @@ +static rb_snum_t +mjit_call_attribute_sp_inc(const int insn, const VALUE *operands) +{ + switch (insn) { +% (RubyVM::BareInstructions.to_a + RubyVM::OperandsUnifications.to_a).each do |insn| + case BIN(<%= insn.name %>): { +% # compiler: Prepare operands which may be used by `insn.call_attribute` +% insn.opes.each_with_index do |ope, i| + MAYBE_UNUSED(<%= ope.fetch(:decl) %>) = (<%= ope.fetch(:type) %>)operands[<%= i %>]; +% end + return <%= insn.call_attribute('sp_inc') %>; + } +% end + default: + rb_bug("unexpected insn in mjit_call_attribute_sp_inc"); + } +} |