summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authornagachika <nagachika@ruby-lang.org>2021-05-22 14:59:05 +0900
committernagachika <nagachika@ruby-lang.org>2021-05-22 14:59:05 +0900
commite175917f66f0b51638d9d9e143918d4109d489f4 (patch)
treeaec48b3e2cd224b74723b159411ea85fdc57a6fb /lib
parent2a70d2148453aeb39443f4c84147ace722d53a9a (diff)
merge revision(s) dfe21ef7a15a30fc33f3a5cc089e15d09e905eb4: [Backport #17874] [Backport #17876]
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. --- mjit_worker.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions