projects
/
mono.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
764de0e
)
[jit] Disable llvm for overly complex methods, to avoid compilation slowdowns. Fixes...
author
Zoltan Varga
<vargaz@gmail.com>
Mon, 13 Feb 2017 19:35:41 +0000
(14:35 -0500)
committer
Zoltan Varga
<vargaz@gmail.com>
Mon, 13 Feb 2017 19:35:51 +0000
(14:35 -0500)
mono/mini/mini.c
patch
|
blob
|
history
diff --git
a/mono/mini/mini.c
b/mono/mini/mini.c
index c1e01d7c0bbf1e8fc065b20584e4ecd4568d6458..35d0eadf8be064d959bd344dbf391e162a994e2c 100644
(file)
--- a/
mono/mini/mini.c
+++ b/
mono/mini/mini.c
@@
-3604,6
+3604,10
@@
mini_method_compile (MonoMethod *method, guint32 opts, MonoDomain *domain, JitFl
cfg->disable_ssa = TRUE;
}
+ if (cfg->num_varinfo > 10000 && !cfg->llvm_only)
+ /* Disable llvm for overly complex methods */
+ cfg->disable_ssa = TRUE;
+
if (cfg->opt & MONO_OPT_LOOP) {
MONO_TIME_TRACK (mono_jit_stats.jit_compile_dominator_info, mono_compile_dominator_info (cfg, MONO_COMP_DOM | MONO_COMP_IDOM));
MONO_TIME_TRACK (mono_jit_stats.jit_compute_natural_loops, mono_compute_natural_loops (cfg));