Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[mini] Add mini_target_safepoints_enabled #11817

Closed
wants to merge 3 commits into from

Conversation

lambdageek
Copy link
Member

Allows us to emit safepoints for the target even if the host doesn't need them.

Always emit safepoints when targeting watchOS. This should address #11765: due to mono/monodevelop#6327, Mono was not emitting safepoints in the watchOS cross-compiler since the host had MONO_THREADS_SUSPEND=preemptive set.

TODO: Differentiate between host and target settings for this.  It could be
that the targets needs safepoints even if the default on the host is not to use
safepoints.
Check is safepoints are enabled on the target, not the host.
Even if we're cross-compiling and the host doesn't use safepoints.

This should address
mono#11765 which, due to
mono/monodevelop#6327, was not emitting safepoints in
the watchOS cross-compiler since the host had `MONO_THREADS_SUSPEND=preemptive` set.
@lambdageek
Copy link
Member Author

This isn't totally wrong, but I need to rethink it. We should also decide in metadata/marshal-ilgen.c whether to emit blocking transitions in wrappers based on target settings, not the host.

So this shouldn't go in mini, it should go in metadata.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant