Merge branch 'upstream'
Former-commit-id: d8a7791dfc27f9e60cd60dc8bcea49a0bc280d7e
This commit is contained in:
commit
89dc21ef21
@ -1 +1 @@
|
||||
32032351f05623ddf476bdcb57a30b529b3d2e8d
|
||||
31a9498daf6bb155f2123b3ecd7faa579ade4c98
|
@ -1 +1 @@
|
||||
19a2e7c59e1e46b86ca76d5200cbc4328a92171a
|
||||
e17288b2e852e32474aebf862e6347b06e6cd2a2
|
@ -41,7 +41,7 @@ static partial class Consts
|
||||
// Use these assembly version constants to make code more maintainable.
|
||||
//
|
||||
|
||||
public const string MonoVersion = "6.0.0.300";
|
||||
public const string MonoVersion = "6.0.0.302";
|
||||
public const string MonoCompany = "Mono development team";
|
||||
public const string MonoProduct = "Mono Common Language Infrastructure";
|
||||
public const string MonoCopyright = "(c) Various Mono authors";
|
||||
|
@ -1 +1 @@
|
||||
610f149d02b43843d60ea943b1dbda131da50857
|
||||
707e0df8d36d7e873f6a93d82ff286a0e675825a
|
@ -1 +1 @@
|
||||
ac5a904a97698ca709eefcd4adf1163eb0018487
|
||||
e0cfa451b476ede754a8d5bb0ecaf177b2506b98
|
@ -1 +1 @@
|
||||
ef3898ec0a1a2fb4899d555333cf761c9d5ec07e
|
||||
a8e0dec34755f207498bca98116670d810e34bd7
|
Binary file not shown.
@ -1 +1 @@
|
||||
fc7585fb16e851b662b878b39f8e32d3018fd668
|
||||
00060537c5a7b8b3b1b854dc6199b695e1084f0a
|
@ -1 +1 @@
|
||||
e393df6726ee3ea4e5f940dbb797c5f6d65cbdab
|
||||
ef46214686b5696543af92d0c70196ba0b943a6d
|
@ -1 +1 @@
|
||||
ba75dd4ee877c8ff21c4dbc8dc2f4ff9684ccee3
|
||||
1b047b44ee58aa8a884a47305868b76578a88ff3
|
@ -1 +1 @@
|
||||
921d504a42685c599326466181ff27a39e20ad8e
|
||||
a1d786bde0d6c4c74526dc14a87da6a44f9279ad
|
@ -1 +1 @@
|
||||
610f149d02b43843d60ea943b1dbda131da50857
|
||||
707e0df8d36d7e873f6a93d82ff286a0e675825a
|
@ -1 +1 @@
|
||||
ac5a904a97698ca709eefcd4adf1163eb0018487
|
||||
e0cfa451b476ede754a8d5bb0ecaf177b2506b98
|
@ -1 +1 @@
|
||||
ef3898ec0a1a2fb4899d555333cf761c9d5ec07e
|
||||
a8e0dec34755f207498bca98116670d810e34bd7
|
Binary file not shown.
@ -1 +1 @@
|
||||
fc7585fb16e851b662b878b39f8e32d3018fd668
|
||||
00060537c5a7b8b3b1b854dc6199b695e1084f0a
|
@ -1 +1 @@
|
||||
e393df6726ee3ea4e5f940dbb797c5f6d65cbdab
|
||||
ef46214686b5696543af92d0c70196ba0b943a6d
|
@ -1 +1 @@
|
||||
ba75dd4ee877c8ff21c4dbc8dc2f4ff9684ccee3
|
||||
1b047b44ee58aa8a884a47305868b76578a88ff3
|
@ -1 +1 @@
|
||||
921d504a42685c599326466181ff27a39e20ad8e
|
||||
a1d786bde0d6c4c74526dc14a87da6a44f9279ad
|
@ -1 +1 @@
|
||||
610f149d02b43843d60ea943b1dbda131da50857
|
||||
707e0df8d36d7e873f6a93d82ff286a0e675825a
|
@ -1 +1 @@
|
||||
ac5a904a97698ca709eefcd4adf1163eb0018487
|
||||
e0cfa451b476ede754a8d5bb0ecaf177b2506b98
|
@ -1 +1 @@
|
||||
ef3898ec0a1a2fb4899d555333cf761c9d5ec07e
|
||||
a8e0dec34755f207498bca98116670d810e34bd7
|
Binary file not shown.
@ -1 +1 @@
|
||||
fc7585fb16e851b662b878b39f8e32d3018fd668
|
||||
00060537c5a7b8b3b1b854dc6199b695e1084f0a
|
@ -1 +1 @@
|
||||
e393df6726ee3ea4e5f940dbb797c5f6d65cbdab
|
||||
ef46214686b5696543af92d0c70196ba0b943a6d
|
@ -1 +1 @@
|
||||
ba75dd4ee877c8ff21c4dbc8dc2f4ff9684ccee3
|
||||
1b047b44ee58aa8a884a47305868b76578a88ff3
|
@ -1 +1 @@
|
||||
921d504a42685c599326466181ff27a39e20ad8e
|
||||
a1d786bde0d6c4c74526dc14a87da6a44f9279ad
|
@ -1 +1 @@
|
||||
610f149d02b43843d60ea943b1dbda131da50857
|
||||
707e0df8d36d7e873f6a93d82ff286a0e675825a
|
@ -1 +1 @@
|
||||
ac5a904a97698ca709eefcd4adf1163eb0018487
|
||||
e0cfa451b476ede754a8d5bb0ecaf177b2506b98
|
@ -1 +1 @@
|
||||
109ef5fa2134bda6d786295cc1092f58492f0ecf
|
||||
7fc95be03837f157066d246f3e7ac3f2c7ced403
|
Binary file not shown.
@ -1 +1 @@
|
||||
fc7585fb16e851b662b878b39f8e32d3018fd668
|
||||
00060537c5a7b8b3b1b854dc6199b695e1084f0a
|
@ -1 +1 @@
|
||||
e393df6726ee3ea4e5f940dbb797c5f6d65cbdab
|
||||
ef46214686b5696543af92d0c70196ba0b943a6d
|
@ -1 +1 @@
|
||||
ba75dd4ee877c8ff21c4dbc8dc2f4ff9684ccee3
|
||||
1b047b44ee58aa8a884a47305868b76578a88ff3
|
@ -1 +1 @@
|
||||
7dd2f3d40d447e8f4a757f77325c121f15c887f2
|
||||
c5c13a9dfb924885908c55b62252c3cd2a543a99
|
@ -1 +1 @@
|
||||
#define FULL_VERSION "explicit/52f6ea1"
|
||||
#define FULL_VERSION "explicit/fdf6490"
|
||||
|
@ -1443,10 +1443,10 @@ distclean-generic:
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
@CROSS_COMPILE_TRUE@test-local:
|
||||
@HOST_WIN32_TRUE@test-local:
|
||||
@CROSS_COMPILE_TRUE@clean-local:
|
||||
@HOST_WIN32_TRUE@clean-local:
|
||||
@CROSS_COMPILE_TRUE@test-local:
|
||||
@HOST_WIN32_TRUE@test-local:
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \
|
||||
|
@ -43,7 +43,7 @@
|
||||
* - not be called concurrently (either 2+ initialize or 2+ cleanup, either initialize and cleanup)
|
||||
*/
|
||||
|
||||
typedef gint32 mono_lazy_init_t;
|
||||
typedef volatile gint32 mono_lazy_init_t;
|
||||
|
||||
enum {
|
||||
MONO_LAZY_INIT_STATUS_NOT_INITIALIZED,
|
||||
@ -62,21 +62,63 @@ mono_lazy_initialize (mono_lazy_init_t *lazy_init, void (*initialize) (void))
|
||||
|
||||
status = *lazy_init;
|
||||
|
||||
// This barrier might be redundant with volatile.
|
||||
//
|
||||
// Without either, code in our caller can
|
||||
// read state ahead of the call to mono_lazy_initialize,
|
||||
// and ahead of the call to initialize.
|
||||
//
|
||||
// Recall that barriers come in pairs.
|
||||
// One barrier is in mono_atomic_cas_i32 below..
|
||||
// This is the other.
|
||||
//
|
||||
// A common case of initializing a pointer, that
|
||||
// the reader dereferences, is ok,
|
||||
// on most architectures (not Alpha), due to "data dependency".
|
||||
//
|
||||
// But if the caller is merely reading globals, that initialize writes,
|
||||
// then those reads can run ahead of initialize and be incorrect.
|
||||
//
|
||||
// On-demand initialization is much tricker than generally understood.
|
||||
//
|
||||
// Strongly consider adapting:
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm
|
||||
//
|
||||
// At the very bottom. After making it coop-friendly.
|
||||
//
|
||||
// In particular, it eliminates the barriers from the fast path.
|
||||
// At the cost of a thread local access.
|
||||
//
|
||||
// The thread local access should be "gamed" (forced to initialize
|
||||
// early on platforms that do on-demand initialization), by inserting
|
||||
// an extra use early in runtime initialization. i.e. so it does not
|
||||
// take any locks, and become coop-unfriendly.
|
||||
//
|
||||
mono_memory_read_barrier ();
|
||||
|
||||
if (status >= MONO_LAZY_INIT_STATUS_INITIALIZED)
|
||||
return status == MONO_LAZY_INIT_STATUS_INITIALIZED;
|
||||
|
||||
if (status == MONO_LAZY_INIT_STATUS_INITIALIZING
|
||||
|| mono_atomic_cas_i32 (lazy_init, MONO_LAZY_INIT_STATUS_INITIALIZING, MONO_LAZY_INIT_STATUS_NOT_INITIALIZED)
|
||||
!= MONO_LAZY_INIT_STATUS_NOT_INITIALIZED
|
||||
) {
|
||||
while (*lazy_init == MONO_LAZY_INIT_STATUS_INITIALIZING)
|
||||
mono_thread_info_yield ();
|
||||
mono_thread_info_yield (); // FIXME: This is not coop-friendly.
|
||||
|
||||
g_assert (mono_atomic_load_i32 (lazy_init) >= MONO_LAZY_INIT_STATUS_INITIALIZED);
|
||||
return status == MONO_LAZY_INIT_STATUS_INITIALIZED;
|
||||
|
||||
// This result is transient. Another thread can proceed to cleanup.
|
||||
// Perhaps cleanup should not be attempted, just on-demand initialization.
|
||||
return *lazy_init == MONO_LAZY_INIT_STATUS_INITIALIZED;
|
||||
}
|
||||
|
||||
initialize ();
|
||||
|
||||
mono_atomic_store_release (lazy_init, MONO_LAZY_INIT_STATUS_INITIALIZED);
|
||||
|
||||
// This result is transient. Another thread can proceed to cleanup.
|
||||
// Perhaps cleanup should not be attempted, just on-demand initialization.
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
BIN
po/mcs/de.gmo
BIN
po/mcs/de.gmo
Binary file not shown.
@ -1 +1 @@
|
||||
35858a58c9cca01515d5e56d8c2bdd27b11e3d0e
|
||||
677dc9591de53fcfdbd708940b441191503b3496
|
BIN
po/mcs/es.gmo
BIN
po/mcs/es.gmo
Binary file not shown.
@ -1 +1 @@
|
||||
8247971707c68040471dabc7b3b9fc2dc05fcdb8
|
||||
907ea4e25da95b086f1327c2357ee1e995071bd4
|
BIN
po/mcs/ja.gmo
BIN
po/mcs/ja.gmo
Binary file not shown.
@ -1 +1 @@
|
||||
c3eea70da1a0c2a30b11f370b77d988850744f0c
|
||||
5dc06f534ea570b212a34a0f3d4138248208e5dd
|
@ -6,9 +6,9 @@
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mono 6.0.0.300\n"
|
||||
"Project-Id-Version: mono 6.0.0.302\n"
|
||||
"Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n"
|
||||
"POT-Creation-Date: 2019-06-14 08:08+0000\n"
|
||||
"POT-Creation-Date: 2019-06-15 08:08+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"
|
||||
|
BIN
po/mcs/pt_BR.gmo
BIN
po/mcs/pt_BR.gmo
Binary file not shown.
@ -1 +1 @@
|
||||
d9eee91f60bd1f5c08357637bb98da1529bb8bff
|
||||
7c8080c91e032fa76e5f088eadb2df4d784b29fe
|
Loading…
x
Reference in New Issue
Block a user