Imported Upstream version 5.20.1.22

Former-commit-id: 36cfe74fb4a92849aef0326046186dffbc1d4d0e
This commit is contained in:
Xamarin Public Jenkins (auto-signing) 2019-04-12 08:23:39 +00:00
parent 85eedc5197
commit 8016999e4d
49 changed files with 118 additions and 47 deletions

View File

@ -1 +1 @@
3006e2a2a7a8cfba468d92a89168a31c18027dfa
0a10d7702cce258aa223df527db3d3fee7a708ea

View File

@ -1 +1 @@
532ef3a00f247ae98241e65ac65352caac56ad72
319dfcbd34aa76e21d7ed75404a80d09228b79d1

View File

@ -335,6 +335,9 @@ format.
.SS Options
The AOT profiler supports the following options:
.TP
\fBduration\fR=\fInum\fR
Profile only NUM seconds of runtime and then write the data.
.TP
\fBhelp\fR
Print usage instructions.
.TP

View File

@ -34,7 +34,7 @@ static class Consts
// Use these assembly version constants to make code more maintainable.
//
public const string MonoVersion = "5.20.1.19";
public const string MonoVersion = "5.20.1.22";
public const string MonoCompany = "Mono development team";
public const string MonoProduct = "Mono Common Language Infrastructure";
public const string MonoCopyright = "(c) Various Mono authors";

View File

@ -1 +1 @@
065959baee82ccf5268cb2244317ee0873c04f09
ac652b696075764615aa9b93fa948e13b894e529

View File

@ -1 +1 @@
d419de537d8d25d6fca28ef5e8fc7f9abae9e883
622b80598dbba00a57ad15733364b393c65f9274

View File

@ -1 +1 @@
126bd535bd0a15f9793c78d1ec0bce7cae623943
0422682b6daa776842f1fd227f8de4123a36c56a

View File

@ -1 +1 @@
b67a9318e1980ab5202015ea42e72f1c647a8588
72fcf0d9681ee249a97fbf36c0e31a4230972146

View File

@ -1 +1 @@
30300aa58f21e5f39eb6e170df359a5ece11efc1
391eabaa568cedc999c8831f0ab26c9fb88f7b7b

View File

@ -1 +1 @@
d3f8b26fc3174e107e87346ddf89d1af89e77a81
fb0bb3afc766acff0e70763c085ec83c69b0a324

View File

@ -1 +1 @@
9ec3b8a1a1d8dc04574811d4ddbd933770bd811b
5005d60039f324b50717e6bf945083068cc2ba0c

View File

@ -1 +1 @@
065959baee82ccf5268cb2244317ee0873c04f09
ac652b696075764615aa9b93fa948e13b894e529

View File

@ -1 +1 @@
d419de537d8d25d6fca28ef5e8fc7f9abae9e883
622b80598dbba00a57ad15733364b393c65f9274

View File

@ -1 +1 @@
126bd535bd0a15f9793c78d1ec0bce7cae623943
0422682b6daa776842f1fd227f8de4123a36c56a

View File

@ -1 +1 @@
b67a9318e1980ab5202015ea42e72f1c647a8588
72fcf0d9681ee249a97fbf36c0e31a4230972146

View File

@ -1 +1 @@
30300aa58f21e5f39eb6e170df359a5ece11efc1
391eabaa568cedc999c8831f0ab26c9fb88f7b7b

View File

@ -1 +1 @@
d3f8b26fc3174e107e87346ddf89d1af89e77a81
fb0bb3afc766acff0e70763c085ec83c69b0a324

View File

@ -1 +1 @@
9ec3b8a1a1d8dc04574811d4ddbd933770bd811b
5005d60039f324b50717e6bf945083068cc2ba0c

View File

@ -1 +1 @@
065959baee82ccf5268cb2244317ee0873c04f09
ac652b696075764615aa9b93fa948e13b894e529

View File

@ -1 +1 @@
d419de537d8d25d6fca28ef5e8fc7f9abae9e883
622b80598dbba00a57ad15733364b393c65f9274

View File

@ -1 +1 @@
126bd535bd0a15f9793c78d1ec0bce7cae623943
0422682b6daa776842f1fd227f8de4123a36c56a

View File

@ -1 +1 @@
b67a9318e1980ab5202015ea42e72f1c647a8588
72fcf0d9681ee249a97fbf36c0e31a4230972146

View File

@ -1 +1 @@
30300aa58f21e5f39eb6e170df359a5ece11efc1
391eabaa568cedc999c8831f0ab26c9fb88f7b7b

View File

@ -1 +1 @@
d3f8b26fc3174e107e87346ddf89d1af89e77a81
fb0bb3afc766acff0e70763c085ec83c69b0a324

View File

@ -1 +1 @@
9ec3b8a1a1d8dc04574811d4ddbd933770bd811b
5005d60039f324b50717e6bf945083068cc2ba0c

View File

@ -1 +1 @@
065959baee82ccf5268cb2244317ee0873c04f09
ac652b696075764615aa9b93fa948e13b894e529

View File

@ -1 +1 @@
d419de537d8d25d6fca28ef5e8fc7f9abae9e883
622b80598dbba00a57ad15733364b393c65f9274

View File

@ -1 +1 @@
126bd535bd0a15f9793c78d1ec0bce7cae623943
0422682b6daa776842f1fd227f8de4123a36c56a

View File

@ -1 +1 @@
b67a9318e1980ab5202015ea42e72f1c647a8588
72fcf0d9681ee249a97fbf36c0e31a4230972146

View File

@ -1 +1 @@
30300aa58f21e5f39eb6e170df359a5ece11efc1
391eabaa568cedc999c8831f0ab26c9fb88f7b7b

View File

@ -1 +1 @@
d3f8b26fc3174e107e87346ddf89d1af89e77a81
fb0bb3afc766acff0e70763c085ec83c69b0a324

View File

@ -1 +1 @@
9ec3b8a1a1d8dc04574811d4ddbd933770bd811b
5005d60039f324b50717e6bf945083068cc2ba0c

View File

@ -78,7 +78,7 @@ namespace Mono.XBuild.CommandLine
if (HasAssemblyInfo (assemblyName))
loggerAssembly = Assembly.Load (assemblyName);
else if (File.Exists (assemblyName))
loggerAssembly = Assembly.LoadFile (assemblyName);
loggerAssembly = Assembly.LoadFrom (assemblyName);
if (loggerAssembly == null)
return null;

View File

@ -1 +1 @@
54cd6484f7ed21b57fff42f51598ceece4420a1a
adc533df411b0499126cf5805e4f996f249a4559

View File

@ -1 +1 @@
#define FULL_VERSION "explicit/886c490"
#define FULL_VERSION "explicit/e4df5ef"

View File

@ -10,6 +10,7 @@
#include "aot.h"
#include <mono/metadata/object-internals.h>
#include <mono/metadata/profiler.h>
#include <mono/metadata/tokentype.h>
#include <mono/metadata/tabledefs.h>
@ -19,6 +20,7 @@
#include <mono/mini/jit.h>
#include <mono/utils/mono-logger-internals.h>
#include <mono/utils/mono-os-mutex.h>
#include <mono/utils/mono-threads.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
@ -34,6 +36,7 @@ struct _MonoProfiler {
char *outfile_name;
mono_mutex_t mutex;
gboolean verbose;
int duration;
};
static MonoProfiler aot_profiler;
@ -47,7 +50,8 @@ prof_jit_done (MonoProfiler *prof, MonoMethod *method, MonoJitInfo *jinfo)
return;
mono_os_mutex_lock (&prof->mutex);
g_ptr_array_add (prof->methods, method);
if (prof->methods)
g_ptr_array_add (prof->methods, method);
mono_os_mutex_unlock (&prof->mutex);
}
@ -57,12 +61,13 @@ prof_shutdown (MonoProfiler *prof);
static void
usage (void)
{
mono_profiler_printf ("AOT profiler.\n");
mono_profiler_printf ("AOT profiler.");
mono_profiler_printf ("Usage: mono --profile=aot[:OPTION1[,OPTION2...]] program.exe\n");
mono_profiler_printf ("Options:\n");
mono_profiler_printf ("\thelp show this usage info\n");
mono_profiler_printf ("\toutput=FILENAME write the data to file FILENAME\n");
mono_profiler_printf ("\tverbose print diagnostic info\n");
mono_profiler_printf ("Options:");
mono_profiler_printf ("\tduration=NUM profile only NUM seconds of runtime and write the data");
mono_profiler_printf ("\thelp show this usage info");
mono_profiler_printf ("\toutput=FILENAME write the data to file FILENAME");
mono_profiler_printf ("\tverbose print diagnostic info");
exit (0);
}
@ -94,6 +99,9 @@ parse_arg (const char *arg)
if (match_option (arg, "help", NULL)) {
usage ();
} else if (match_option (arg, "duration", &val)) {
char *end;
aot_profiler.duration = strtoul (val, &end, 10);
} else if (match_option (arg, "output", &val)) {
aot_profiler.outfile_name = g_strdup (val);
} else if (match_option (arg, "verbose", NULL)) {
@ -158,6 +166,50 @@ parse_args (const char *desc)
g_free (buffer);
}
static void *
helper_thread (void *arg)
{
mono_thread_attach (mono_get_root_domain ());
MonoInternalThread *internal = mono_thread_internal_current ();
ERROR_DECL (error);
MonoString *name_str = mono_string_new_checked (mono_get_root_domain (), "AOT Profiler Helper", error);
mono_error_assert_ok (error);
mono_thread_set_name_internal (internal, name_str, FALSE, FALSE, error);
mono_error_assert_ok (error);
mono_thread_info_set_flags (MONO_THREAD_INFO_FLAGS_NO_GC | MONO_THREAD_INFO_FLAGS_NO_SAMPLE);
sleep (aot_profiler.duration);
prof_shutdown (&aot_profiler);
mono_thread_info_set_flags (MONO_THREAD_INFO_FLAGS_NONE);
mono_thread_detach (mono_thread_current ());
return NULL;
}
static void
start_helper_thread (void)
{
MonoNativeThreadId thread_id;
if (!mono_native_thread_create (&thread_id, helper_thread, NULL)) {
mono_profiler_printf_err ("Could not start aot profiler helper thread");
exit (1);
}
}
static void
runtime_initialized (MonoProfiler *profiler)
{
if (profiler->duration >= 0)
start_helper_thread ();
}
void
mono_profiler_init_aot (const char *desc);
@ -173,6 +225,8 @@ mono_profiler_init_aot (const char *desc)
exit (1);
}
aot_profiler.duration = -1;
parse_args (desc [strlen ("aot")] == ':' ? desc + strlen ("aot") + 1 : "");
if (!aot_profiler.outfile_name)
@ -199,6 +253,7 @@ mono_profiler_init_aot (const char *desc)
mono_os_mutex_init (&aot_profiler.mutex);
MonoProfilerHandle handle = mono_profiler_create (&aot_profiler);
mono_profiler_set_runtime_initialized_callback (handle, runtime_initialized);
mono_profiler_set_runtime_shutdown_end_callback (handle, prof_shutdown);
mono_profiler_set_jit_done_callback (handle, prof_jit_done);
}
@ -387,13 +442,20 @@ add_method (MonoProfiler *prof, MonoMethod *m)
g_free (s);
if (prof->verbose)
mono_profiler_printf ("%s %d\n", mono_method_full_name (m, 1), id);
mono_profiler_printf ("%s %d", mono_method_full_name (m, 1), id);
}
/* called at the end of the program */
static void
prof_shutdown (MonoProfiler *prof)
{
mono_os_mutex_lock (&prof->mutex);
int already_shutdown = prof->methods == NULL;
mono_os_mutex_unlock (&prof->mutex);
if (already_shutdown)
return;
int mindex;
char magic [32];
@ -403,6 +465,7 @@ prof_shutdown (MonoProfiler *prof)
emit_int32 (prof, version);
GHashTable *all_methods = g_hash_table_new (NULL, NULL);
mono_os_mutex_lock (&prof->mutex);
for (mindex = 0; mindex < prof->methods->len; ++mindex) {
MonoMethod *m = (MonoMethod*)g_ptr_array_index (prof->methods, mindex);
@ -419,9 +482,14 @@ prof_shutdown (MonoProfiler *prof)
fclose (prof->outfile);
mono_profiler_printf ("AOT profiler data written to '%s'", prof->outfile_name);
g_hash_table_destroy (all_methods);
g_hash_table_destroy (prof->classes);
g_hash_table_destroy (prof->images);
g_ptr_array_free (prof->methods, TRUE);
g_free (prof->outfile_name);
prof->methods = NULL;
mono_os_mutex_unlock (&prof->mutex);
}

Binary file not shown.

View File

@ -1 +1 @@
b01efc0db41aa5919b7d18982b6bd50ee0d14ddb
49b1d859492b4d5aeb09464bbca50bcf52980a34

Binary file not shown.

View File

@ -1 +1 @@
11777dc18f1d8992701885e6250a753989e650e9
7a97f950e10c81750b0f00c426f99247303feb68

Binary file not shown.

View File

@ -1 +1 @@
7417f82220e053d41c48961a03eaed2768169d43
41c9f8b77b6e38893a89270554c84a0d742f671f

View File

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: mono 5.20.1.19\n"
"Project-Id-Version: mono 5.20.1.22\n"
"Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n"
"POT-Creation-Date: 2019-04-10 08:07+0000\n"
"POT-Creation-Date: 2019-04-12 08:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

Binary file not shown.

View File

@ -1 +1 @@
5f2d40368af77a1d8431e095b4e7b850f6e53586
0899c7d6d26873d10d1d97979697b6d6dd901b03