Skip to content

Instantly share code, notes, and snippets.

@bakkdoor
Created October 6, 2010 16:23
Show Gist options
  • Save bakkdoor/613604 to your computer and use it in GitHub Desktop.
Save bakkdoor/613604 to your computer and use it in GitHub Desktop.
============= :__script__ ==============
Arguments: 0 required, 0 total
Locals: 0
Stack size: 5
Lines to IP: 0: 0-37
0000: push_rubinius
0001: push_literal :foo
0003: push_literal #<Rubinius::CompiledMethod foo file=rbx/examples/return.fy>
0005: push_scope
0006: push_variables
0007: send_stack :method_visibility, 0
0010: send_stack :add_defn_method, 4
0013: push_self
0014: create_block #<Rubinius::CompiledMethod __block__ file=rbx/examples/return.fy>
0016: allow_private
0017: send_stack :foo, 1
0020: allow_private
0021: send_stack :println, 0
0024: push_self
0025: create_block #<Rubinius::CompiledMethod __block__ file=rbx/examples/return.fy>
0027: allow_private
0028: send_stack :foo, 1
0031: allow_private
0032: send_stack :println, 0
0035: pop
0036: push_true
0037: ret
----------------------------------------
================= :foo =================
Arguments: 1 required, 1 total
Locals: 1: block
Stack size: 4
Lines to IP: 0: 0-13
0000: meta_push_1
0001: push_int 10
0003: create_block #<Rubinius::CompiledMethod foo file=rbx/examples/return.fy>
0005: allow_private
0006: send_stack :"upto:do_each:", 2
0009: push_literal "yay"
0011: string_dup
0012: raise_return
0013: ret
----------------------------------------
================= :foo =================
Arguments: 1 required, 1 total
Locals: 1: i
Stack size: 4
Lines to IP: 0: 0-21
0000: cast_for_single_block_arg
0001: set_local 0
0003: pop
0004: push_local_depth 1, 0
0007: push_local 0
0009: make_array 1
0011: allow_private
0012: send_stack :call, 1
0015: create_block #<Rubinius::CompiledMethod foo file=rbx/examples/return.fy>
0017: allow_private
0018: send_stack :if_true, 1
0021: ret
----------------------------------------
================= :foo =================
Arguments: 1 required, 1 total
Locals: 0
Stack size: 2
Lines to IP: 0: 0-4
0000: push_local_depth 1, 0
0003: raise_return
0004: ret
----------------------------------------
============== :__block__ ==============
Arguments: 1 required, 1 total
Locals: 1: x
Stack size: 4
Lines to IP: 0: 0-12
0000: cast_for_single_block_arg
0001: set_local 0
0003: pop
0004: push_local 0
0006: push_int 6
0008: allow_private
0009: send_stack :==, 1
0012: ret
----------------------------------------
============== :__block__ ==============
Arguments: 1 required, 1 total
Locals: 1: x
Stack size: 4
Lines to IP: 0: 0-11
0000: cast_for_single_block_arg
0001: set_local 0
0003: pop
0004: push_local 0
0006: meta_push_0
0007: allow_private
0008: send_stack :==, 1
0011: ret
----------------------------------------
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment