diff options
Diffstat (limited to 'misc')
-rw-r--r-- | misc/ujit_disasm.rb | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/misc/ujit_disasm.rb b/misc/ujit_disasm.rb deleted file mode 100644 index 38eb139c33..0000000000 --- a/misc/ujit_disasm.rb +++ /dev/null @@ -1,35 +0,0 @@ -begin - require "crabstone" - require "stringio" -rescue LoadError => e - puts "Please install crabstone, which is needed by the disassembler:" - puts " $ brew install capstone" - puts " $ gem install capstone" - raise e -end - -module UJIT - def self.disasm(iseq) - blocks = UJIT.blocks_for(iseq) - return if blocks.empty? - - io = StringIO.new - - cs = Crabstone::Disassembler.new(Crabstone::ARCH_X86, Crabstone::MODE_64) - - io.puts iseq.disasm - - blocks.sort_by(&:address).reverse.each do |block| - io.puts "== ISEQ RANGE: #{block.iseq_start_index} -> #{block.iseq_end_index} ".ljust(80, "=") - cs.disasm(block.code, 0).each do |i| - io.printf( - "\t0x%<address>x:\t%<instruction>s\t%<details>s\n", - address: i.address, - instruction: i.mnemonic, - details: i.op_str - ) - end - end - io.string - end -end |