Skip to content

Commit

Permalink
Add another method for debugging
Browse files Browse the repository at this point in the history
  • Loading branch information
k0kubun committed Sep 6, 2022
1 parent 4c1f675 commit d5752f7
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions mjit_compiler.rb
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,16 @@ def mjit_capture_is_entries(body, is_entries)
}
end

# Convert encoded VM pointers to insn BINs.
def rb_vm_insn_decode(encoded)
Primitive.cexpr! 'INT2NUM(rb_vm_insn_decode(NUM2PTR(encoded)))'
end

# Convert insn BINs to encoded VM pointers. This one is not used by the compiler, but useful for debugging.
def rb_vm_insn_encode(bin)
Primitive.cexpr! 'PTR2NUM((VALUE)rb_vm_get_insns_address_table()[NUM2INT(bin)])'
end

def insn_may_depend_on_sp_or_pc(insn, opes)
_opes_addr = opes.to_i
Primitive.cexpr! 'RBOOL(insn_may_depend_on_sp_or_pc(NUM2INT(insn), (VALUE *)NUM2PTR(_opes_addr)))'
Expand Down

0 comments on commit d5752f7

Please sign in to comment.