[ruby-cvs:68398] k0kubun:r61217 (trunk): iseq.c: dump type of branchiftype on disasm

k0kubun at ruby-lang.org k0kubun at ruby-lang.org
Thu Dec 14 01:07:52 JST 2017


k0kubun	2017-12-14 01:07:52 +0900 (Thu, 14 Dec 2017)

  New Revision: 61217

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=61217

  Log:
    iseq.c: dump type of branchiftype on disasm
    
    This makes easier to debug scripts related to r59950.
    
    * before
    
    $ ./ruby --dump=insns -e '"#{a}"'
    == disasm: #<ISeq:<main>@-e>============================================
    0000 putobject        ""                                              (   1)[Li]
    0002 putself
    0003 opt_send_without_block <callinfo!mid:a, argc:0, FCALL|VCALL|ARGS_SIMPLE>, <callcache>
    0006 dup
    0007 branchiftype     5, 15
    0010 dup
    0011 opt_send_without_block <callinfo!mid:to_s, argc:0, FCALL|ARGS_SIMPLE>, <callcache>
    0014 tostring
    0015 concatstrings    2
    0017 leave
    
    * after
    
    $ ./ruby --dump=insns -e '"#{a}"'
    == disasm: #<ISeq:<main>@-e>============================================
    0000 putobject        ""                                              (   1)[Li]
    0002 putself
    0003 opt_send_without_block <callinfo!mid:a, argc:0, FCALL|VCALL|ARGS_SIMPLE>, <callcache>
    0006 dup
    0007 branchiftype     T_STRING, 15
    0010 dup
    0011 opt_send_without_block <callinfo!mid:to_s, argc:0, FCALL|ARGS_SIMPLE>, <callcache>
    0014 tostring
    0015 concatstrings    2
    0017 leave

  Modified files:
    trunk/internal.h
    trunk/iseq.c
    trunk/vm_eval.c


More information about the ruby-cvs mailing list