diff options
| author | Takashi Kokubun <takashikkbn@gmail.com> | 2021-05-20 03:33:28 -0700 |
|---|---|---|
| committer | Takashi Kokubun <takashikkbn@gmail.com> | 2021-05-20 03:33:29 -0700 |
| commit | dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4 (patch) | |
| tree | a5129b4bd2f26063e16c5666099ee3940fcd89a1 /spec/ruby | |
| parent | 5026f9a5d5012248729a0052cd6cec811748291b (diff) | |
Do not block JIT with pending_stale_p
Because we want to flush pending stale units before unloading units, the
pending_stale_p check is implemented in this waiting loop.
However, once all methods are called more than --jit-min-calls,
mjit_worker_wakeup will not be signaled again. As a result, when
mjit_recompile is called after that and pending_stale_p becomes true,
MJIT stops processing methods in the unit queue even if the queue is
very long and MJIT does nothing, waiting for the signal.
There should be a better way to handle this, but as a fix to be
backported to Ruby 3.0, let me make an obvious simple commit here.
Diffstat (limited to 'spec/ruby')
0 files changed, 0 insertions, 0 deletions
