[profiler] Better support for multiple profilers.
"jit",
};
- static readonly TimeSpan _timeout = TimeSpan.FromHours (6);
+ static readonly TimeSpan _timeout = TimeSpan.FromHours (8);
static string FilterInvalidXmlChars (string text) {
return Regex.Replace (text, @"[^\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\u10000-\u10FFFF]", string.Empty);
wrequest.ResendContentFactory = content.CopyTo;
- var stream = await wrequest.GetRequestStreamAsync ().ConfigureAwait (false);
- await request.Content.CopyToAsync (stream).ConfigureAwait (false);
+ using (var stream = await wrequest.GetRequestStreamAsync ().ConfigureAwait (false)) {
+ await request.Content.CopyToAsync (stream).ConfigureAwait (false);
+ }
} else if (HttpMethod.Post.Equals (request.Method) || HttpMethod.Put.Equals (request.Method) || HttpMethod.Delete.Equals (request.Method)) {
// Explicitly set this to make sure we're sending a "Content-Length: 0" header.
// This fixes the issue that's been reported on the forums:
g_slist_free (nesting [i]);
g_free (nesting);
}
+ jinfo->from_llvm = 1;
} else {
len = mono_jit_info_size (flags, num_clauses, num_holes);
jinfo = (MonoJitInfo *)alloc0_jit_info_data (domain, len, async);
}
}
- /*
- * The INDIRECT flag added by OP_LDADDR inhibits optimizations, even if the LDADDR
- * was later optimized away, so clear these flags, and add them back for the still
- * present OP_LDADDR instructions.
- */
- for (i = 0; i < cfg->next_vreg; ++i) {
- MonoInst *ins;
-
- ins = get_vreg_to_inst (cfg, i);
- if (ins && ins != cfg->rgctx_var)
- ins->flags &= ~MONO_INST_INDIRECT;
- }
-
/*
* Make a first pass over the code to precreate PHI nodes/set INDIRECT flags.
*/
if (cfg->verbose_level > 2)
g_print ("creating locals\n");
- for (i = 0; i < header->num_locals; ++i)
+ for (i = 0; i < header->num_locals; ++i) {
+ if (cfg->verbose_level > 2)
+ g_print ("\tlocal [%d]: ", i);
cfg->locals [i] = mono_compile_create_var (cfg, header->locals [i], OP_LOCAL);
+ }
if (cfg->verbose_level > 2)
g_print ("locals done\n");
{
SGEN_ASSERT (0, sweep_state == SWEEP_STATE_SWEPT, "Sweeping must have finished before freeing blocks");
-#ifdef TARGET_WIN32
+#if defined(HOST_WIN32) || defined(HOST_ORBIS)
/*
* sgen_free_os_memory () asserts in mono_vfree () because windows doesn't like freeing the middle of
* a VirtualAlloc ()-ed block.
class MSBuild (GitHubPackage):
def __init__ (self):
GitHubPackage.__init__ (self, 'mono', 'msbuild', '15.3',
- revision = 'f7dcc3900c808775adad970f047202b4de34e986')
+ revision = '9fcd43ddc7c2f9b250b0d7e823ae01862246b35a')
def build (self):
self.sh ('./cibuild.sh --scope Compile --target Mono --host Mono --config Release')
static string AndroidNdkPath = @"";
static string MaccoreDir = @"";
static string TargetDir = @"";
+ static bool GenIOS;
public enum TargetPlatform
{
MaccoreDir = Path.Combine (maccoreDir);
}
- if (Directory.Exists(MaccoreDir))
+ if (Directory.Exists(MaccoreDir) || GenIOS)
SetupiOSTargets();
foreach (var target in Targets)
source.Options.AddDefines ("HAVE_SGEN_GC");
source.Options.AddDefines ("HAVE_MOVING_COLLECTOR");
+ source.Options.AddDefines("MONO_GENERATING_OFFSETS");
}
}
{ "android-ndk=", "Path to Android NDK", v => AndroidNdkPath = v },
{ "targetdir=", "Path to the directory containing the mono build", v =>TargetDir = v },
{ "mono=", "include directory", v => MonoDir = v },
+ { "gen-ios", "generate iOS offsets", v => GenIOS != null },
{ "h|help", "show this message and exit", v => showHelp = v != null },
};
parserOptions.AddArguments("-xc");
parserOptions.AddArguments("-std=gnu99");
parserOptions.AddDefines("CPPSHARP");
+ parserOptions.AddDefines("MONO_GENERATING_OFFSETS");
foreach (var define in target.Defines)
parserOptions.AddDefines(define);