Created
March 18, 2014 23:01
-
-
Save anonymous/9631657 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>========== | |
0000 trace 1 ( 1) | |
0002 putspecialobject 1 | |
0004 putspecialobject 2 | |
0006 putobject :fact | |
0008 putiseq fact | |
0010 send :"core#define_method", 3, nil, 0, <ic:0> | |
0016 pop | |
0017 trace 1 ( 9) | |
0019 putself | |
0020 putobject 10000 | |
0022 send :fact, 1, nil, 8, <ic:1> | |
0028 leave | |
== disasm: <RubyVM::InstructionSequence:fact@<compiled>>================ | |
local table (size: 3, argc: 1 [opts: 2, rest: -1, post: 0, block: -1] s0) | |
[ 3] n<Arg> [ 2] acc<Opt=0> | |
0000 putobject 1 ( 1) | |
0002 setlocal acc | |
0004 trace 8 | |
0006 trace 1 ( 2) | |
0008 getlocal n | |
0010 send :zero?, 0, nil, 0, <ic:0> | |
0016 branchunless 24 | |
0018 trace 1 ( 3) | |
0020 getlocal acc | |
0022 jump 45 ( 2) | |
0024 trace 1 ( 5) | |
0026 putself | |
0027 getlocal n | |
0029 putobject 1 | |
0031 opt_minus <ic:4> | |
0033 getlocal acc | |
0035 getlocal n | |
0037 opt_mult <ic:5> | |
0039 send :fact, 2, nil, 8, <ic:3> | |
0045 trace 16 ( 7) | |
0047 leave ( 5) | |
stack level too deep | |
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>========== | |
0000 trace 1 ( 1) | |
0002 putspecialobject 1 | |
0004 putspecialobject 2 | |
0006 putobject :fact | |
0008 putiseq fact | |
0010 send :"core#define_method", 3, nil, 0, <ic:0> | |
0016 pop | |
0017 trace 1 ( 9) | |
0019 putself | |
0020 putobject 10000 | |
0022 send :fact, 1, nil, 40, <ic:1> | |
0028 leave | |
== disasm: <RubyVM::InstructionSequence:fact@<compiled>>================ | |
local table (size: 3, argc: 1 [opts: 2, rest: -1, post: 0, block: -1] s0) | |
[ 3] n<Arg> [ 2] acc<Opt=0> | |
0000 putobject 1 ( 1) | |
0002 setlocal acc | |
0004 trace 8 | |
0006 trace 1 ( 2) | |
0008 getlocal n | |
0010 send :zero?, 0, nil, 0, <ic:0> | |
0016 branchunless 24 | |
0018 trace 1 ( 3) | |
0020 getlocal acc | |
0022 jump 45 ( 2) | |
0024 trace 1 ( 5) | |
0026 putself | |
0027 getlocal n | |
0029 putobject 1 | |
0031 opt_minus <ic:4> | |
0033 getlocal acc | |
0035 getlocal n | |
0037 opt_mult <ic:5> | |
0039 send :fact, 2, nil, 8, <ic:3> | |
0045 trace 16 ( 7) | |
0047 leave ( 5) | |
stack level too deep |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment