diff options
author | Aleksey Kliger (λgeek) <akliger@gmail.com> | 2018-08-05 05:03:17 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-05 05:03:17 +0300 |
commit | a7c699ab008e3ea262d661226ee45c92de288899 (patch) | |
tree | 96b2affcae3c0cf5cb5d86501a4d333115991c61 /sdks/builds/ios.mk | |
parent | 6b26820f280ecda5f171d48a4a1ebd24196e6564 (diff) |
[coop] Turn hybrid suspend on by default on desktop platforms (#9811)
* [coop] Turn hybrid suspend on by default on desktop platforms
Use hybrid suspend by default on x86 and amd64 OSX, Windows and Linux
Pass `--disable-hybrid-suspend` to configure to disable at build time, or set the environment variable `MONO_THREADS_SUSPEND=preemptive` when running Mono to use preemptive suspend (the previous default).
Pass `--disable-hybrid-suspend --enable-cooperative-suspend` to configure cooperative suspend at build time.
* [sdks] Disable coop and hybrid suspend for iOS and Android
Only the devices and simulator builds, not the host ones.
* [coop] Add mono_threads_suspend_override_policy ()
Do not use it. It provides a last resort method to ignore configure and environment settings and use a hardcoded threads suspend policy.
* [interp] Override suspend policy - warn and use preemptive
Until the interpreter supports safepoints and performs threads suspend states switches in its trampolines, always use preemptive suspend if the interpreter is used.
* [coop] Enter GC Safe around mono_threads_join_lock ()
Like other uses of mono_threads_join_lock, enter GC Safe before trying to take the lock.
* [interp] Use preemptive suspend with --full-aot-interp
Move safepoint suspend check to mono_runtime_set_execution_mode
* [test] fullaotmixed - force preemptive suspend[test] fullaotmixed - force preemptive suspend
Force preemptive suspend in fullaotmixedcheck. We must compile the AOT images without safepoints.
Diffstat (limited to 'sdks/builds/ios.mk')
-rw-r--r-- | sdks/builds/ios.mk | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sdks/builds/ios.mk b/sdks/builds/ios.mk index 9eb5178b023..935573baba7 100644 --- a/sdks/builds/ios.mk +++ b/sdks/builds/ios.mk @@ -119,6 +119,8 @@ _ios-$(1)_CONFIGURE_FLAGS = \ --with-tls=pthread \ --without-ikvm-native \ --without-sigaltstack \ + --disable-cooperative-suspend \ + --disable-hybird-suspend \ $$(ios-$(1)_CONFIGURE_FLAGS) .stamp-ios-$(1)-toolchain: @@ -249,6 +251,8 @@ _ios-$(1)_CONFIGURE_FLAGS= \ --enable-monotouch \ --with-tls=pthread \ --without-ikvm-native \ + --disable-cooperative-suspend \ + --disable-hybrid-suspend \ $$(ios-$(1)_CONFIGURE_FLAGS) # _ios-$(1)_CONFIGURE_FLAGS += --enable-extension-module=xamarin |