[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


    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`.
    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
    I'm not sure whether compile.c could generate opt_regexpmatch2 for
    invalid coderange string. Let's monitor that for a while.

  Modified files:

More information about the ruby-cvs mailing list