Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Henry <ludovic@xamarin.com>2017-01-12 21:24:06 +0300
committerLudovic Henry <ludovic@xamarin.com>2017-03-17 21:31:50 +0300
commitcb576a77cfcf98a54570ddb38fd41713696ea0b2 (patch)
tree4b934fe67e33d86de436d8ed8ae28d97eea8f515
parent00e4b61d2d1d24c9cbde34b949e2a9ab1d07bcbd (diff)
[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.
-rw-r--r--mono/mini/mini-generic-sharing.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/mono/mini/mini-generic-sharing.c b/mono/mini/mini-generic-sharing.c
index 9fb754ed866..b30d8573a1b 100644
--- a/mono/mini/mini-generic-sharing.c
+++ b/mono/mini/mini-generic-sharing.c
@@ -3576,7 +3576,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