File: C:/Ruby27-x64/share/ri/2.7.0/system/RubyVM/InstructionSequence/disassemble-c.ri
U:RDoc::AnyMethod[iI"disassemble:ETI"-RubyVM::InstructionSequence::disassemble;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"JTakes +body+, a Method or Proc object, and returns a String with the ;TI",human readable instructions for +body+.;To:RDoc::Markup::BlankLine o;
; [I"For a Method object:;T@o:RDoc::Markup::Verbatim; [I"# /tmp/method.rb
;TI"def hello
;TI" puts "hello, world"
;TI" end
;TI"
;TI"=puts RubyVM::InstructionSequence.disasm(method(:hello))
;T:@format0o;
; [I"Produces:;T@o;; [
I"O== disasm: <RubyVM::InstructionSequence:hello@/tmp/method.rb>============
;TI"R0000 trace 8 ( 1)
;TI"R0002 trace 1 ( 2)
;TI"0004 putself
;TI"*0005 putstring "hello, world"
;TI"40007 send :puts, 1, nil, 8, <ic:0>
;TI"R0013 trace 16 ( 3)
;TI"R0015 leave ( 2)
;T;
0o;
; [I"For a Proc:;T@o;; [I"# /tmp/proc.rb
;TI"p = proc { num = 1 + 2 }
;TI"0puts RubyVM::InstructionSequence.disasm(p)
;T;
0o;
; [I"Produces:;T@o;; [I"N== disasm: <RubyVM::InstructionSequence:block in <main>@/tmp/proc.rb>===
;TI"== catch table
;TI"@| catch type: redo st: 0000 ed: 0012 sp: 0000 cont: 0000
;TI"@| catch type: next st: 0000 ed: 0012 sp: 0000 cont: 0012
;TI"O|------------------------------------------------------------------------
;TI"Olocal table (size: 2, argc: 0 [opts: 0, rest: -1, post: 0, block: -1] s1)
;TI"[ 2] num
;TI"R0000 trace 1 ( 1)
;TI"0002 putobject 1
;TI"0004 putobject 2
;TI""0006 opt_plus <ic:1>
;TI"0008 dup
;TI""0009 setlocal num, 0
;TI"0012 leave;T;
0:
@fileI"iseq.c;T:0@omit_headings_from_table_of_contents_below0I"ZInstructionSequence.disasm(body) -> str
InstructionSequence.disassemble(body) -> str
;T0[ I" (p1);T@CFI"InstructionSequence;TcRDoc::NormalClass00