Ruby1.9でのダンプの仕方
1.9ではVMの命令にダンプできます。
puts RubyVM::InstructionSequence.new('puts "hoge"').disasm
ほかにeval、to_aとかが使える。
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>========== 0000 trace 1 ( 1) 0002 putnil 0003 putstring "hoge" 0005 send :puts, 1, nil, 8, <ic> 0011 leave
--dump=insns
RubyVM::InstructionSequenceは廃止されるらしいので--dump=insnsオプションを使いましょう。1.9.2devでは使えました。ruby --dump=insns -e 'puts "hoge"'