411 REFERENCE · Wikibooks
Ruby Programming/Reference/Objects/RubyVM
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
RubyVM is (as noted) very VM dependent. Currently it is defined only for 1.9.x MRI.
RubyVM::InstructionSequence.disassemble
Available on 1.9 only, this is basically a wrapper for yarv.
>> class A; def go; end; end
>> b = A.new.method(:go)
=> #
>> print RubyVM::InstructionSequence.disassemble b
== disasm: =======================
0000 trace 8 ( 1)
0002 putnil
0003 trace 16 ( 1)
0005 leave
I believe those trace methods represent calls to any Kernel#set_trace_func (or the C sibling to that ruby method).
Also note that with 1.9.2 you can pass in a proc.