Zoltan Varga [Fri, 26 Jul 2019 02:58:39 +0000 (22:58 -0400)]
[netcore] Add a missing make dependency.
Commit migrated from https://github.com/mono/mono/commit/
390353d48b802cdec1052bf85c71c538e578403f
Aleksey Kliger (λgeek) [Thu, 25 Jul 2019 21:31:48 +0000 (17:31 -0400)]
[metadata] Fields whose types are gparams with a reference type constraint aren't blittlable. (mono/mono#15761)
* [metadata] Fields whose types are gparams with a reference type constraint
aren't blittlable.
Don't try to layout the field to find out if it's blittable.
For gshared gparams, follow the blittability of the constraint.
Fixes certain recursive examples.
```
using System;
namespace TestRecursiveType
{
class Program
{
static void Main(string[] args)
{
SubClass subC = new SubClass();
Console.WriteLine(subC.GetTest());
}
}
public struct ValueTest<U>
{
// When U is instantiated with T, from BaseClass, we know it'll be a
// reference field, so we know the instantiation ValueTest<T> won't
// be blittable.
public readonly U value;
}
public abstract class BaseClass<T> where T : BaseClass<T>
{
public ValueTest<T> valueTest = default(ValueTest<T>);
}
public class SubClass : BaseClass<SubClass>
{
private String test = "test";
public string GetTest()
{
return test;
}
}
}
```
Fixes https://github.com/mono/mono/issues/15760
---
The failure is happening when we are doing mono_class_setup_fields ("BaseClass<T>") which needs to decide for each field whether it is blittable or not. So therefore we are trying to decide if ValueTest<T> (that is: the ValueTest<U> field inside BaseClass<T>) is blittable or not.
So we instantiate U with T.
Now to decide whether VaueTest<T> is blittable or not, we look at every field.
So then we look at T value.
To decide if T is blittable we first check if it's a reference type.
That check is currently inadequate for generic parameters - what the PR adds is the ability to see if theres a T : class constraint or a T : C constraint - where C is some class. As soon as we know that T's constraint will force it to be a reference type we can definitely say that T won't be blittable without having to initialize C, at all.
Previously, Mono would see that T is some kind of type for which it couldn't definitively decide that it's a reference type and it would call: mono_class_setup_fields (field_class) which would then try to setup the fields of the parent class BaseClass<T>. And that would hit the recursion check.
Commit migrated from https://github.com/mono/mono/commit/
04517d3a3955c5a4a899d88c4af7987b2b277101
Aleksey Kliger (λgeek) [Thu, 25 Jul 2019 15:20:12 +0000 (11:20 -0400)]
[tests] Return non-zero exit code from MERP crash test on failure (mono/mono#15804)
If any of the stress tests fail, return a non-zero exit code from the
supervising process.
Fixes mono/mono#15781
Commit migrated from https://github.com/mono/mono/commit/
090dffb9a09f26dc250d8d09a46819d192290b0b
Jay Krell [Thu, 25 Jul 2019 13:18:20 +0000 (06:18 -0700)]
[jit] [x86] Cleanup "_body" and finish conversion to x86_byte. (mono/mono#15628)
Commit migrated from https://github.com/mono/mono/commit/
ee34e2b1223c461c3d55e6f5a031cdfdaa18cd4a
Jay Krell [Wed, 24 Jul 2019 23:02:46 +0000 (16:02 -0700)]
ld configure: Add another dash to export-dynamic. (mono/mono#15717)
GNU ld accept single or double dash, means the same thing.
AIX ld warns on single dash, errors on double dash, in autoconf, and then errors on single dash later.
We want the double dash so autoconf rejects it on AIX.
Commit migrated from https://github.com/mono/mono/commit/
8cc722683458ab4745bebc3656224014d9927e5c
Filip Navara [Wed, 24 Jul 2019 20:04:57 +0000 (22:04 +0200)]
[netcore] Update CoreFX.issues.rsp (mono/mono#15816)
Remove exclusions fixed by mono/mono#14967
Commit migrated from https://github.com/mono/mono/commit/
30ce79f3f992221b0a7759d0a90f34eda63d623f
Aleksey Kliger (λgeek) [Wed, 24 Jul 2019 16:37:57 +0000 (12:37 -0400)]
[cxx][llvm] Fix C++ build (mono/mono#15807)
* [cxx] Fix LLVMModuleFlags var initialization
* [cxx] Fix C++ errors in mini-llvm.c
Commit migrated from https://github.com/mono/mono/commit/
784b350c40fc966440eab4bb3062b1244d6530df
Jay Krell [Wed, 24 Jul 2019 15:31:26 +0000 (08:31 -0700)]
Remove unneeded auto cast with codeman. (mono/mono#15792)
The uses are all void* or casted.
Commit migrated from https://github.com/mono/mono/commit/
9e78ce94d51b6df7cefd84b139159bda1d125a5e
Vlad Brezae [Wed, 24 Jul 2019 15:17:09 +0000 (18:17 +0300)]
[sre] Don't throw random exception when runtime shuts down (mono/mono#15798)
Added here https://github.com/mono/mono/commit/
89d1455a80ef`
Commit migrated from https://github.com/mono/mono/commit/
4f84f21cbc7e29a1586fe2b5e544a0c055d64185
Alexander Köplinger [Wed, 24 Jul 2019 14:52:37 +0000 (16:52 +0200)]
Remove traces of w32process-win32-internals.h which was deleted by previous commit
Commit migrated from https://github.com/mono/mono/commit/
6dff5fc81321a4fd9dd493e215d4ace543475054
Jay Krell [Wed, 24 Jul 2019 14:50:39 +0000 (07:50 -0700)]
[Coop] Convert System.Diagnostics.{FileVersionInfo,Process}. (mono/mono#15789)
Commit migrated from https://github.com/mono/mono/commit/
f68c52c0891975c5489169830d94443469fa3d45
Vlad Brezae [Tue, 23 Jul 2019 16:03:02 +0000 (19:03 +0300)]
[sre] Make creation of dynamic method synchronized
Before, reflection_create_dynamic_method could end up being called by two threads simultaneously. At the end of the method the ilgen field of the MonoReflectionDynamicMethod object is cleared, to enable its collection since it is no longer needed. The problem with this is that it can confuse the other thread compiling the dynamic method, making it see that there is no body.
We could either bother making this clearing work with multiple threads (and I'm not 100% convinced that the rest of the code is thread safe), disable the clearing of ilgen (which would make us use more memory) or go with the simple approach of locking on this DynamicMethod so only one thread is compiling it at one time.
Commit migrated from https://github.com/mono/mono/commit/
71630cce754551e2f0414d59afb8824e7e0b0cfc
Filip Navara [Wed, 24 Jul 2019 08:05:34 +0000 (10:05 +0200)]
Update CoreFX.issues.rsp
Commit migrated from https://github.com/mono/mono/commit/
24bffd544a724fdfa101c06b9cd12f7af5918185
Egor Bogatov [Wed, 24 Jul 2019 07:50:29 +0000 (10:50 +0300)]
[netcore] Allow different enums as return type in CreateDelega… (mono/mono#15787)
* Relaxed check for return type in CreateDelegate
* fix build errors
Commit migrated from https://github.com/mono/mono/commit/
122494330d635205b0a8766deaeafd0d79bd3d60
Marek Safar [Wed, 24 Jul 2019 06:43:56 +0000 (08:43 +0200)]
[netcore] Update roslyn dependency
Commit migrated from https://github.com/mono/mono/commit/
2a01e1b125c388ebe2a198f808ae7ac4cc4530f2
Aleksey Kliger (λgeek) [Tue, 23 Jul 2019 23:09:27 +0000 (19:09 -0400)]
[netcore] Implement AssemblyLoadContext.InternalLoad (mono/mono#15753)
Fixes https://github.com/mono/mono/issues/14830
Commit migrated from https://github.com/mono/mono/commit/
7467ce4369adecef24a9c65854e7e39228ac9637
Filip Navara [Tue, 23 Jul 2019 22:53:30 +0000 (00:53 +0200)]
[netcore] Bump CoreFX version to 5.0.0 (mono/mono#15795)
* Bump CoreLib version
* Workaround to get dotnet to find dependencies
* Compile CoreLib with nullablePublicOnly
Commit migrated from https://github.com/mono/mono/commit/
1551fa7951f3ae568234feda11f06a56e1cc34c6
Zoltan Varga [Tue, 23 Jul 2019 03:38:47 +0000 (23:38 -0400)]
Avoid creating handles in a loop.
Commit migrated from https://github.com/mono/mono/commit/
69d179cba2cfe386196770264415b8ee4c852b4d
Zoltan Varga [Sun, 21 Jul 2019 21:46:32 +0000 (17:46 -0400)]
[runtime] Convert AssemblyBuilder.basic_init to handles using a gc handle to pin the object.
Commit migrated from https://github.com/mono/mono/commit/
4d1a6358d0e1abc39e8b21986e0a211bd9bec766
Zoltan Varga [Sun, 21 Jul 2019 21:25:25 +0000 (17:25 -0400)]
[runtime] Mark a few icalls as NOHANDLES.
Commit migrated from https://github.com/mono/mono/commit/
063c3ed7f9adc01d6f4cce556e9a0d0de72df70e
Zoltan Varga [Sun, 21 Jul 2019 21:11:31 +0000 (17:11 -0400)]
[runtime] Convert Environment icalls to handles.
Commit migrated from https://github.com/mono/mono/commit/
7b384f710c647617d757b4571332ec3359554f0f
Zoltan Varga [Sun, 21 Jul 2019 19:56:44 +0000 (15:56 -0400)]
Fix the netcore build.
Commit migrated from https://github.com/mono/mono/commit/
fe015de078a72aa3d180297acee63c1395b5e2a5
Zoltan Varga [Sun, 21 Jul 2019 13:22:52 +0000 (09:22 -0400)]
[runtime] Convert ValueType icalls to handles.
Commit migrated from https://github.com/mono/mono/commit/
5ca052fca2fff6f4cb9699c99f35de59319b68c0
Zoltan Varga [Tue, 23 Jul 2019 15:33:20 +0000 (11:33 -0400)]
[runtime] Convert locale code to use handles. (mono/mono#15774)
* [runtime] Convert locale code to use handles.
* Sort a list of defines.
* Remove a do-while.
* Fix c++-ism.
* Use mono_string_handle_to_utf8 (). Update comments.
Commit migrated from https://github.com/mono/mono/commit/
a9404577e62c5f90b99e8273ef1fb6ec9f6edcb4
Aleksey Kliger (λgeek) [Tue, 23 Jul 2019 09:42:51 +0000 (05:42 -0400)]
[cxx][netcore] Fix C++ build (mono/mono#15786)
assembly.c `exact_sn_match` uses bitwise-or on MonoAssemblyNameEqFlags
Commit migrated from https://github.com/mono/mono/commit/
148891b51519371638cb1cffea39d330cbd90e11
Ryan Lucia [Mon, 22 Jul 2019 15:23:26 +0000 (11:23 -0400)]
[netcore] Make assembly name parsing and comparison case-insensitive (mono/mono#15522)
* Re-enable test
* Parse assembly info case-insensitively
* Lowercase the parsed public key token
* Case-insensitive comparison of public key tokens
* Fix string copy
Commit migrated from https://github.com/mono/mono/commit/
beb5553398480fee3543a526fff52633dbde12b1
Jo Shields [Mon, 22 Jul 2019 15:20:47 +0000 (11:20 -0400)]
Fix build on Autoconf 2.63 (mono/mono#15636)
* Fix build on Autoconf 2.63
This was broken in mono/mono@
e7f9dbe73c3344c96a13892a6c4c45f8e5c35aa3, because
AS_VAR_APPEND does not exist until v2.63b (?!)
* Work around autoconf for Mac not being fit for purpose
The correct way to do this is with AC_DEFUN in a special m4 file
But this dies on Mac, because reasons.
See also https://github.com/jedisct1/libsodium/issues/217
Commit migrated from https://github.com/mono/mono/commit/
548fe0e0c18de99350c64ee7f7dd117eb8fb2e0b
Ryan Lucia [Mon, 22 Jul 2019 14:58:12 +0000 (10:58 -0400)]
Miscellaneous loader-related fixes (mono/mono#15765)
* Clarify contents of list
* Fix mono_assembly_get_alc
* Remove pointless ifdef
* Prepend to domain_assemblies
* Revert "Prepend to domain_assemblies"
This reverts commit mono/mono@
dbe6e47b80470fa13d22d97d32721d18c4764597.
* Ditch another ifdef
Commit migrated from https://github.com/mono/mono/commit/
54f608d08dd6163a7c4a7d48c0e3cb74cb2f7bcd
Vlad Brezae [Mon, 22 Jul 2019 14:03:26 +0000 (17:03 +0300)]
[interp] Enable inlining of object constructors (mono/mono#15665)
* [interp] Split code for obj / vt newobj instruction
* [interp] Enable inlining of object constructors
If the ctor was inlined, the newobj instruction receives a max ushort as the data item for the index, so it doesn't execute the ctor in this case. Also, when inlining, we need to push on the stack the allocated object, once as argument for the ctor and the second needs to remain on the stack as the result of the IL newobj instruction.
Commit migrated from https://github.com/mono/mono/commit/
009b0dd4c307f60e2b7d0b7e512fe8cf97ffb34f
Ryan Lucia [Mon, 22 Jul 2019 13:56:48 +0000 (09:56 -0400)]
Special-case arrays of interfaces/generic parameters in IsAssignableFrom (mono/mono#15749)
* Formatting fix
* Special-case arrays of interfaces/generic parameters
* Make more generic, fix typo
* Consider class constraint and add more elucidating comment
* Fix for potential crash
* Add test
* Fix test
Commit migrated from https://github.com/mono/mono/commit/
3c2813deb7720c954554b11344915af803f84138
Alexander Köplinger [Mon, 22 Jul 2019 13:23:09 +0000 (15:23 +0200)]
Add more tests to tarball with EXTRA_DIST
Commit migrated from https://github.com/mono/mono/commit/
f497893a84601c6ae301a841f27db352706baa9e
Aleksey Kliger (λgeek) [Mon, 22 Jul 2019 10:52:17 +0000 (06:52 -0400)]
[netcore] Re-enable AssemblyGetForwardedTypesLoadFailure (mono/mono#15763)
Was fixed by https://github.com/mono/mono/pull/15752
Commit migrated from https://github.com/mono/mono/commit/
4138f096f851c4d52b612123e8048aed5d7d92b5
Maxim Lipnin [Fri, 19 Jul 2019 21:21:22 +0000 (00:21 +0300)]
[netcore] Make System.Linq.Expressions.Tests.BindTests.GlobalField Pass (mono/mono#15658)
`Expression.Bind` should throw `ArgumentException` if called with `FieldInfo` for a global field. The exception is thrown from validation of the (null) `DeclaringType` (see https://github.com/dotnet/corefx/pull/15318).
Mono returns `"<Module>"` in this case and doesn't throw so the test fails.
Fixes mono/mono#14917 .
Commit migrated from https://github.com/mono/mono/commit/
e8d7f7c0045a38c41a70f6d0a21ef3ccf9a21662
Jay Krell [Fri, 19 Jul 2019 18:40:54 +0000 (11:40 -0700)]
Remove mono_arch_free_jit_tls_data. (mono/mono#15662)
Commit migrated from https://github.com/mono/mono/commit/
3e432663cde4283fc7fa7f81b20bc3d0a9333b38
Ryan Lucia [Fri, 19 Jul 2019 17:22:50 +0000 (13:22 -0400)]
[netcore] Implement Thread.CurrentOSThreadId (mono/mono#15748)
* [netcore] Implement Thread.CurrentOSThreadId
* Add comment explaining differences with mono_native_thread_id_get
* Add haiku implementation
* Attempt to fix linux builds
* Add MonoError parameter to icall
Commit migrated from https://github.com/mono/mono/commit/
d685b72cb2c37ab73a8470b074a7557e22ce5b00
Alexander Köplinger [Fri, 19 Jul 2019 13:56:12 +0000 (15:56 +0200)]
[metadata] Fix name of header file
The file added as part of mono/mono@
d5b374bb51a07bf3525d63b4cef6ad6979c27d07 was actually called loaded-images-internals.h
Commit migrated from https://github.com/mono/mono/commit/
3ff64f1efb167d001d61bda64d2f1612d394a0ef
Egor Bogatov [Fri, 19 Jul 2019 12:06:04 +0000 (15:06 +0300)]
[netcore] Fix CI failures (mono/mono#15745)
Commit migrated from https://github.com/mono/mono/commit/
8b2141a741a6348a363a75e91c2a993ec280c1e2
Bernhard Urban [Fri, 19 Jul 2019 11:48:02 +0000 (13:48 +0200)]
[ios] Switch to python offset tool (mono/mono#15744)
The C# version doesn't work on 64bit. It would require to update its dependencies, but Zoltan already added a Python version for WebAssembly which works fine.
Some notes:
* changed the semantics of `--xcode-path` in order to match the output of `xcode-select -p`
* switched to python3/pip3
* removed hack for arm64_32, it works properly now because the Python version uses stock `clang`
* removed some leftover usages of `XCODE32_DIR`.
Manually verified by comparing output with the C# version.
This will unblock the iOS team when building on Catalina/Xcode11, as they can't consume SDK archives there. See https://github.com/xamarin/xamarin-macios/pull/6603#issuecomment-
512803082
Contributes to https://github.com/mono/mono/issues/9621
Commit migrated from https://github.com/mono/mono/commit/
3f7d33ce855dc220873b2e679698f65084dbc336
Aleksey Kliger (λgeek) [Fri, 19 Jul 2019 11:44:07 +0000 (07:44 -0400)]
[netcore] Pass ALC in second loader request in load_reference_by_aname_default_asmctx (mono/mono#15752)
Fixes crash in System.Reflection.Tests netcore testsuite in
System.Reflection.Tests.AssemblyNetCoreAppTests.AssemblyGetForwardedTypesLoadFailure
Commit migrated from https://github.com/mono/mono/commit/
944cc96cac7d68bd528a788f9f87339c6e3b0d88
Vlad Brezae [Fri, 19 Jul 2019 07:21:21 +0000 (10:21 +0300)]
[glib] Use clock_nanosleep if available (mono/mono#15443)
According to the manual, it is recommended to use clock_nanosleep instead of nanosleep when the sleep can be repeatedly interrupted by signals and resumed. The remaining sleep interval was greater than the original timespec.
Fixes random timeouts of finalizer-abort.exe
Commit migrated from https://github.com/mono/mono/commit/
c449308f8bd1c83131b6613711797533504d0c24
Aleksey Kliger (λgeek) [Fri, 19 Jul 2019 04:01:56 +0000 (00:01 -0400)]
[loader] Pass ALC to mono_domain_loaded_internal, and then to domain search hook (mono/mono#15743)
* Add a temporary mono_domain_ambient_alc function
Just use this to mark places where we need to pass through an ALC
* [runtime] Mark mono_assembly_loaded_full external only.
Runtime should use mono_assembly_loaded_internal.
* [loader] Add mono_install_assembly_search_hook_v2
Use it to install mono_domain_assembly_search and
mono_domain_assembly_postload_search.
The principal difference is that we can pass an assembly load context to the
hook. But also we cleanup the "requesting assembly" hack for
mono_domain_assembly_postload_search.
* [domain] Comments and mono_assembly_get_alc ()
* [debugger] Comment on suspicious loader lock
Commit migrated from https://github.com/mono/mono/commit/
a37ad98b470381950c876bb0928cab57fe8156b2
Larry Ewing [Fri, 19 Jul 2019 00:45:02 +0000 (20:45 -0400)]
Merge pull request mono/mono#15704 from lewing/bump-msbuild-nuget-5.2
Bump msbuild to track xplat-master
Commit migrated from https://github.com/mono/mono/commit/
34be988e33ecb66d724b2dabdba761e8d836ed05
Aleksey Kliger (λgeek) [Thu, 18 Jul 2019 20:46:55 +0000 (16:46 -0400)]
[mini] Runtime check if boxing is needed for DIM constrained calls (mono/mono#15729)
This is to handle the following example. The issue is that in Check() we have
a constrained call where the called method is IAdder`1<!!U>::PlusPlus() which
is a default interface method, and we need to determine at runtime whether to
box the this argument.
```
using System;
public interface IAdder<T> {
int Add (int x);
int PlusPlus () {
return Add (1);
}
}
interface IGen3<T> { }
struct Adder<T> : IAdder<IGen3<T>> {
int _field;
public int Add (int x) {
_field = x + _field;
return _field;
}
}
public class P {
public static int Check<T, U>(T t) where T : IAdder<U> {
return t.PlusPlus () + t.PlusPlus ();
}
public static void Main () {
var x = new Adder<object> ();
int y = Check<Adder<object>, IGen3<object>> (x);
Console.WriteLine ("expect 2, got {0}", y);
}
}
```
Commit migrated from https://github.com/mono/mono/commit/
3f55bfb5cc305c1c416edf84fff5440843784deb
imhameed [Thu, 18 Jul 2019 18:16:46 +0000 (11:16 -0700)]
[interp] Use correctly-sized writes and reads in Unsafe.AddByteOffset and Unsafe.ByteOffset (mono/mono#15677)
[interp] Use correctly-sized writes and reads in Unsafe.AddByteOffset and Unsafe.ByteOffset
The truncated store to the top of the stack in`MINT_INTRINS_UNSAFE_BYTE_OFFSET` could cause the upper bytes of the address used as the first argument to `ByteOffset` to linger, yielding inaccurate (and usually excessively large) offsets on systems where `sizeof(void *) > sizeof(guint32)`; this made
`System.Text.Unicode.Utf8Utility.GetPointerToFirstInvalidByte` return nonsense results.
The truncation in `MINT_INTRINS_UNSAFE_ADD_BYTE_OFFSET` hasn't, as far as I know, caused any test failures. But `AddByteOffset` takes an `IntPtr` as its second argument, not an `int`.
Fixes mono/mono#14847.
Commit migrated from https://github.com/mono/mono/commit/
561b400baa6322dcb3fb6d2b92bd48513fab79f7
Maxim Lipnin [Thu, 18 Jul 2019 16:34:10 +0000 (19:34 +0300)]
[netcore] Clean up rsp-file (mono/mono#15700)
Commit migrated from https://github.com/mono/mono/commit/
ab4eca1785672ae9e2aa4930ea45e61a5743aa11
Egor Bogatov [Thu, 18 Jul 2019 16:33:38 +0000 (19:33 +0300)]
[netcore] Revise items in CoreFX.issues.rsp (mono/mono#15664)
Commit migrated from https://github.com/mono/mono/commit/
e6d2091a245cd4ecda087a53d1e0c60923323482
Aleksey Kliger (λgeek) [Wed, 17 Jul 2019 21:35:15 +0000 (17:35 -0400)]
[loader] Add MonoAssemblyLoadContext; stop sharing MonoImages on netcore (mono/mono#15527)
Implement a couple of things:
1. Add a `MonoAssemblyLoadContext` opaque struct
2. On netcore Mono, use it to keep track of which `MonoImage`s are loaded. (Addresses part of mono/mono#13891)
In a bit more detail:
- Add a `MonoLoadedImages` struct to hold the hash tables that we use for checking if a `MonoImage` is already loaded
- Add an opaque `MonoAssemblyLoadContext` typedef
- (Framework Mono) Add a `get_global_loaded_images()` function to get the shared `MonoLoadedImages`
- (netcore Mono) Add a `MonoAssemblyLoadContext` struct that owns a `MonoLoadedImages` and add a `default_alc` member to `MonoDomain
- Pass a `MonoAssemblyLoadContext*` to most `MonoImage`-loading functions - on Framework Mono its usually NULL and we fall back to the global loaded images, on netcore Mono it's usually `domain->default_alc->loaded_images`
- (netcore Mono) Create a default Assembly Load Context when a `MonoDomain` is created
- Add a `MonoAssemblyLoadContext*` field to `MonoAssemblyLoadRequest` and pass an ALC in a few places.
---
Remaining work:
(netcore Mono) There are still places where a `MonoAssemblyLoadRequest` or a `MonoAssemblyOpenRequest` has a `NULL` ALC - those will need to be tracked down and fixed.
(netcore Mono) Eventually `MonoAssemblyLoadContext` should keep track of the loaded `MonoAssembly`s, not just images. One goal on netcore Mono is to ifdef out `MonoDomain:domain_assemblies`.
---
* [loader] Add a MonoLoadedImages struct to own the MonoImage sharing
Initially, there's just a single global set of loaded images.
Once we have AssemblyLoadContext support, each ALC will have a separate set.
NOTE:
- Some of the existing Mono API is difficult to support with this design
since it assumes each MonoImage is loaded at most once.
* [loader] Add a MonoAssemblyLoadContext member to MonoImage for netcore
* [loader] Unregister image from its owner when closing
* [loader] Pass MonoLoadedImages to register_image
* [domain] Add mono_domain_default_alc and mono_alc_get_loaded_images
* [loader] Add an AssemblyLoadContext argument to mono_image_loaded_internal
* [metadata] Add mono_image_get_alc ()
* [loader] Pass MonoAssemblyLoadContext to mono_image_open_from_data_internal
* [loader] Pass MonoAssemblyLoadContext to mono_image_open_from_module_handle
* [loaded] Pass MonoLoadedImages to mono_image_open_a_lot_parameterized
* [loader] Pass MonoAssemblyLoadContext to mono_image_open_a_lot
* [runtime] Mark mono_image_open_full external only
Runtime should use mono_image_open_a_lot.
* [runtime] Mark mono_image_loaded_by_guid external only
Also mark mono_image_loaded_by_guid_full external only
Runtime will need some (as yet unwritten) mechanism that takes a MonoAssemblyLoadContext as an argument.
* [domain] Create a default ALC for each MonoDomain
* [netcore] Pass default ALC in mono_core_preload_hook
If the assembly name matches a trusted platform assembly, open it in the default ALC of the root domain
* [mini] Open main assembly in default ALC in the root domain
* [netcore] Don't define get_global_loaded_images()
Every assembly load request should come from an assembly load context. Each ALC has a set of loaded images. So we should never need a global list.
With this PR, we no longer share MonoImages across distinct ALCs. So in principle, each ALC can open the same assembly but resolve its references in different ways.
Fixes part of https://github.com/mono/mono/issues/13891
* [runtime] Mark mono_pe_file_open external only
* [loader] Pass MonoAssemblyLoadContext to mono_image_open_raw and mono_image_open_metadata_only
* [loader] Pass MonoAssemblyLoadContext to do_mono_image_open and set MonoImage:alc
* [loader] Add version 2 of assembly preload hook
Pass MonoAssemblyLoadContext through the preload hook. This is used in mono_assembly_request_byname_nosearch which, in turn, is called by load_reference_by_aname_default_asmctx which is used to resolve references from one assembly to another.
* [netcore] Pass native ALC ptr to AssemblyLoadContext.InternalLoadFile
* [netcore] Implement AssemblyLoadContext.InternalInitializeNativeALC
also implement mono_domain_create_individual_alc ()
* [netcore] Pass ALC to System.Reflection.Assembly.InternalLoad
Pass the domain default ALC to mono_assembly_load ()
Also pass MonoAssemblyLoadContext to mono_assembly_load_full_gac_base_default ()
* [loader] Implement MONO_LOADED_IMAGES_ASSEMBLY properly
Store the MonoLoadedImages for netmodules in the MonoImage for the main image of an assembly. This is also used by SRE - the dummy module of the AssemblyBuilder has the loaded_images that contains the ModuleBuilders.
* [loader] Use global_loaded_images for netmodules with framework Mono
The new stuff is only for ALC support in netcore
* [loader] Drop netmodule support in MonoAssemblyLoadContext
netmodules are not supported in netcore
* [loader] Spin out image hashing out of image.c
Move MonoLoadedImages support code to loaded-images.c loaded-images-global.c and loaded-images-netcore.c
Also spin out assembly-load-context.c for MonoAssemblyLoadContext functions
* Move ALC icall to assembly-load-context.c
* formatting fix
* [msvc] Add new files to .filters
* update comments
* [image] Change mono_loaded_images_remove_image to decrement the refcount
Decrement the refcount and remove the image from the loaded images hashes in
one place. Change mono_loaded_images_remove_image to return TRUE if the rest
of image unloading should proceed or not.
* [loader] Drop unused argument to mono_alc_init
Commit migrated from https://github.com/mono/mono/commit/
d5b374bb51a07bf3525d63b4cef6ad6979c27d07
Jay Krell [Wed, 17 Jul 2019 19:09:19 +0000 (12:09 -0700)]
Fix leaks in mono_lookup_internal_call_full_with_flags, for lack of destructors. (mono/mono#15659)
* Fix leaks in mono_lookup_internal_call_full_with_flags, for lack of C++ destructors.
* Initialize `sigstart` also.
Commit migrated from https://github.com/mono/mono/commit/
e2ce0a16a61a02511728d217d92156691dc42289
Jay Krell [Wed, 17 Jul 2019 19:07:56 +0000 (12:07 -0700)]
configure/makefile To support updating zlib to 1.2.11. (mono/mono#15697)
Commit migrated from https://github.com/mono/mono/commit/
b08aa719484455c33553ae52394bb48840d653f5
Ryan Lucia [Wed, 17 Jul 2019 18:49:30 +0000 (11:49 -0700)]
Print two bytes at a time in mono_pe_file_map conversion error (mono/mono#15523)
* Print two bytes at a time
* Iterate over gunichar2
Commit migrated from https://github.com/mono/mono/commit/
86e22c4a7fd1477a5d12df3d2495a2c4bbf84ed4
Alexander Köplinger [Wed, 17 Jul 2019 18:48:06 +0000 (20:48 +0200)]
Add com.apple.security.cs.allow-unsigned-executable-memory exception to hardened runtime entitlements (mono/mono#15721)
This avoids the issue from https://github.com/mono/mono/issues/13445 when hardened runtime is enabled.
Commit migrated from https://github.com/mono/mono/commit/
c62473114a9a994676383047104549604230c8e6
Larry Ewing [Wed, 17 Jul 2019 13:09:36 +0000 (09:09 -0400)]
Merge pull request mono/mono#15713 from lewing/sdk-disable-gac
[ios][android] disable gac in ios and android sdk builds
Commit migrated from https://github.com/mono/mono/commit/
36b9e006f324f4291eb0dc97420142339bfc20a8
Filip Navara [Wed, 17 Jul 2019 12:44:50 +0000 (14:44 +0200)]
[netcore] Clear system last error before P/Invoke calls with SetLastError=true (mono/mono#15703)
Fixes mono/mono#15691
Commit migrated from https://github.com/mono/mono/commit/
9af45e09db9c0d9813be46cd89d7c5092ea9600b
Zoltan Varga [Wed, 17 Jul 2019 01:09:39 +0000 (21:09 -0400)]
[runtime] Fix the error message for exceptions created from MonoError. (mono/mono#15705)
Fixes https://github.com/mono/mono/issues/15692.
Commit migrated from https://github.com/mono/mono/commit/
553fee6f03250a981eddf3a0bc9b6fa4f68ecf43
Zoltan Varga [Tue, 16 Jul 2019 21:49:33 +0000 (17:49 -0400)]
[interp] Make the code GC safe on wasm. (mono/mono#15695)
* [interp] Pass the vtable to get_virtual_method () to reduce the number of objrefs being passed around.
* No longer a prototype.
* [interp] Make the code GC safe on wasm.
* Use frame->o only on WASM.
Commit migrated from https://github.com/mono/mono/commit/
978653633b976b65497c931252c6fb8b8724a2a9
Jay Krell [Tue, 16 Jul 2019 20:16:52 +0000 (13:16 -0700)]
Fix use of freed memory. (mono/mono#15660)
Fix use of freed memory.
Move the free later, on the assumption that the free itself doesn't use memory now freed before it.
Found with Valgrind.
Commit migrated from https://github.com/mono/mono/commit/
43f1a268045a1a3746bfd4a610b7b4874599aa38
Aleksey Kliger (λgeek) [Tue, 16 Jul 2019 18:30:16 +0000 (14:30 -0400)]
[netcore] Use the strict loader (mono/mono#15668)
Mono historically was quite lax in how it resolved assembly references - it
would pick the first assembly with a matching simple name. The "strict"
mode (available in framework Mono with `--assembly-loader=strict`) follows the
spec behavior: the version and public key token of the candidate assembly must
match what is requested.
Commit migrated from https://github.com/mono/mono/commit/
d8a679375d706e992d590c3eb90e1c57cb2864e7
Filip Navara [Tue, 16 Jul 2019 18:05:26 +0000 (20:05 +0200)]
[netcore] Ignore public key when matching assemblies (mono/mono#15678)
Related to mono/mono#15669
Commit migrated from https://github.com/mono/mono/commit/
d2f7851c92f697ef96fe402353768f011d465827
Thays Grazia [Mon, 15 Jul 2019 14:58:04 +0000 (11:58 -0300)]
[debugger] Don't list finalizer gc thread if it's not executing managed code (mono/mono#15618)
* The example that reproduces the bug does this:
var thread = vm.GetThreads()[0];
greetingValue = program.InvokeMethod(thread, greeting, new Value[0]) as StringMirror;
But sometimes the Thread[0] was the MainThread of the program and it works, and other times was the GC Finalizer, but when it tries to run something on GC Finalizer thread, the thread is not suspended and throws an exception.
In the fix I removed the Finalizer thread if it's not executing a managed code of the list that is returned when CMD_VM_ALL_THREADS is called.
Fix mono/mono#13311
Commit migrated from https://github.com/mono/mono/commit/
73128453daff8966f1c8eeacb734579971b02218
Jay Krell [Mon, 15 Jul 2019 09:34:54 +0000 (02:34 -0700)]
Fix leak in create_runtime_invoke_info when mono_class_vtable_… (mono/mono#15661)
Commit migrated from https://github.com/mono/mono/commit/
ceb09980f56bcafbe95247f081bf4233c9544e25
Jay Krell [Mon, 15 Jul 2019 09:34:35 +0000 (02:34 -0700)]
Trim mono_mini_arch_lock, mono_mini_arch_unlock, mini_arch_mutex. (mono/mono#15663)
Commit migrated from https://github.com/mono/mono/commit/
6cd6f65f69b35aec860e23e3c2ffcecb29f79791
Bernhard Urban [Sun, 14 Jul 2019 20:15:56 +0000 (22:15 +0200)]
[llvm] avoid FP elimination on iOS/armv7 (mono/mono#15617)
[llvm] avoid FP elimination on iOS/armv7
Instead of
```
push {r4, r5, r6, r7, r10, r11, lr}
```
LLVM will generate
```
push {r4, r5, r6, r7, lr}
add r7, sp, mono/mono#12
push {r9, r10}
```
Seems like this https://github.com/mono/llvm/commit/mono/mono@
a04e9e4a0af16f15ace258e81448b7eeca5ff599 assumes that `-disable-fp-elim` is passed for iOS targets. I wondered why this wouldn't break things for them, but when you run `clang` from Xcode with `-v`, you will discover that its driver passes `-mdisable-fp-elim`.
Together with https://github.com/mono/llvm/pull/48 this fixes crashes with FullAOT+LLVM on iOS 32bit.
Fixes https://github.com/mono/mono/issues/15058
Contributes to https://github.com/mono/mono/issues/9621
Commit migrated from https://github.com/mono/mono/commit/
9a19bdb6e63590875e9ac80496720dd365611754
Aleksey Kliger (λgeek) [Sat, 13 Jul 2019 15:36:37 +0000 (11:36 -0400)]
Add configure flag to disable GAC support; disable GAC in netcore (mono/mono#15681)
* [runtime] Add configure flag to disable GAC support
* [netcore] Disable GAC support
Commit migrated from https://github.com/mono/mono/commit/
70e9f8c5010cbe118f6043ac34e1e556a9e15d25
Larry Ewing [Fri, 12 Jul 2019 23:22:01 +0000 (18:22 -0500)]
Merge pull request mono/mono#10202 from Unity-Technologies/fix-dynamic-method-marshal-info
Don't try to access metadata for dynamic method added to non-dynamic …
Commit migrated from https://github.com/mono/mono/commit/
016a5253bb57c376c9b444387edf22d3facc6ed8
Alexander Köplinger [Fri, 12 Jul 2019 17:46:50 +0000 (19:46 +0200)]
[ci] Upload mac-entitlements.plist to azure when uploading .pkg
So it can be used by the codesigning job.
Commit migrated from https://github.com/mono/mono/commit/
e3d5b23ff96a3742dd8f5592c956c3c1d454c57e
Jo Shields [Fri, 12 Jul 2019 13:29:00 +0000 (09:29 -0400)]
Add hardened runtime testing to Catalina lane (mono/mono#15589)
* Permit DYLD mangling, so p/invokes work from non-system paths
* Add com.apple.security.cs.disable-library-validation
This is required for the .dylibs used in p/invokes to work.
* Use adhoc signing
Commit migrated from https://github.com/mono/mono/commit/
202dca075b5110398a77e659e1bc128e6eda51e5
Jay Krell [Fri, 12 Jul 2019 10:01:35 +0000 (03:01 -0700)]
extern "C" reduction. (mono/mono#15634)
Commit migrated from https://github.com/mono/mono/commit/
81ed8dfaff96bb035ad5cadb19782424e183b3ed
Zoltan Varga [Fri, 12 Jul 2019 05:24:52 +0000 (01:24 -0400)]
[jit] Fix the devirt of EqualityComparer<byte>. (mono/mono#15644)
* [jit] Fix the devirt of EqualityComparer<byte>.
* Add a test.
* Fix the tests.
Commit migrated from https://github.com/mono/mono/commit/
04034032f4c7959d58daf1eaf878ea85a80bc74d
Egor Bogatov [Thu, 11 Jul 2019 19:42:14 +0000 (22:42 +0300)]
[netcore] Do not inline ThrowHelpers, fix SkipFrames handling. (mono/mono#15607)
1) Do not inline ThrowHelpers (e.g. `static void ThrowException() => throw new Exception();`)
2) `get_trace` incorrectly handles `skip` argument
3) fix broken ci (`dl-test-assets.py` is not python2 compatible any more)
Fixes https://github.com/mono/mono/issues/15182
Fixes https://github.com/mono/mono/issues/15188
Commit migrated from https://github.com/mono/mono/commit/
792bfbff913f80a663ab086c71ac5a238e64fffa
Egor Bogatov [Thu, 11 Jul 2019 19:41:12 +0000 (22:41 +0300)]
[netcore] Fix IsAssignableFrom (mono/mono#15641)
Mono used to return `true` for these three cases (see System.Reflection.Tests.TypeTests.IsAssignableFrom tests):
```csharp
using System.Reflection;
using Xunit;
namespace ConsoleApp
{
public static class Program
{
static void Main(string[] args)
{
Assert.False(typeof(TI_Interface1[]).GetTypeInfo().IsAssignableFrom(
typeof(TI_StructWithInterface[]).GetTypeInfo()));
Assert.False(typeof(int?[]).GetTypeInfo().IsAssignableFrom(
typeof(int[]).GetTypeInfo()));
Assert.False(typeof(int[]).GetTypeInfo().IsAssignableFrom(
typeof(int?[]).GetTypeInfo()));
}
}
public interface TI_Interface1 { }
public struct TI_StructWithInterface : TI_Interface1 { }
}
```
Fixes https://github.com/mono/mono/issues/10848
Fixes https://github.com/mono/mono/issues/15080
Unrelated System.Reflection.MetadataLoadContext.Tests tests that don't fail anymore:
Close https://github.com/mono/mono/issues/15351
Close https://github.com/mono/mono/issues/15348
Close https://github.com/mono/mono/issues/15347
Close https://github.com/mono/mono/issues/15346
Close https://github.com/mono/mono/issues/15345
Close https://github.com/mono/mono/issues/15343
Close https://github.com/mono/mono/issues/15342
Close https://github.com/mono/mono/issues/15341
Close https://github.com/mono/mono/issues/15338
Close https://github.com/mono/mono/issues/15337
Close https://github.com/mono/mono/issues/15336
Commit migrated from https://github.com/mono/mono/commit/
972cd6536510d3174e057393b50998c610cb2473
Zebediah Figura [Thu, 11 Jul 2019 18:38:03 +0000 (13:38 -0500)]
[metadata] Respect unmanaged calling conventions in function signatures. (mono/mono#15363)
According to ECMA-335 § II.15.3, calling conventions other than "default" and
"vararg" describe unmanaged methods. Accordingly they should be treated as
pinvokes so that that their calling conventions are respected.
Commit migrated from https://github.com/mono/mono/commit/
2f1b50bfbf9db129d844dad8e45ec248f0c877e4
Calvin Buckley [Thu, 11 Jul 2019 16:42:47 +0000 (13:42 -0300)]
Misc AIX/PASE tweaks (mono/mono#15651)
* Partial enablement of alternate stack for AIX/i
It turns out much like macOS, AIX doesn't like to do mprotect/valloc
for the first thread's guard pages, so skip those. It seems mostly
fine except for one or two crashes causes it to grab the wrong IAR
and deadlock dumping memory. As such, leave the code and configure
script override to disable in place, just change the comment and
add support code.
* Use Qp2getifaddrs on PASE
Not sure if proper way to implement. Reuses getifaddrs code as much
as possible, since it's merely a name change based on the docs, due
to it being namespaced in case AIX gets it or something.
I'm not sure how many of these codepaths still work properly;
one had a questionable order of ifdef.
This will eventually prepare for CoreFX NetworkInterface, so test
it here.
Commit migrated from https://github.com/mono/mono/commit/
41469ee55a6db885c1b46c29c454e503c0965f21
Jay Krell [Thu, 11 Jul 2019 11:39:12 +0000 (04:39 -0700)]
Remove configure cruft -- Interlocked and GetProcessId. (mono/mono#15633)
They are never checked and all relevant systems have all of them.
Commit migrated from https://github.com/mono/mono/commit/
2950bd39e14586c3052baaea59b39ef67f3138b6
Jay Krell [Thu, 11 Jul 2019 11:35:57 +0000 (04:35 -0700)]
Cleanup mono_threads_platform_get_stack_bounds. (mono/mono#15632)
Fix mingw warning unused function __readfsdword.
Commit migrated from https://github.com/mono/mono/commit/
7bdff9065b93319639fc8379a05c91b8ff12bc2e
Thays Grazia [Wed, 10 Jul 2019 21:29:13 +0000 (18:29 -0300)]
[debugger] Add intrinsic for creating a byte array (mono/mono#15591)
Fixes mono/mono#15268
Commit migrated from https://github.com/mono/mono/commit/
4917c086b6f638254cefc6de4fccc700d87db97b
Vlad Brezae [Wed, 10 Jul 2019 17:42:50 +0000 (20:42 +0300)]
[interp] Add JitHelper intrins for enum comparison (mono/mono#15635)
Fixes https://github.com/mono/mono/issues/15596
Commit migrated from https://github.com/mono/mono/commit/
2f2a9bcc373d1ef7566f56bfae91038311313742
Ryan Lucia [Wed, 10 Jul 2019 16:21:56 +0000 (09:21 -0700)]
[netcore] Don't default to mscorlib in Assembly.GetType (mono/mono#15488)
* [netcore] Don't default to mscorlib in Assembly.GetType
* Add argument for whether or not to search mscorlib
* Reorder and rename search_mscorlib argument
* Use gboolean exclusively
Commit migrated from https://github.com/mono/mono/commit/
370e76dfc83616042adde1b2ffd130e25363002e
Jay Krell [Wed, 10 Jul 2019 16:06:51 +0000 (09:06 -0700)]
Remove quadratic behavior from g_strconcat. (mono/mono#15630)
Prefer strlen + memcpy over strcat.
Commit migrated from https://github.com/mono/mono/commit/
7a486d8f438434159e1a7f0f8762a76b2faffeac
Jay Krell [Wed, 10 Jul 2019 08:36:46 +0000 (01:36 -0700)]
Fix warning: unused function get_address_from_sockaddr (mono/mono#15631)
Commit migrated from https://github.com/mono/mono/commit/
58fc782d8641307c6383faebb7cd4a3d219726c9
Jay Krell [Wed, 10 Jul 2019 03:43:13 +0000 (20:43 -0700)]
Provide g_strnlen to replace strnlen for portability to older systems. (mono/mono#15626)
See https://github.com/mistydemeo/tigerbrew/issues/605.
See https://www.gnu.org/software/gnulib/manual/html_node/strnlen.html.
Commit migrated from https://github.com/mono/mono/commit/
77c269721ed2f6b510af94a30be9b43f183f0eb7
Zoltan Varga [Tue, 9 Jul 2019 19:16:46 +0000 (15:16 -0400)]
[interp] Avoid declaring MonoError's in interp_exec_method_full (), it increases the native stack frame size because the optimizer can't seem to figure out live ranges. (mono/mono#15613)
* [interp] Avoid declaring MonoError's in interp_exec_method_full (), it increases the native stack frame size because the optimizer can't seem to figure out live ranges.
* Remove some unused fields from InterpFrame.
Commit migrated from https://github.com/mono/mono/commit/
cba874139d8f59873c8f89531891340fe81788bd
Thays Grazia [Tue, 9 Jul 2019 19:07:46 +0000 (16:07 -0300)]
[debugger] Update client thread frames after SetIP. (mono/mono#15449)
* Fixes mono/mono#13408
PR of draft https://github.com/mono/mono/pull/14667
* Disabling test on Interpreter.
Commit migrated from https://github.com/mono/mono/commit/
d33747a6e3bdb13803ae2dcd7077edd7df094b5b
Zoltan Varga [Tue, 9 Jul 2019 15:40:06 +0000 (11:40 -0400)]
[jit] Add support for valuetype arguments to gsharedvt constrained calls. (mono/mono#15610)
Commit migrated from https://github.com/mono/mono/commit/
2cefbc18df3eade8f2ac3ba94138a8851f24315d
Egor Bogatov [Tue, 9 Jul 2019 11:29:19 +0000 (14:29 +0300)]
[netcore] Fix netcore CI lane (mono/mono#15627)
Commit migrated from https://github.com/mono/mono/commit/
9dc20c9b5faf7e9e80f82007132e25a12d2c5c5e
Zoltan Varga [Tue, 9 Jul 2019 09:44:17 +0000 (05:44 -0400)]
Remove support for llvm36, its not used anymore. (mono/mono#15619)
* Remove support for llvm36, its not used anymore.
* [jit] Remove support for older llvm versions.
Commit migrated from https://github.com/mono/mono/commit/
aeacedfd38fd53c0c351429f5d880477467ec941
Jay Krell [Tue, 9 Jul 2019 09:24:39 +0000 (02:24 -0700)]
[profiler] Fix printf bug -- char* vs. MonoString* (mono/mono#15602)
Gcc warned.
Commit migrated from https://github.com/mono/mono/commit/
5a0bc3cf81eec6f8edb4a5c45b566c71235a765b
Jay Krell [Tue, 9 Jul 2019 09:12:53 +0000 (02:12 -0700)]
[jit] [x86] [amd64] Cleanup with x86_byte() (mono/mono#15600)
Commit migrated from https://github.com/mono/mono/commit/
369f796d8d955f188ba2485b205d60b4cb70ccc6
Jay Krell [Tue, 9 Jul 2019 09:12:15 +0000 (02:12 -0700)]
Access mini_debug_options directly within the runtime. (mono/mono#15594)
We had some inconsistency around accessing mini_debug_options in the runtime (both directly as well as through the function, mini_get_debug_options). This PR makes the access consistent through the runtime.
Commit migrated from https://github.com/mono/mono/commit/
39b52e2da89ec4d118103cfcbd2dd646c31a9eb9
Jay Krell [Tue, 9 Jul 2019 09:09:29 +0000 (02:09 -0700)]
Disable check-seq-points test. (mono/mono#15623)
See https://github.com/mono/mono/pull/15599#issuecomment-
509444313.
See https://github.com/mono/mono/pull/15567.
Alternative to https://github.com/mono/mono/pull/15599 and part https://github.com/mono/mono/pull/15567.
Commit migrated from https://github.com/mono/mono/commit/
135eaa17580b9619f647894c48da55a22c9b945f
Jay Krell [Mon, 8 Jul 2019 17:59:05 +0000 (10:59 -0700)]
runtime.h remove extern "C" and distribute normally instead of extra. (mono/mono#15558)
Commit migrated from https://github.com/mono/mono/commit/
e4bc8790d3e3c6db3022a318bfa20384bd1b9fe3
Johan Lorensson [Mon, 8 Jul 2019 17:50:17 +0000 (19:50 +0200)]
Align native_handle open/close for MonoThreadInfo/MonoInternalThread on Windows. (mono/mono#15482)
* Align native_handle open/close for MonoThreadInfo/MonoInternalThread on Windows.
* Drop assert on DuplicateHandle failure.
* Fix native thread handle gpointer conversion.
Commit migrated from https://github.com/mono/mono/commit/
12c962835ff2d18d0ec46013113bfe56f1fc1157
Zoltan Varga [Mon, 8 Jul 2019 08:36:49 +0000 (04:36 -0400)]
[runtime] Implement mono_verifier_class_is_valid_generic_instantiation () etc. even if the verifier is disabled. (mono/mono#15564)
Fixes https://github.com/mono/mono/issues/15551.
Commit migrated from https://github.com/mono/mono/commit/
cb330378cfc86555e559b0fb0539d27a337ad987
Jay Krell [Mon, 8 Jul 2019 07:44:23 +0000 (00:44 -0700)]
mono_native_tls_get_value that does not change LastError. (mono/mono#15568)
Commit migrated from https://github.com/mono/mono/commit/
f19bc9634364185a0a3628c3e1a6fd3f06ed1a89
Jay Krell [Mon, 8 Jul 2019 07:42:54 +0000 (00:42 -0700)]
Inline GetLastError and SetLastError. (mono/mono#15560)
Commit migrated from https://github.com/mono/mono/commit/
963ba77863303f6a74e8b5bfe6e5c05bbbb19ccb
Egor Bogatov [Sun, 7 Jul 2019 13:11:03 +0000 (16:11 +0300)]
[netcore] Throw ICE for Array.Copy(object[], enum[]) (mono/mono#15585)
* test
* undo rsp changes
* Fix ICollection_NonGeneric_CopyTo_ArrayOfEnumType
* group all "requires precise gc" issues
* Add more gc precise tests (and a flaky one)
Commit migrated from https://github.com/mono/mono/commit/
55cc1d6d8f2d210c1957166ee0c5c8f8177201a2
Ryan Lucia [Sat, 6 Jul 2019 21:34:30 +0000 (17:34 -0400)]
Convert dl-test-assets.py to Python 3 (mono/mono#15524)
Commit migrated from https://github.com/mono/mono/commit/
851dfdb98a2c41427c4f756b2b2f8721ab8e16fc
Jay Krell [Sat, 6 Jul 2019 18:59:27 +0000 (11:59 -0700)]
Cleanup zlib-helper.c allocations -- move integer overflow checks into calloc. (mono/mono#15505)
Commit migrated from https://github.com/mono/mono/commit/
d540aee31f71edb901fe6239f04bb29ee6e3c0d6
Zoltan Varga [Sat, 6 Jul 2019 09:47:47 +0000 (05:47 -0400)]
[jit] Add missing float conv.u8.ovf.un conversion. (mono/mono#13907)
* [jit] Add missing float conv.u8.ovf.un conversion.
* Add support for the float64 bit version as well.
* Fix interpreter support.
Commit migrated from https://github.com/mono/mono/commit/
de5dca22649ae581085863b0935f94eff4483e55
Jay Krell [Fri, 5 Jul 2019 16:05:13 +0000 (09:05 -0700)]
Distribute sgen-dynarray.h via source, not EXTRA_DIST. (mono/mono#15559)
Commit migrated from https://github.com/mono/mono/commit/
1cb8e04331068796bd3c049ce0fd3b59615535f4
Jay Krell [Fri, 5 Jul 2019 16:04:22 +0000 (09:04 -0700)]
Remove extra explicit dist. (mono/mono#15557)
Automake sees through the conditionals.
Commit migrated from https://github.com/mono/mono/commit/
2b7e2d2f34f980c8a03234fe617e011f96df491a