Vlad Brezae [Wed, 3 May 2017 14:11:00 +0000 (17:11 +0300)]
[sgen] Fix accidental triggering of degraded mode
We trigger degraded mode when we are unable to properly build the nursery fragments due to excessive nursery pinning. This is done by initializing degraded_mode at the end of a minor. alloc_degraded is used to do allocation to major heap either as part of mature allocation or as part of degraded mode (when we bump the degraded_mode so we can detect when the next minor should be triggered).
When failing to allocate from the nursery after doing a minor (because the other threads might have already consumed the nursery) we need to do a mature allocation (as a fallback) instead of a degraded mode allocation so we don't uselessly enable the mode.
Zoltan Varga [Wed, 3 May 2017 04:45:59 +0000 (00:45 -0400)]
Mixed mode exception handling (#4777)
* [mixed] Add beginnings of unwinding support for interp->jit transitions by pushing an LMF frame on the stack when exiting interpreted code.
* [runtime] Add a mono_debug_lookup_source_location_by_il () helper function to lookup a source location using an IL offset.
* [mixed] Add support for mixed mode managed stack walks.
* [interp] Generate line number info for interpreted code, using the same MonoDebugMethodJitInfo structure used by the JIT.
* [interp] Pass the clause index to the MINT_ENDFINALLY opcode. Not yet used.
* [interp] Create a MonoJitInfo structure for each interpreted method. Not yet used.
* [interp] Add a mono_interp_set_resume_state () function which can be used to set the frame/ip the interpreter will resume execution from when execution returns to it.
* [mixed] Add support for mixed mode exception handling by extending the normal JIT exception handling code in mini-exceptions.c to handle interpreted frames as well.
* [jit] Add an Unwinder type to reduce the amount of code duplication when unwinding though interpreter frames.
* [interp] Fix the !ENABLE_INTERPRETER build.
* [interp] Disable an assert which is hit even when running without --interpreter.
* Fix a comment.
* [interp] Fix an assertion. Fix/add comments.
Aleksey Kliger (λgeek) [Tue, 2 May 2017 23:01:28 +0000 (19:01 -0400)]
[loader] Add a few Framework Facades assemblies (#4784)
that were previously missing, or mislabeled as ordinary framework assemblies.
Alexis Christoforides [Tue, 2 May 2017 17:10:00 +0000 (13:10 -0400)]
[MacSDK] Add 'csc' (Roslyn compiler) to whitelist
Alexander Köplinger [Sat, 29 Apr 2017 21:43:53 +0000 (23:43 +0200)]
[ci] Output nunit xml if "verify" test step fails
Allows us to better catch this on Jenkins.
Alexander Köplinger [Sat, 29 Apr 2017 21:17:27 +0000 (23:17 +0200)]
[ci] Don't fail when setting GitHub status doesn't work
monojenkins [Sat, 29 Apr 2017 16:35:42 +0000 (18:35 +0200)]
[msvc] Update csproj files (#4776)
Aleksey Kliger (λgeek) [Fri, 28 Apr 2017 21:44:27 +0000 (17:44 -0400)]
Merge pull request #4767 from lambdageek/bug-55681
[sre-save] Handle ConstructorBuilder custom attribute constructors
Aleksey Kliger (λgeek) [Fri, 28 Apr 2017 21:43:50 +0000 (17:43 -0400)]
Merge pull request #4759 from lambdageek/flags-strict-strong-names
Put strict strong name checking behind a configure flag and runtime option
Bernhard Urban [Wed, 26 Apr 2017 15:21:30 +0000 (17:21 +0200)]
[interp] implement MONO_JIT_{AT,DE}TACH, so native2managed wrappers can be handled by the interpreter
Bernhard Urban [Wed, 26 Apr 2017 15:21:28 +0000 (17:21 +0200)]
[interp] implement CEE_MONO_{TLS,ATOMIC_STORE_I4}
so we can execute the alloc wrapper
Bernhard Urban [Wed, 26 Apr 2017 15:21:24 +0000 (17:21 +0200)]
[interp] remove ves_exec_method_with_context_with_ip, othwerwise we end up having to native frames for each managed frame in the debugger
and that's annoying.
Bernhard Urban [Tue, 25 Apr 2017 22:13:38 +0000 (00:13 +0200)]
[tests] print seed
I've seen this test failing on CI with --interpreter, can't reproduce it
though. Next time it would be nice to see the used seed.
Bernhard Urban [Tue, 25 Apr 2017 22:13:38 +0000 (00:13 +0200)]
[interp] enable a couple delegate tests on CI
Bernhard Urban [Tue, 25 Apr 2017 22:13:38 +0000 (00:13 +0200)]
[interp] testcase for static field stuff
Bernhard Urban [Tue, 25 Apr 2017 22:13:38 +0000 (00:13 +0200)]
[interp] resolve MonoClass and MonoClassField from image like we do in mini
Bernhard Urban [Tue, 25 Apr 2017 22:13:38 +0000 (00:13 +0200)]
[interp] resolve right class for valuetype
Bernhard Urban [Tue, 25 Apr 2017 22:13:38 +0000 (00:13 +0200)]
[interp] check for pending exceptions after icall
Bernhard Urban [Tue, 25 Apr 2017 22:13:37 +0000 (00:13 +0200)]
[interp] let JIT handle native2managed wrappers, but hack around dynamic methods
Bernhard Urban [Tue, 25 Apr 2017 22:13:37 +0000 (00:13 +0200)]
[interp] add stelem.u2
Bernhard Urban [Tue, 25 Apr 2017 22:13:37 +0000 (00:13 +0200)]
[interp] move interp_init call so embedders don't have to call it explicitly
Alexander Köplinger [Fri, 28 Apr 2017 18:28:32 +0000 (20:28 +0200)]
[bcl] Add API diff targets (#4406)
With these targets we can generate a snapshot of the current
Mono API in C# source code form.
Whenever we make changes, we can rerun this to ensure we didn't
inadvertently change the public API.
It also outputs a diff in html form that we can show on CI.
monojenkins [Fri, 28 Apr 2017 17:59:53 +0000 (19:59 +0200)]
[msvc] Update csproj files (#4772)
Rodrigo Kumpera [Fri, 28 Apr 2017 16:25:54 +0000 (09:25 -0700)]
Merge pull request #4771 from mono/revert-4765-master
Revert "[jit] Fix memory leak in trampoline info registration."
Rodrigo Kumpera [Fri, 28 Apr 2017 16:25:36 +0000 (09:25 -0700)]
Revert "[jit] Fix memory leak in trampoline info registration."
Rodrigo Kumpera [Fri, 28 Apr 2017 16:24:56 +0000 (09:24 -0700)]
Merge pull request #4765 from vkargov/master
[jit] Fix memory leak in trampoline info registration.
Alexander Köplinger [Fri, 28 Apr 2017 15:00:31 +0000 (17:00 +0200)]
[System.Data] Add InvalidUdtException back
It was accidentally removed in
2729605554a10de4ebc74cc163409792885420af.
Aleksey Kliger [Thu, 27 Apr 2017 21:32:20 +0000 (17:32 -0400)]
[sre-save] Handle ConstructorBuilder custom attribute constructors.
The code expected that a custom attribute was specified as a MonoCMethod and
was calling mono_image_create_token(). However that function expects to be
called from the managed S.R.E.ModuleBuilder:GetToken (MemberInfo) which handles
all the builders in managed code. Consequently mono_image_create_token () was
asserting.
So now we encode the token for a ConstructorBuilder in place.
Aleksey Kliger [Thu, 27 Apr 2017 21:31:30 +0000 (17:31 -0400)]
[sre] Make mono_image_get_methodref_token non-static in sre-internals.h
Dean Ellis [Fri, 28 Apr 2017 11:18:29 +0000 (12:18 +0100)]
[mkbundle] Add support for generating monodroid compatible mkbundle code at runtime (#4728)
monodroid used to build its own version of mkbundle since it
requires slightly different code than the desktop. This
logic was protected in a #if block. Now that monodroid is
trying to make use of the shipped mkbundle rather than use
its own we need to turn this logic on at runtime.
A new parameter has been added
--bundled-header
When this option is passed, the code which skips including
mono/metadata/mono-config.h
will be skipped in favour of defining the required structures
and entry points directly.
Marek Safar [Thu, 27 Apr 2017 22:57:44 +0000 (00:57 +0200)]
[System.Reflection.DispatchProxy] Move to facades to support _._ nugets
Marek Safar [Thu, 27 Apr 2017 22:34:29 +0000 (00:34 +0200)]
[Facades] Update version numbers
Marek Safar [Thu, 27 Apr 2017 21:46:32 +0000 (23:46 +0200)]
[corlib] Add new types
Marek Safar [Thu, 27 Apr 2017 21:46:19 +0000 (23:46 +0200)]
Bump corert
Aleksey Kliger [Thu, 27 Apr 2017 21:49:25 +0000 (17:49 -0400)]
[test] Regression tests for ConstructorBuilder custom attributes
Regression tests for https://bugzilla.xamarin.com/show_bug.cgi?id=55681
Marek Safar [Thu, 27 Apr 2017 07:45:26 +0000 (09:45 +0200)]
Bump corefx
Vladimir Kargov [Wed, 26 Apr 2017 19:56:27 +0000 (12:56 -0700)]
[jit] Fix memory leak in trampoline info registration.
Martin Baulig [Thu, 27 Apr 2017 18:36:41 +0000 (14:36 -0400)]
[System]: Cleanup internal TLS Provider registration. (#4758)
* [System]: Cleanup internal TLS Provider registration.
Merge MonoTlsProviderFactory.Apple.cs and MonoTlsProviderFactory.Droid.cs
into MonoTlsProviderFactory.cs.
Disable the dynamic reflection-load on mobile while still keeping the
registration, so we can use IsSupported() and friends.
* Make it build.
Alexis Christoforides [Thu, 27 Apr 2017 17:06:08 +0000 (13:06 -0400)]
Bump bockbuild
monojenkins [Thu, 27 Apr 2017 16:25:53 +0000 (18:25 +0200)]
[msvc] Update csproj files (#4763)
Alexis Christoforides [Thu, 27 Apr 2017 15:32:24 +0000 (11:32 -0400)]
[MacSDK] Update F# -> 4.1.8
Alexis Christoforides [Thu, 27 Apr 2017 15:17:59 +0000 (11:17 -0400)]
[MacSDK] Use msbuild's install script instead of duplicating it here
Alexis Christoforides [Thu, 27 Apr 2017 15:13:32 +0000 (11:13 -0400)]
[MacSDK] Minor corrections on package's postinstall script
Johan Lorensson [Thu, 27 Apr 2017 12:50:30 +0000 (14:50 +0200)]
Merge pull request #4716 from Unity-Technologies/eglib-msvc-targets
Separate the eglib source and build instructions
Zoltan Varga [Thu, 27 Apr 2017 12:19:46 +0000 (08:19 -0400)]
[simd] Add support for Vector.IsHardwareAccelerated in the System.Numerics.Vectors assembly as well. Fixes #55577. (#4762)
Zoltan Varga [Thu, 27 Apr 2017 08:46:48 +0000 (04:46 -0400)]
[runtime] Add a variant of mono_string_new_wrapper () and use it from marshalling code to avoid asserting when encountering invalid strings. (#4753)
Marek Safar [Thu, 27 Apr 2017 08:23:16 +0000 (10:23 +0200)]
Fixes build
Marek Safar [Tue, 25 Apr 2017 21:07:57 +0000 (23:07 +0200)]
[Facades] Move more asseblies to Facades to support implicit reference for _._ like nugets and ignore version mismatch
Aleksey Kliger [Wed, 26 Apr 2017 23:36:59 +0000 (19:36 -0400)]
[loader] Rename enable-minimal=assembly_remapping to desktop_loader
Use a single DISABLE_DESKTOP_LOADER define instead of
DISABLE_ASSEMBLY_REMAPPING and DISABLE_STRICT_STRONG_NAMES
Aleksey Kliger [Wed, 26 Apr 2017 22:30:20 +0000 (18:30 -0400)]
Revert "[assembly] Add Facades dir to default_path on all runtimes"
This reverts commit
d7e3698dbc06b268c564cd3a41a50902b01012e4.
Aleksey Kliger [Wed, 26 Apr 2017 21:46:54 +0000 (17:46 -0400)]
[runtime] Add --assembly-loader=[strict,legacy] runtime argument
If mono is compiled without DISABLE_STRICT_STRONG_NAMES, but someone passes
--assembly-loader=legacy at runtime, give them the lax strong name
checking behavior (a candidate assembly is good as long as the name is right, but ignoring
the public key token and version).
Aleksey Kliger [Wed, 26 Apr 2017 21:25:15 +0000 (17:25 -0400)]
[loader] --enable-minimal=assembly_remapping implies no strict strong name checking
When strict strong name checking is enabled, Mono will check public key tokens
and versions match between a requested assembly reference and a candidate found
via its usual loading directories.
amend
Martin Baulig [Wed, 26 Apr 2017 22:30:17 +0000 (18:30 -0400)]
[System]: Fix bug #52508 in HttpListener when doing multiple Https request.
Move the call to SslStream.AuthenticateAsServer() into the constructor because
we don't want to call it again when Init() is called from Close().
Martin Baulig [Wed, 26 Apr 2017 21:20:49 +0000 (17:20 -0400)]
Revert changes that I accidentally pushed on top of PR #4756.
Martin Baulig [Wed, 26 Apr 2017 21:15:37 +0000 (17:15 -0400)]
[Mono.Security.Interface]: Improve synergy between `SslStream` and `IMonoSslStream` (#4756)
* [Mono.Security.Interface]: Improve synergy between `MonoTlsProvider`, `SslStream` and `IMonoSslStream`.
* Add `IMonoSslStream.SslStream` property; the `IMonoSslStream` is now only created my the `SslStream`
constructor, so `SslStream` "owns" the `IMonoSslStream`.
* Add internal `MonoTlsProvider.CreateSslStreamInternal()`.
* `SslStream` does not need to implement any additional interfaces; we can do without after
getting rid of the wrapper classes.
* Add internal `SslStream.CreateMonoSslStream(Stream,bool,MonoTlsProvider,MonoTlsSettings)`.
* `MonoTlsProvider.CreateSslStream()` implementations should use this new method.
* Remove ancient obsolete MonoTlsProviderFactory APIs.
* `HttpListener` and `HttpConnection` now use `SslStream` instead of `IMonoSslStream`.
* [System]: Cleanup internal TLS Provider registration.
* Make it build.
Joshua Peterson [Wed, 26 Apr 2017 18:25:53 +0000 (14:25 -0400)]
Define HAVE_STRUCT_SOCKADDR_IN6 on Windows (#4755)
This enables IPv6 support on Windows.
Martin Baulig [Wed, 26 Apr 2017 14:29:36 +0000 (10:29 -0400)]
[Mono.Security.Interface]: Add MonoTlsProviderFactory.GetMonoSslStream(HttpListenerContext). (#4749)
* [System]: Cleanup 'SECURITY_DEP' conditionals in the internal TLS code.
* [System]: Remove 'Mono.Net.Security.IMonoSslStream'; use 'Mono.Security.Interface.IMonoSslStream' instead.
* [System]: Remove 'Mono.Net.Security.IMonoTlsProvider'; use 'Mono.Security.Interface.MonoTlsProvider' instead.
* [System]: Cleanup internal TLS code.
* [Mono.Security]: Add MonoTlsProviderFactory.GetSslStream(HttpListenerContext).
* [System]: `SslStream' should not implement any additional interfaces.
Manuel de la Pena [Mon, 24 Apr 2017 20:46:14 +0000 (22:46 +0200)]
Make changes as per review to make the code more thread safe.
Manuel de la Pena [Mon, 24 Apr 2017 11:22:05 +0000 (13:22 +0200)]
Ensure that when an async read is performed on a response content the
errors are correctly dealt with.
Some network errors in iOS are exposed as Stream errors, specially those
related with the lost of the connection. This patch ensures that if such
an issue happens an exception is raised in the async read task.
Fixes bug https://bugzilla.xamarin.com/show_bug.cgi?id=53792
Aleksey Kliger (λgeek) [Tue, 25 Apr 2017 22:15:50 +0000 (18:15 -0400)]
Merge pull request #4730 from lambdageek/facades-and-bug-580
* Check strong names on a couple more codepaths during assembly loading. Fixes [bugzilla #580](https://bugzilla.xamarin.com/show_bug.cgi?id=580) and [bugzilla #55436](https://bugzilla.xamarin.com/show_bug.cgi?id=55436)
* Add `--apply-bindings=FILE` option. Allows us to specify a configuration file for assembly binding redirections when AOTing.
* Use the above flag when AOTing `System.ReflectionMetadata.dll` to pick up `csc.exe.config`
* Add all the Facades to the `framework_assemblies` list in the runtime. Facade and non-Facade framework assemblies behave differently:
* for Facades, don't do any version remapping, and any version is okay.
* for non-Facades, consult the version map to remap depdending on the --runtime used.
Andi McClure [Tue, 25 Apr 2017 20:52:46 +0000 (16:52 -0400)]
Merge pull request #4745 from xmcclure/ipv6-cleanup
Fix some style issues introduced by PR#4720
Aleksey Kliger [Tue, 25 Apr 2017 19:24:33 +0000 (15:24 -0400)]
[man] Document --apply-bindings=FILE option
Aleksey Kliger [Mon, 24 Apr 2017 17:48:38 +0000 (13:48 -0400)]
[assembly] Add Facades dir to default_path on all runtimes
Previous it was just the desktop runtime, but now that we have special handling
for framework facade assemblies in the loader, we should do it on other
runtimes, too.
Aleksey Kliger [Fri, 21 Apr 2017 20:10:04 +0000 (16:10 -0400)]
[roslyn] Pass --apply-bindings=$(csc_exe).config when AOT-ing System.Reflection.Metadata
To pick up assembly binding redirections from csc.exe.config
Aleksey Kliger [Fri, 21 Apr 2017 20:09:32 +0000 (16:09 -0400)]
[assembly] Add Facades to framework_assemblies list
Aleksey Kliger [Fri, 21 Apr 2017 20:07:04 +0000 (16:07 -0400)]
[assembly] When loading framework facade assemblies, any version is ok in mono_assembly_candidate_predicate_sn_same_name
As long as the name and public key token matches.
This is different from the non-facade framework assemblies for which the
name and version must match but the public key token is ignored.
Aleksey Kliger [Fri, 21 Apr 2017 20:06:23 +0000 (16:06 -0400)]
[assembly] add ANAME_EQ_IGNORE_VERSION flag to assembly_names_equal_flags()
Aleksey Kliger [Fri, 21 Apr 2017 20:04:34 +0000 (16:04 -0400)]
[aot] Add --apply-bindings=FILE option
Apply bindings from configuration file FILE when running the AOT compiler.
This is useful if you need to AOT a module bar.dll that is loaded when the main
assembly foo.exe has a configuration file foo.exe.config that specifies
assembly bindings that bar.dll should respect.
Aleksey Kliger [Tue, 25 Apr 2017 18:03:03 +0000 (14:03 -0400)]
[domain] Factor out mono_domain_parse_assembly_bindings
Move to a separate function the code that parses assembly bindings from a configuration file.
monojenkins [Tue, 25 Apr 2017 16:18:02 +0000 (16:18 +0000)]
[msvc] Update csproj files
Marek Safar [Tue, 25 Apr 2017 16:00:41 +0000 (18:00 +0200)]
Remove unused facade
Josh Peterson [Tue, 25 Apr 2017 15:58:23 +0000 (11:58 -0400)]
Make the filters file match the targets files
* Create one filters file for each targets file
* Import each filters file into the project-level filters file
* Add folders for Common, Win32, and Posix targets files
Aleksey Kliger [Thu, 13 Apr 2017 18:40:34 +0000 (14:40 -0400)]
[loader] Pass sn_same_name predicate when loading from basedir and from default_path, too.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=580
Marek Safar [Tue, 25 Apr 2017 11:41:01 +0000 (13:41 +0200)]
[System.Diagnostics.Tracing] Don't generate empty debyg symbols
Marek Safar [Tue, 25 Apr 2017 11:40:28 +0000 (13:40 +0200)]
[System.Data.Common] Add IDbColumnSchemaGenerator
Marek Safar [Tue, 25 Apr 2017 11:33:29 +0000 (13:33 +0200)]
[Facades] Don't build debug symbols for System.Net.Sockets
Andi McClure [Tue, 25 Apr 2017 14:31:07 +0000 (10:31 -0400)]
Fix some style issues introduced by PR#4720
Existing code in this file mixing ifdefs with if {} else {} places the ifdef after the } but before the else.
Andi McClure [Tue, 25 Apr 2017 14:20:18 +0000 (10:20 -0400)]
Merge pull request #4720 from Unity-Technologies/config-checks-ipv6
Add autoconf checks for platforms without IPv6
Joshua Peterson [Tue, 25 Apr 2017 13:28:15 +0000 (09:28 -0400)]
Merge branch 'master' into config-checks-ipv6
Zoltan Varga [Tue, 25 Apr 2017 09:10:08 +0000 (05:10 -0400)]
[jit] Remove some debug spew.
Marek Safar [Mon, 24 Apr 2017 14:46:13 +0000 (16:46 +0200)]
Bump corefx
Zoltan Varga [Mon, 24 Apr 2017 23:13:04 +0000 (19:13 -0400)]
[runtime] Add explicit (float) casts to test_0_float_precision () to make the test work when compiled with csc /O.
Andi McClure [Mon, 24 Apr 2017 20:23:52 +0000 (16:23 -0400)]
Merge pull request #4710 from Unity-Technologies/additional-config-checks
Add #ifdef checks for code that might not exist
Marek Safar [Mon, 24 Apr 2017 13:05:01 +0000 (15:05 +0200)]
[build] Fixes setup for libraries without sources
monojenkins [Mon, 24 Apr 2017 16:31:11 +0000 (18:31 +0200)]
[msvc] Update csproj files (#4740)
Zoltan Varga [Mon, 24 Apr 2017 16:21:27 +0000 (12:21 -0400)]
[cil-stripper] Mark stripped methods as noinline to prevent the JIT from trying to inline them. Fixes #55041. (#4732)
Vlad Brezae [Mon, 24 Apr 2017 15:37:00 +0000 (18:37 +0300)]
Merge pull request #4727 from BrzVlad/fix-xamarin-studio
[metadata] Fix special static field access
Alexander Köplinger [Mon, 24 Apr 2017 14:24:49 +0000 (16:24 +0200)]
[Facades] Use Open.snk for netstandard.dll
We were using the wrong key since dotnet/standard switched to using the new Open key.
Josh Peterson [Tue, 18 Apr 2017 18:17:10 +0000 (14:17 -0400)]
Separate the eglib source and build instructions
This change extracts the eglib source files from the build instuctions
for builds via MSVC on Windows. It also separates the source files into
platform-specific and common .targets files. This provides more
flexibility for builds from MSVC in a few important ways:
1. We can do MSVC-based builds for platforms that will not be pushed to
public repos by checking out the Mono code externally and importing the
.targets files into a custom .vcxproj for the platform.
2. We can replace the platform specific .targets files with a custom set
of source files to implement a different platform abstraction layer
that will not be public without the need to merge changes to the
.vcxproj from the public repo.
This allows for ease of synchronizing changes to the public Mono
repo with private forks, while _not_ changing the behavior of the code
in the public repo.
Marek Safar [Fri, 21 Apr 2017 12:08:22 +0000 (14:08 +0200)]
[System] UriBuilder from corefx
Marek Safar [Mon, 24 Apr 2017 07:29:01 +0000 (09:29 +0200)]
Bump Roslyn to 2.1
Rodrigo Kumpera [Mon, 24 Apr 2017 08:20:20 +0000 (01:20 -0700)]
[corlib] Use AppContextSwitches implementation from RS. Fixes #54448 (#4682)
Zoltan Varga [Sun, 23 Apr 2017 23:16:49 +0000 (19:16 -0400)]
Make the loading of llvm EH info async safe. (#4725)
* [aot] Emit class references in EH info in such as way that they can be skipped when reading them in async context.
* [aot] Rewrite the LLVM EH info loading code by moving allocations to callers so the lower level code is async safe.
* [aot] Make the memory allocation in the loading of llvm EH info async safe. Remove fields from MonoLLVMFDEInfo which are passed as parameters.
* [runtime] Add the ability to store the unwind info address/length in the MonoJitInfo structure instead of referencing it using the 'unwind_info' field.
* [aot] Make the loading of llvm EH information async safe.
Marek Safar [Sat, 22 Apr 2017 08:25:38 +0000 (10:25 +0200)]
[mdoc] Integrate api-doc-tools version
Zoltan Varga [Sat, 22 Apr 2017 23:06:36 +0000 (19:06 -0400)]
[runtime] Disable some tests in full-aot mode which cannot be AOTed because of type loading errors.
Vlad Brezae [Thu, 20 Apr 2017 12:01:30 +0000 (15:01 +0300)]
[metadata] Lock around special static fields hash access
If a type is loaded in another thread, the fields hash can get resized, leading to failure.
Vlad Brezae [Thu, 20 Apr 2017 11:22:41 +0000 (14:22 +0300)]
[amd64] Make inline function in header static
This was actually failing the osx build for me, probably due to symbol conflicts.
Vlad Brezae [Thu, 20 Apr 2017 11:19:47 +0000 (14:19 +0300)]
[metadata] Don't use static_data_array
Memory allocated with mono_gc_alloc_fixed is uncollectable both on sgen and boehm. This array serves no other purpose. It should probably be killed entirely, but it's part of the API.
Rodrigo Kumpera [Fri, 21 Apr 2017 21:03:35 +0000 (17:03 -0400)]
Merge pull request #4701 from kumpera/jit_improvements
[JIT] Last two optimizations to Roslyn.
Aleksey Kliger (λgeek) [Fri, 21 Apr 2017 20:26:39 +0000 (16:26 -0400)]
Merge pull request #4723 from lambdageek/bug-54485
[metadata] expand uninstantiated generic type definitions used as generic type args