Merge branch 'upstream'
Former-commit-id: 963c78a9a1333f91e55354a341314ebca5369123
This commit is contained in:
commit
1cd6741bb7
@ -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
|
||||
|
@ -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
|
||||
|
@ -1 +1 @@
|
||||
472b93a07fd7c07ed8c5b43beb68961486a1f729
|
||||
930a27e684805f373e65684b696c1512bf0f1a15
|
@ -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
|
||||
|
||||
|
@ -1 +1 @@
|
||||
30bc3192fe7c329d0c0e0ce80f458d396d8bbe69
|
||||
b8ba159bbd60b12015a3c0ea74f7436213e62335
|
@ -1 +1 @@
|
||||
1b5c1decda620ceb7c24a9921ab6459634cf4bae
|
||||
612e6f088c12dc8b2912628d2cfa6e5dcbe28a40
|
@ -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@
|
||||
|
@ -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@
|
||||
|
@ -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@
|
||||
|
@ -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@
|
||||
|
@ -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@
|
||||
|
@ -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@
|
||||
|
@ -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@
|
||||
|
@ -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@
|
||||
|
@ -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 -->
|
||||
|
@ -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 -->
|
||||
|
@ -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 />
|
||||
|
@ -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 -->
|
||||
|
@ -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 />
|
||||
|
@ -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
Loading…
x
Reference in New Issue
Block a user