https://bugs.ruby-lang.org/https://bugs.ruby-lang.org/favicon.ico?17113305112018-07-03T11:44:10ZRuby Issue Tracking SystemRuby master - Bug #14892: r63763 breaks -DMJIT_FORCE_ENABLE=1https://bugs.ruby-lang.org/issues/14892?journal_id=727892018-07-03T11:44:10Zk0kubun (Takashi Kokubun)takashikkbn@gmail.com
<ul><li><strong>Assignee</strong> set to <i>k0kubun (Takashi Kokubun)</i></li></ul><p>I recognize that. I'm currently taking time for RubyBench project but planning to take a look after that. Please ignore the -DMJIT_FORCE_ENABLE=1 until I fix it.</p> Ruby master - Bug #14892: r63763 breaks -DMJIT_FORCE_ENABLE=1https://bugs.ruby-lang.org/issues/14892?journal_id=728102018-07-05T00:02:38Zwanabe (_ wanabe)s.wanabe@gmail.com
<ul></ul><p>A mini reproductive command is here.</p>
<pre><code>ruby --jit-wait --disable=gems -e '1000.times { a, b = nil }'
</code></pre> Ruby master - Bug #14892: r63763 breaks -DMJIT_FORCE_ENABLE=1https://bugs.ruby-lang.org/issues/14892?journal_id=728142018-07-05T03:42:03Zwanabe (_ wanabe)s.wanabe@gmail.com
<ul></ul><p>And another one.</p>
<pre><code>ruby --jit-wait --disable-gems -e '1000.times { break if /a/ =~ "ab" && !$~[0] }'
</code></pre> Ruby master - Bug #14892: r63763 breaks -DMJIT_FORCE_ENABLE=1https://bugs.ruby-lang.org/issues/14892?journal_id=728412018-07-06T00:49:18Zwanabe (_ wanabe)s.wanabe@gmail.com
<ul></ul><p>Many cases (including <code>a, b = nil</code>) go well after r63863.<br>
Now I found that there remain 2 issues at least.</p>
<ol>
<li>
<code>pc</code> is set to <code>next_pos</code> when insn is <code>opt_xxx</code> and <code>body->catch_except_p</code> is falsy.
<ul>
<li>ex. <code>1000.times { break if /a/ =~ "ab" && !$~[0] }</code>
</li>
</ul>
</li>
<li>
<code>opt_aref_with</code> / <code>opt_aset_with</code> push <code>rb_str_resurrect(key)</code> when MJIT execution is cancelled, but it is unexpected for VM's <code>opt_aref_with</code> / <code>opt_aset_with</code>.
<ul>
<li>ex. <code>1000.times { Thread.current["a"] = {} }</code>
</li>
</ul>
</li>
</ol> Ruby master - Bug #14892: r63763 breaks -DMJIT_FORCE_ENABLE=1https://bugs.ruby-lang.org/issues/14892?journal_id=728662018-07-07T14:41:10Zk0kubun (Takashi Kokubun)takashikkbn@gmail.com
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li></ul><p>Applied in changeset trunk|r63875.</p>
<hr>
<p>insns.def: stop pushing unnecessary keys for MJIT</p>
<p>[Bug <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: r63763 breaks -DMJIT_FORCE_ENABLE=1 (Closed)" href="https://bugs.ruby-lang.org/issues/14892">#14892</a>]</p>