Merge branch 'upstream'

Former-commit-id: 963c78a9a1333f91e55354a341314ebca5369123
This commit is contained in:
Xamarin Public Jenkins (auto-signing) 2019-12-10 18:29:17 +00:00
commit 1cd6741bb7
1043 changed files with 16271 additions and 22080 deletions

View File

@ -21,14 +21,14 @@ endif
if ENABLE_NETCORE
update_submodules =
SUBDIRS = mk llvm mono runtime netcore
SUBDIRS = mk llvm mono runtime netcore netcore/corerun
else
update_submodules = update_submodules
SUBDIRS = $(build_with_msvc) mk po $(libgc_dir) llvm mono $(ikvm_native_dir) support data runtime scripts man samples $(tools_dir) $(build_without_msvc) $(docs_dir) acceptance-tests
endif
# Keep in sync with SUBDIRS
DIST_SUBDIRS = $(build_with_msvc) m4 mk po $(libgc_dir) llvm mono ikvm-native support data runtime scripts man samples tools $(build_without_msvc) docs acceptance-tests netcore
DIST_SUBDIRS = $(build_with_msvc) m4 mk po $(libgc_dir) llvm mono ikvm-native support data runtime scripts man samples tools $(build_without_msvc) docs acceptance-tests netcore netcore/corerun
all: $(update_submodules)
@ -46,9 +46,10 @@ EXTRA_DIST= \
winconfig.h \
code_of_conduct.md \
external \
netcore/Makefile \
mcs/class/referencesource
DISTCHECK_CONFIGURE_FLAGS = EXTERNAL_MCS=false EXTERNAL_RUNTIME=false
DISTCHECK_CONFIGURE_FLAGS = EXTERNAL_RUNTIME=false
# Distribute the 'mcs' tree too
GIT_DIR ?= $(srcdir)/.git

View File

@ -301,6 +301,7 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTERP_CFLAGS = @INTERP_CFLAGS@
INTL = @INTL@
INVARIANT_AOT_OPTIONS = @INVARIANT_AOT_OPTIONS@
JEMALLOC_AUTOCONF_FLAGS = @JEMALLOC_AUTOCONF_FLAGS@
@ -503,10 +504,10 @@ MONOTOUCH_SUBDIRS = $(libgc_dir) mono
@ENABLE_NETCORE_FALSE@update_submodules = update_submodules
@ENABLE_NETCORE_TRUE@update_submodules =
@ENABLE_NETCORE_FALSE@SUBDIRS = $(build_with_msvc) mk po $(libgc_dir) llvm mono $(ikvm_native_dir) support data runtime scripts man samples $(tools_dir) $(build_without_msvc) $(docs_dir) acceptance-tests
@ENABLE_NETCORE_TRUE@SUBDIRS = mk llvm mono runtime netcore
@ENABLE_NETCORE_TRUE@SUBDIRS = mk llvm mono runtime netcore netcore/corerun
# Keep in sync with SUBDIRS
DIST_SUBDIRS = $(build_with_msvc) m4 mk po $(libgc_dir) llvm mono ikvm-native support data runtime scripts man samples tools $(build_without_msvc) docs acceptance-tests netcore
DIST_SUBDIRS = $(build_with_msvc) m4 mk po $(libgc_dir) llvm mono ikvm-native support data runtime scripts man samples tools $(build_without_msvc) docs acceptance-tests netcore netcore/corerun
EXTRA_DIST = \
README.md \
LICENSE \
@ -516,9 +517,10 @@ EXTRA_DIST = \
winconfig.h \
code_of_conduct.md \
external \
netcore/Makefile \
mcs/class/referencesource
DISTCHECK_CONFIGURE_FLAGS = EXTERNAL_MCS=false EXTERNAL_RUNTIME=false
DISTCHECK_CONFIGURE_FLAGS = EXTERNAL_RUNTIME=false
pkgconfigdir = $(libdir)/pkgconfig
noinst_DATA = mono-uninstalled.pc
DISTCLEANFILES = mono-uninstalled.pc

View File

@ -1 +1 @@
472b93a07fd7c07ed8c5b43beb68961486a1f729
930a27e684805f373e65684b696c1512bf0f1a15

View File

@ -620,6 +620,9 @@
/* Have large file support */
#undef HAVE_LARGE_FILE_SUPPORT
/* lchflags */
#undef HAVE_LCHFLAGS
/* Define to 1 if you have the `iconv' library (-liconv). */
#undef HAVE_LIBICONV
@ -975,6 +978,9 @@
/* struct stat.st_birthtimespec */
#undef HAVE_STAT_BIRTHTIME
/* struct stat.st_flags */
#undef HAVE_STAT_FLAGS
/* struct stat.st_atimensec */
#undef HAVE_STAT_NSEC

View File

@ -1 +1 @@
30bc3192fe7c329d0c0e0ce80f458d396d8bbe69
b8ba159bbd60b12015a3c0ea74f7436213e62335

View File

@ -1 +1 @@
1b5c1decda620ceb7c24a9921ab6459634cf4bae
612e6f088c12dc8b2912628d2cfa6e5dcbe28a40

View File

@ -323,6 +323,7 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTERP_CFLAGS = @INTERP_CFLAGS@
INTL = @INTL@
INVARIANT_AOT_OPTIONS = @INVARIANT_AOT_OPTIONS@
JEMALLOC_AUTOCONF_FLAGS = @JEMALLOC_AUTOCONF_FLAGS@

View File

@ -244,6 +244,7 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTERP_CFLAGS = @INTERP_CFLAGS@
INTL = @INTL@
INVARIANT_AOT_OPTIONS = @INVARIANT_AOT_OPTIONS@
JEMALLOC_AUTOCONF_FLAGS = @JEMALLOC_AUTOCONF_FLAGS@

View File

@ -304,6 +304,7 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTERP_CFLAGS = @INTERP_CFLAGS@
INTL = @INTL@
INVARIANT_AOT_OPTIONS = @INVARIANT_AOT_OPTIONS@
JEMALLOC_AUTOCONF_FLAGS = @JEMALLOC_AUTOCONF_FLAGS@

View File

@ -244,6 +244,7 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTERP_CFLAGS = @INTERP_CFLAGS@
INTL = @INTL@
INVARIANT_AOT_OPTIONS = @INVARIANT_AOT_OPTIONS@
JEMALLOC_AUTOCONF_FLAGS = @JEMALLOC_AUTOCONF_FLAGS@

View File

@ -304,6 +304,7 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTERP_CFLAGS = @INTERP_CFLAGS@
INTL = @INTL@
INVARIANT_AOT_OPTIONS = @INVARIANT_AOT_OPTIONS@
JEMALLOC_AUTOCONF_FLAGS = @JEMALLOC_AUTOCONF_FLAGS@

View File

@ -244,6 +244,7 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTERP_CFLAGS = @INTERP_CFLAGS@
INTL = @INTL@
INVARIANT_AOT_OPTIONS = @INVARIANT_AOT_OPTIONS@
JEMALLOC_AUTOCONF_FLAGS = @JEMALLOC_AUTOCONF_FLAGS@

View File

@ -304,6 +304,7 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTERP_CFLAGS = @INTERP_CFLAGS@
INTL = @INTL@
INVARIANT_AOT_OPTIONS = @INVARIANT_AOT_OPTIONS@
JEMALLOC_AUTOCONF_FLAGS = @JEMALLOC_AUTOCONF_FLAGS@

View File

@ -245,6 +245,7 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTERP_CFLAGS = @INTERP_CFLAGS@
INTL = @INTL@
INVARIANT_AOT_OPTIONS = @INVARIANT_AOT_OPTIONS@
JEMALLOC_AUTOCONF_FLAGS = @JEMALLOC_AUTOCONF_FLAGS@

View File

@ -621,6 +621,12 @@ mono_gc_wait_for_bridge_processing (void)
<h3>Write Barriers</h3>
<p />SGen is a concurrent and generational GC, features which require
tracking changes to the state of the heap. This is achieved through
write barriers. Whenever native code is changing the state of the
heap by storing references into another managed object, it needs to
do it using this write barrier API.
</div> <!-- class=mapi -->
<a name="api:mono_gc_wbarrier_arrayref_copy"></a>
@ -632,8 +638,16 @@ mono_gc_wait_for_bridge_processing (void)
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_gc_wbarrier_arrayref_copy</div>
<div class="mapi-prototype">void
mono_gc_wbarrier_arrayref_copy (void* dest_ptr, /*const*/ void* src_ptr, int count)
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>dest_ptr</i></td><td> destination slot address</td></tr><tr><td><i>src_ptr</i></td><td> source slot address</td></tr><tr><td><i>count</i></td><td> number of references to copy</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div>
Copies <i>count</i> references from one array to another, executing a write
barrier if needed.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -647,8 +661,15 @@ mono_gc_wait_for_bridge_processing (void)
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_gc_wbarrier_generic_nostore</div>
<div class="mapi-prototype">void
mono_gc_wbarrier_generic_nostore (void* ptr)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
Executes a write barrier for an address, informing the GC that
the reference stored at that address has been changed.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -667,6 +688,11 @@ mono_gc_wbarrier_generic_store (void* ptr, MonoObject* value)
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>ptr</i></td><td> address of field</td></tr><tr><td><i>obj</i></td><td> object to store</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div>
Stores the <i>value</i> object inside the field represented by <i>ptr</i>,
executing a write barrier if needed.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -680,8 +706,15 @@ mono_gc_wbarrier_generic_store (void* ptr, MonoObject* value)
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_gc_wbarrier_generic_store_atomic</div>
<div class="mapi-prototype">void
mono_gc_wbarrier_generic_store_atomic (void *ptr, MonoObject *value)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
Same as <code>mono_gc_wbarrier_generic_store</code> but performs the store
as an atomic operation with release semantics.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -700,10 +733,11 @@ mono_gc_wbarrier_object_copy (MonoObject* obj, MonoObject *src)
</div>
<p />
<div class="mapi-section">Description</div>
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>obj</i></td><td> destination object</td></tr><tr><td><i>src</i></td><td> source object</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div>
<p />
Write barrier to call when <i>obj</i> is the result of a clone or copy of an object.</div>
Copies contents of <i>src</i> to <i>obj</i>, executing any necessary write
barriers.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -722,6 +756,11 @@ mono_gc_wbarrier_set_arrayref (MonoArray *arr, void* slot_ptr, MonoObject* value
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>arr</i></td><td> array containing the destination slot</td></tr><tr><td><i>slot_ptr</i></td><td> address of slot inside the array</td></tr><tr><td><i>value</i></td><td> reference to the object to be stored</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div>
Stores an object reference inside an array of objects, executing a write
barrier if needed.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -740,5 +779,10 @@ mono_gc_wbarrier_set_field (MonoObject *obj, void* field_ptr, MonoObject* value)
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>obj</i></td><td> object containing the destination field</td></tr><tr><td><i>field_ptr</i></td><td> address of field inside the object</td></tr><tr><td><i>value</i></td><td> reference to the object to be stored</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div>
Stores an object reference inside another object, executing a write barrier
if needed.</div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -959,9 +959,12 @@ mono_array_length (MonoArray *array)
<div>
with elements of size sizeof(type) to the provided <i>value</i>.
<p />
This macro does not attempt to perform type checking or bounds checking.
This macro does not attempt to perform type checking or bounds checking
and it doesn't execute any write barriers.
<p />
Use this to set value types in a <code>MonoArray</code>.</div>
Use this to set value types in a <code>MonoArray</code>. This shouldn't be used if
the copied value types contain references. Use <code>mono_gc_wbarrier_value_copy</code>
instead when also copying references.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->

View File

@ -267,7 +267,7 @@ mono_reflection_free_type_info (MonoTypeNameParse *info)
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">MonoArray*
mono_reflection_get_custom_attrs_blob (MonoReflectionAssembly *assembly, MonoObject *ctor, MonoArray *ctorArgs, MonoArray *properties, MonoArray *propValues, MonoArray *fields, MonoArray* fieldValues)
mono_reflection_get_custom_attrs_blob (MonoReflectionAssembly *assembly, MonoObject *ctor, MonoArray *ctorArgs, MonoArray *properties, MonoArray *propValues, MonoArray *fields, MonoArray* fieldValues)
</div>
<p />

View File

@ -377,6 +377,9 @@ mono_thread_manage (void)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->

View File

@ -740,7 +740,7 @@ mono_runtime_object_init (MonoObject *this_obj)
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">void
mono_runtime_quit ()
mono_runtime_quit (void)
</div>
<p />

View File

@ -109,6 +109,12 @@ typedef struct {
<h3>Write Barriers</h3>
<p>SGen is a concurrent and generational GC, features which require
tracking changes to the state of the heap. This is achieved through
write barriers. Whenever native code is changing the state of the
heap by storing references into another managed object, it needs to
do it using this write barrier API.
<h4><a name="api:mono_gc_wbarrier_arrayref_copy">mono_gc_wbarrier_arrayref_copy</a></h4>
<h4><a name="api:mono_gc_wbarrier_generic_nostore">mono_gc_wbarrier_generic_nostore</a></h4>
<h4><a name="api:mono_gc_wbarrier_generic_store">mono_gc_wbarrier_generic_store</a></h4>

Some files were not shown because too many files have changed in this diff Show More