aboutsummaryrefslogtreecommitdiffstats
path: root/mjit.c
diff options
context:
space:
mode:
authork0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-07-29 02:05:08 +0000
committerk0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-07-29 02:05:08 +0000
commit82bd2a9cc017e3d9ff140b866a6bffaeb4488104 (patch)
tree059b7029bf1fcf03acc93c16773fa3c98df96683 /mjit.c
parentc5a5563dbe48497fd00a14de82ec359204b06365 (diff)
downloadruby-82bd2a9cc017e3d9ff140b866a6bffaeb4488104.tar.gz
mjit.c: disable compaction on empty queue w/ --jit-wait
When --jit-wait is specified, `unit_queue.length` is always 0 and it's not a good metric. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'mjit.c')
-rw-r--r--mjit.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/mjit.c b/mjit.c
index a45e155c4f..ef1a364ddd 100644
--- a/mjit.c
+++ b/mjit.c
@@ -1219,7 +1219,8 @@ worker(void)
#ifndef _MSC_VER
/* Combine .o files to one .so and reload all jit_func to improve memory locality */
- if ((unit_queue.length == 0 && active_units.length > 1) || active_units.length == mjit_opts.max_cache_size) {
+ if ((!mjit_opts.wait && unit_queue.length == 0 && active_units.length > 1)
+ || active_units.length == mjit_opts.max_cache_size) {
compact_all_jit_code();
}
#endif