From 924ef782700f1a01243c2419d7f71d95d84af257 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Thu, 12 Jan 2017 16:24:06 -0200 Subject: [PATCH] [hybrid] Ensure gsharedvt isn't disabled once it's been enabled We would observe gsharedvt being disabled on desktop, even after passing --hybrid-aot. This would happen because we would call `mono_set_optimizations` without the `gsharedvt` optimisation enabled, thus calling `mono_set_generic_sharing_vt_supported(FALSE)` disabling again gsharedvt. --- mono/mini/mini-generic-sharing.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mono/mini/mini-generic-sharing.c b/mono/mini/mini-generic-sharing.c index 3c37a4e0e80..687249e0939 100644 --- a/mono/mini/mini-generic-sharing.c +++ b/mono/mini/mini-generic-sharing.c @@ -3577,7 +3577,9 @@ static gboolean gsharedvt_supported; void mono_set_generic_sharing_vt_supported (gboolean supported) { - gsharedvt_supported = supported; + /* ensure we do not disable gsharedvt once it's been enabled */ + if (!gsharedvt_supported && supported) + gsharedvt_supported = TRUE; } #ifdef MONO_ARCH_GSHAREDVT_SUPPORTED -- 2.25.1