ruby-changes:54886
From: k0kubun <ko1@a...>
Date: Wed, 20 Feb 2019 00:39:42 +0900 (JST)
Subject: [ruby-changes:54886] k0kubun:r67091 (trunk): insns.def: opt_regexpmatch2 is not a leaf insn
k0kubun 2019-02-20 00:39:35 +0900 (Wed, 20 Feb 2019) New Revision: 67091 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=67091 Log: insns.def: opt_regexpmatch2 is not a leaf insn related: r66982 Sadly opt_regexpmatch2 was not a leaf insn either. http://ci.rvm.jp/results/trunk-vm-asserts@silicon-docker/1751213 CHECK_INTERRUPT_IN_MATCH_AT is just like RUBY_VM_CHECK_INTS, and it may call arbitrary Ruby method, for example a GC finalizer from postponed job in this case. Modified files: trunk/insns.def Index: insns.def =================================================================== --- insns.def (revision 67090) +++ insns.def (revision 67091) @@ -1432,6 +1432,7 @@ opt_regexpmatch2 https://github.com/ruby/ruby/blob/trunk/insns.def#L1432 (CALL_INFO ci, CALL_CACHE cc) (VALUE obj2, VALUE obj1) (VALUE val) +// attr bool leaf = false; /* match_at() has rb_thread_check_ints() */ { val = vm_opt_regexpmatch2(obj2, obj1); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/