diff options
author | Ludovic Henry <ludovic@xamarin.com> | 2017-01-12 21:24:06 +0300 |
---|---|---|
committer | Ludovic Henry <ludovic@xamarin.com> | 2017-03-17 21:31:50 +0300 |
commit | cb576a77cfcf98a54570ddb38fd41713696ea0b2 (patch) | |
tree | 4b934fe67e33d86de436d8ed8ae28d97eea8f515 | |
parent | 00e4b61d2d1d24c9cbde34b949e2a9ab1d07bcbd (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.c | 4 |
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 |