summaryrefslogtreecommitdiff
path: root/tool/ruby_vm/views/mjit_sp_inc.inc.erb
blob: 7b925420dd44b730eedea065cb4b69207d4fb6ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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");
    }
}