Skip to content

Instantly share code, notes, and snippets.

@lambdageek
Last active November 26, 2018 22:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lambdageek/c7a15fd4c0b9eb3e3619c4811ce5ea6b to your computer and use it in GitHub Desktop.
Save lambdageek/c7a15fd4c0b9eb3e3619c4811ce5ea6b to your computer and use it in GitHub Desktop.
From 751aa448f441d79ec96160887198437aabb25445 Mon Sep 17 00:00:00 2001
From: Aleksey Kliger <alklig@microsoft.com>
Date: Mon, 26 Nov 2018 17:23:54 -0500
Subject: [PATCH] [hack][mtouch] set MONO_THREAD_SUSPEND to coop to emit
safepoints
---
tools/mtouch/Assembly.cs | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tools/mtouch/Assembly.cs b/tools/mtouch/Assembly.cs
index ac37322c8..19aeeeca0 100644
--- a/tools/mtouch/Assembly.cs
+++ b/tools/mtouch/Assembly.cs
@@ -281,13 +281,15 @@ namespace Xamarin.Bundler {
var aotCompiler = Driver.GetAotCompiler (App, Target.Is64Build);
var aotArgs = Driver.GetAotArguments (App, assembly_path, abi, build_dir, asm_output, llvm_aot_ofile, data);
+ var startInfo = Driver.CreateStartInfo (App, aotCompiler, aotArgs, Path.GetDirectoryName (assembly_path));
+ startInfo.EnvironmentVariables ["MONO_THREADS_SUSPEND"] = "coop"; // HACK: causes safepoints to be emited
var task = new AOTTask
{
Assembly = this,
AssemblyName = assembly_path,
AddBitcodeMarkerSection = BuildTarget != AssemblyBuildTarget.StaticObject && App.EnableMarkerOnlyBitCode,
AssemblyPath = asm,
- ProcessStartInfo = Driver.CreateStartInfo (App, aotCompiler, aotArgs, Path.GetDirectoryName (assembly_path)),
+ ProcessStartInfo = startInfo,
AotInfo = aotInfo,
};
--
2.19.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment