[ruby-cvs:74086] k0kubun:r66982 (trunk): insns.def: opt_regexpmatch1 is not a leaf insn

k0kubun at ruby-lang.org k0kubun at ruby-lang.org
Fri Feb 1 20:52:06 JST 2019


k0kubun	2019-02-01 20:52:06 +0900 (Fri, 01 Feb 2019)

  New Revision: 66982

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

  Log:
    insns.def: opt_regexpmatch1 is not a leaf insn
    
    Given `str`, if `str_coderange(str)` is `ENC_CODERANGE_BROKEN`,
    it calls `rb_raise`. And it calls `rb_funcallv` from `rb_exc_new3`.
    
    http://ci.rvm.jp/results/trunk-vm-asserts@silicon-docker/1673244
    
    Maybe we can have a function to directly call `exc_initialize` for this
    purpose, but it may not be worth having such a function for keeping the
    instruction leaf. We may even want to delete the insn
    https://github.com/ruby/ruby/pull/1959.
    
    I'm not sure whether compile.c could generate opt_regexpmatch2 for
    invalid coderange string. Let's monitor that for a while.

  Modified files:
    trunk/insns.def


More information about the ruby-cvs mailing list