Johan Lorensson [Fri, 8 Jul 2016 06:24:04 +0000 (08:24 +0200)]
Merge pull request #3247 from lateralusX/jlorenss/win-x64-lmf-exception
Fix crash in mono mini exceptions.exe regression test on win x64.
Zoltan Varga [Fri, 8 Jul 2016 03:42:26 +0000 (23:42 -0400)]
[llvmonly] Fix support for synchronized methods.
Zoltan Varga [Fri, 8 Jul 2016 02:26:51 +0000 (22:26 -0400)]
[runtime] Remove the 'The wrapper info for the wrapper is a WrapperInfo structure.' comments, this is now true for all wrappers.
Zoltan Varga [Fri, 8 Jul 2016 00:06:58 +0000 (20:06 -0400)]
[jit] Emit memory barriers for volatile STFLD opcodes. Fixes #42413.
Zoltan Varga [Thu, 7 Jul 2016 22:59:16 +0000 (18:59 -0400)]
[aot] Fix the llc flags when using hardfp on arm.
Zoltan Varga [Thu, 7 Jul 2016 22:57:55 +0000 (18:57 -0400)]
[aot] Allow the loading of llvm compiled code into a non-llvm runtime on arm and vice versa, the restriction is not needed any more.
Rodrigo Kumpera [Thu, 7 Jul 2016 21:09:30 +0000 (17:09 -0400)]
Merge pull request #3250 from jbevain/cli-flags
Fix definition and handling of the Preferred32bit CLI flag in the verifier
Jb Evain [Thu, 7 Jul 2016 20:07:58 +0000 (13:07 -0700)]
[runtime] Fix the CLI_FLAGS_PREFERRED32BIT value
Jb Evain [Thu, 7 Jul 2016 20:06:08 +0000 (13:06 -0700)]
[runtime] Fix the CLI Header flags check
Bennjamin Blast [Thu, 7 Jul 2016 18:47:33 +0000 (14:47 -0400)]
Modify the configuration loader so that (#2758)
- A single dll can be mapped to different targets based on function name.
- The dllentry target can be omitted if it is the same as the source.
This change is released under the MIT license.
alenl2 [Thu, 7 Jul 2016 18:19:22 +0000 (20:19 +0200)]
Fixed stack overflow issue in DuplexClientRuntimeChannel (#2172)
lateralusX [Thu, 7 Jul 2016 15:24:49 +0000 (17:24 +0200)]
Fix crash in mono mini exceptions.exe regression test on win x64.
Exceptions.exe regression test started to fail on win x64 release builds.
Turns out that the Visual Studio C compiler picked a different optimization
for release builds (due to a change of library type that uses a different default optimization level)
using RSI register in native code calling into JIT:ed code. If the JIT:ed code used reflection
and exceptions, that triggers InternalInvoke and lmf_filter, the code only
stored System V x64 non-volatile registers in the unwind information. On Windows,
RSI is also a non-volatile register (RDI as well) that needs to be preserved and
since the code didn’t include those in the unwind information, the correct RSI value
was not restored during the unwind. Once the control was handled back to the native
code it dereferenced RSI (that was set to 0) and crashed.
The fix is to make sure we store all non-volatile registers on x64 Windows
when we save an lmf so the unwind code can restore them when unwinding through
the lmf.
Marek Safar [Thu, 7 Jul 2016 12:25:59 +0000 (14:25 +0200)]
Merge pull request #3244 from henricm/fix-for-synchronization-attribute
Fix for lock release in SynchronizationAttribute
Zoltan Varga [Thu, 7 Jul 2016 08:41:54 +0000 (04:41 -0400)]
[llvm] Enable atomic load/store support when using llvm
Zoltan Varga [Thu, 7 Jul 2016 07:23:21 +0000 (03:23 -0400)]
[llvm] Use a custom memory managed for llvm master too, the default one allocates everything into a separate memory page.
Henric Müller [Wed, 6 Jul 2016 14:28:58 +0000 (16:28 +0200)]
Fix for lock release in SynchronizationAttribute
* Making sure ownerThread is not nulled unless lockCount is zero.
* Fixed so Locked property checks lockCount when determining if locked
instead of _locked field which was never set.
* Added test for setting Locked property.
* Added test capturing the original issue.
Zoltan Varga [Thu, 7 Jul 2016 04:55:33 +0000 (00:55 -0400)]
[llvm] Fix some problems when using llvm Check the base pointer for null instead of the derived one in load/store opcodes. Avoid trying to name parameters representing empty structs, they have no llvm parameter. Avoid trying to patch calls from llvm code, they are made indirectly.
Andi McClure [Wed, 6 Jul 2016 21:26:45 +0000 (17:26 -0400)]
Merge pull request #3239 from xmcclure/default-tarjan
Switch Android GC bridge default from new-bridge to tarjan-bridge
Marek Safar [Wed, 6 Jul 2016 19:35:02 +0000 (21:35 +0200)]
Merge pull request #3243 from mono/netstandard
[Facades] netstandard 1.6 updates
Alexander Köplinger [Wed, 6 Jul 2016 19:32:10 +0000 (21:32 +0200)]
[System] Bump timeout in TimerTest a bit
I saw this failing occasionally on iOS on Wrench:
```
[FAIL] TimerTest.AutoResetEventFalseStopsFiringElapsed : #2 wrong elapsedCount
Expected: 1
But was: 0
at MonoTests.System.Timers.TimerTest.AutoResetEventFalseStopsFiringElapsed () [0x00091] in /Users/builder/data/lanes/1411/
b07703ed/source/xamarin-macios/external/mono/mcs/class/System/Test/System.Timers/TimerTest.cs:327
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /Users/builder/data/lanes/1411/
b07703ed/source/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:309
```
Marek Safar [Tue, 5 Jul 2016 22:51:46 +0000 (00:51 +0200)]
[Facades] netstandard 1.6 updates
Zoltan Varga [Wed, 6 Jul 2016 07:35:56 +0000 (03:35 -0400)]
[llvm] Fix JIT support with llvm master.
Johan Lorensson [Wed, 6 Jul 2016 04:32:08 +0000 (06:32 +0200)]
Multiple fixes for Windows x86 p/invoke test failures. (#3186)
* Fix for non GCC win x86 calling convention when passing empty structs over pinvoke.
Port of https://github.com/mono/mono/pull/3085 to Winwdows x86 fixing failures
in pinvoke2 tests:
test_0_marshal_empty_struct
* Fix for incorrect implementation of small struct (single float/double) on Windows x86.
Failure in pinvoke3 test_0_marshal_small_struct_delegate9 is caused by incorrect
implemented small struct ABI on Windows x86.
Windows x86 ABI for returning structs of size 4 or 8 bytes (regardless of type)
dictates that values are passed in EDX:EAX register pairs,
https://msdn.microsoft.com/en-us/library/984x0h58.aspx.
This is different compared to for example float or double return types
(not in struct) that will be returned in ST(0),
https://msdn.microsoft.com/en-us/library/ha59cbfz.aspx.
Fix disables the alternative to do special handling of structs with 1 float or double
and make sure same logic is always applied to all small structs regardless type
as dictated by Windows x86 ABI.
* mono_test_marshal_delegate_ref_delegate uses incorrect calling convention.
mono_test_marshal_delegate_ref_delegate called by pinvoke3::test_55_marshal_delegate_ref_delegate
uses incorrect calling convention. Mono assumes delegates to be stdcall but
current definitions will be cdecl, this will cause an incorrect stack pointer
on architectures where cdecl and stdcall are different (Windows x86). Test fails
with "corrupt" stack pointer on Windows x86.
* Smaller adjustment based on feedback.
* Changed boolean struct member to bit field (on both x86 and x64)
* Changed compare code style from 0 == x to x == 0 to comply with coding standard.
Johan Lorensson [Wed, 6 Jul 2016 04:28:02 +0000 (06:28 +0200)]
Added support to build mono runtime as a static library. (#3231)
libmono will use static library when building its dynamic library. This gives
the option to build binaries that could link the static version of mono runtime
or use the dynamic version of the same library. The default build binaries still
link against the dynamic version of the runtime.
Zoltan Varga [Wed, 6 Jul 2016 04:19:45 +0000 (00:19 -0400)]
[llvm] Fix aot when using llvm master.
Alexander Köplinger [Wed, 6 Jul 2016 00:08:26 +0000 (02:08 +0200)]
Merge pull request #3242 from alexanderkyte/fix_docs
[runtime] Remove extraneous fi in docs build printing
Alexander Kyte [Wed, 6 Jul 2016 00:07:39 +0000 (20:07 -0400)]
[runtime] Remove extraneous fi in docs build printing
Alexander Köplinger [Tue, 5 Jul 2016 22:12:21 +0000 (00:12 +0200)]
Merge pull request #3091 from alexanderkyte/mobile_static_fix_mcs_tests
[mobile_static] Allow mcs/class tests to run to completion
Zoltan Varga [Tue, 5 Jul 2016 20:30:21 +0000 (16:30 -0400)]
[bcl] Fix a random failure in a DataView test which happened because DataViewListener keeps a weak reference on the DataView and stops raising events if the view is GCd. Fixes #41035.
Andi McClure [Tue, 5 Jul 2016 17:11:36 +0000 (13:11 -0400)]
Switch Android GC bridge default from new-bridge to tarjan-bridge
Alexander Kyte [Fri, 24 Jun 2016 21:58:45 +0000 (17:58 -0400)]
[mobile_static] Skip aot-ing ilasm
Alexander Köplinger [Tue, 5 Jul 2016 14:27:14 +0000 (16:27 +0200)]
Merge pull request #3236 from kumpera/coreclr-testsuite-fixes-2
Reduce coreclr test failures by 10. A bunch of fixes and a bunch of disables.
Aleksey Kliger (λgeek) [Tue, 5 Jul 2016 14:21:55 +0000 (10:21 -0400)]
[profiler] Actually link against libmono where necessary (#3232)
Previously $(LIBMONO) was empty and bitcode targets (which set
-no-undefined) had linker errors.
Marcos Henrich [Tue, 5 Jul 2016 10:31:14 +0000 (11:31 +0100)]
Merge pull request #3226 from esdrubal/soap_headers_fix
[System.Web.Services] Fixes bad XmlMapping.Key.
Marcos Henrich [Tue, 5 Jul 2016 09:46:03 +0000 (10:46 +0100)]
Merge pull request #3210 from esdrubal/connectasyncUHE
[System] Fixes ConnectAsync UnhandledEx
Rodrigo Kumpera [Mon, 4 Jul 2016 19:46:33 +0000 (15:46 -0400)]
Merge pull request #2958 from kumpera/visibility
Fix a visibility check bug
Rodrigo Kumpera [Mon, 4 Jul 2016 19:14:23 +0000 (15:14 -0400)]
[jit] Set vret_var when emiting a jmp call.
Rodrigo Kumpera [Mon, 4 Jul 2016 18:08:54 +0000 (14:08 -0400)]
[coreclr-tests] Disable a test that fails verification.
Rodrigo Kumpera [Mon, 4 Jul 2016 14:27:37 +0000 (10:27 -0400)]
[coreclr-tests] Disable another broken test.
Rodrigo Kumpera [Mon, 4 Jul 2016 14:24:07 +0000 (10:24 -0400)]
[coreclr-tests] Disable another broken test.
Marek Safar [Mon, 4 Jul 2016 13:01:00 +0000 (15:01 +0200)]
[mcs] More tweaks in betterness improvements. Fixes #42057
João Matos [Mon, 4 Jul 2016 11:10:51 +0000 (12:10 +0100)]
Merge pull request #3234 from tritao/zip_non_seekable_streams
[System.IO.Compression] Fixes ZipArchive to support non-seekable streams
Marek Safar [Mon, 4 Jul 2016 10:39:42 +0000 (12:39 +0200)]
[System.Numerics.Vectors] Update type forwarders
Marek Safar [Mon, 4 Jul 2016 09:23:23 +0000 (11:23 +0200)]
[System.Numerics] Update .net 4.6 api
Alexander Kyte [Wed, 15 Jun 2016 22:33:58 +0000 (18:33 -0400)]
[mobile_static] Use make parallelism to aot compile .dlls in parallel
Alexander Kyte [Tue, 7 Jun 2016 23:10:14 +0000 (19:10 -0400)]
[mobile_static] Use MonoPInvokeCallbackAttribute on MobileStatic
Alexander Kyte [Fri, 3 Jun 2016 18:30:50 +0000 (14:30 -0400)]
[mobile_static] Make Mono.CSharp excludes for tests that require compilation
Alexander Kyte [Fri, 3 Jun 2016 17:57:35 +0000 (13:57 -0400)]
[mobile_static] Blacklist app domain creation test
Alexander Kyte [Thu, 2 Jun 2016 23:32:36 +0000 (19:32 -0400)]
[mobile_static] Remove some duplicated excludes
Alexander Kyte [Mon, 23 May 2016 23:17:14 +0000 (19:17 -0400)]
[mobile_static] Fix misformatted excludes, tests excluded due to lack of System.Configuration
Alexander Kyte [Mon, 23 May 2016 22:48:41 +0000 (18:48 -0400)]
[mobile_static] Tracked down unpassable ServiceModel tests, blacklisted
Alexander Kyte [Mon, 23 May 2016 22:47:37 +0000 (18:47 -0400)]
[mobile_static] Add MOBILE_STATIC to preprocessor guard
Alexander Kyte [Mon, 23 May 2016 22:46:59 +0000 (18:46 -0400)]
[mobile_static] Blacklisted unpassable tests for System
Alexander Kyte [Mon, 23 May 2016 22:44:38 +0000 (18:44 -0400)]
[mobile_static] Fix System.Runtime.Serialization tests with preprocessor
usage
Alexander Kyte [Mon, 23 May 2016 22:42:25 +0000 (18:42 -0400)]
[mobile_static] Fix libraries provided when building System
Alexander Kyte [Mon, 23 May 2016 17:11:14 +0000 (13:11 -0400)]
[runtime] Add System.Data app config.
Alexander Kyte [Sun, 3 Jul 2016 00:26:04 +0000 (20:26 -0400)]
[runtime] Implement TLS_OP_GET_REG on linux (#3227)
Zoltan Varga [Sun, 3 Jul 2016 00:25:06 +0000 (20:25 -0400)]
[runtime] Abort the finalizer thread first instead of stopping it, to allow an orderly shutdown and to avoid hitting the 'finalizer_thread_exited' assert. Hopefully fixes #41833. (#3233)
João Matos [Sat, 2 Jul 2016 01:02:25 +0000 (02:02 +0100)]
[System.IO.Compression] Fixes ZipArchive to support non-seekable streams.
This is the same behavior as documented on MSDN.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=30686.
Rodrigo Kumpera [Tue, 8 Mar 2016 14:27:42 +0000 (09:27 -0500)]
[jit] Add fixme to AA.
Rodrigo Kumpera [Mon, 7 Mar 2016 06:46:30 +0000 (01:46 -0500)]
[mini] Ensure that an endfinally outside of a finally block fails to JIT.
Rodrigo Kumpera [Fri, 4 Mar 2016 06:40:33 +0000 (01:40 -0500)]
[ilasm] Side with parent declaration when deciding if a type is an enum or a value type.
The conflict happens when a type is declared like this:
.class value private auto ansi serializable sealed foo extends [mscorlib]System.Enum
The value keyword would make it a value type and ignore the parent declaration.
.net ilasm favors the later, which makes more sense.
Rodrigo Kumpera [Fri, 4 Mar 2016 06:25:10 +0000 (01:25 -0500)]
[jit] Remove silly debug spew.
Rodrigo Kumpera [Sat, 2 Jul 2016 00:07:37 +0000 (20:07 -0400)]
[coreclr-tests] Disable another test that depends on array size limits on .net.
Rodrigo Kumpera [Fri, 4 Mar 2016 05:27:47 +0000 (00:27 -0500)]
[amd64] The prolog stack probe code sequence is 11 bytes each chunk and not 10. Fixes coreclr test.
Rodrigo Kumpera [Sat, 2 Jul 2016 00:06:13 +0000 (20:06 -0400)]
[coreclr-tests] Disable some tests that are not supposed to work under mono.
Rodrigo Kumpera [Fri, 4 Mar 2016 02:57:44 +0000 (21:57 -0500)]
[jit] Return NULL on zero sized localloc. Fixes coreclr test.
Rodrigo Kumpera [Fri, 1 Jul 2016 23:57:07 +0000 (19:57 -0400)]
[verifier] Do method visibility checks for virtual final methods. Enable type visibility for all methods. Fixes #5644.
I addressed the issue mentioned in the comments of mono_method_can_access_method:
* FIXME:
* with generics calls to explicit interface implementations can be expressed
* directly: the method is private, but we must allow it. This may be opening
* a hole or the generics code should handle this differently.
* Maybe just ensure the interface type is public.
The way to do it is to check access between gmds
Vlad Brezae [Fri, 1 Jul 2016 20:56:31 +0000 (23:56 +0300)]
Merge pull request #3211 from BrzVlad/fix-finalizer-thread-exited
[sgen] Speed up domain finalization at shutdown
Aleksey Kliger (λgeek) [Fri, 1 Jul 2016 15:11:54 +0000 (11:11 -0400)]
[remoting] If remoting is disabled, don't assert looking for LoadRemoteFieldNew (#3229)
Vlad Brezae [Fri, 1 Jul 2016 15:10:01 +0000 (18:10 +0300)]
[sgen] Make suspend_finalizers volatile
It is used for signaling on separate threads.
João Matos [Fri, 1 Jul 2016 14:05:57 +0000 (15:05 +0100)]
Merge pull request #3225 from tritao/zip_stream_getters
[System.IO.Compression] Fixed Zip entry stream length/position getters in Update mode
Zoltan Varga [Fri, 1 Jul 2016 02:42:51 +0000 (22:42 -0400)]
[llvmonly] Fix the name of a few llvmonly icalls.
Zoltan Varga [Fri, 1 Jul 2016 02:31:07 +0000 (22:31 -0400)]
[llvmonly] Unwrap RuntimeWrapperExceptions if needed.
Zoltan Varga [Fri, 1 Jul 2016 02:28:55 +0000 (22:28 -0400)]
[sgen] Avoid throwing exceptions from inside the critical region in the managed allocators. (#3230)
Zoltan Varga [Fri, 1 Jul 2016 02:07:54 +0000 (22:07 -0400)]
[corlib] Mark some StackTrace/StackFrame methods as NoInlining to prevent llvm from inlining these methods, which breaks the stacktrace computation code in the runtime.
Zoltan Varga [Fri, 1 Jul 2016 01:15:05 +0000 (21:15 -0400)]
[tests] Probe for a different type than System.IO.Pipes.PipeOptions which is not part of the mobile_static profile. Fixes #41955.
Zoltan Varga [Fri, 1 Jul 2016 00:49:17 +0000 (20:49 -0400)]
[llvmonly] Avoid asserting when caching non-open generic instances.
Zoltan Varga [Fri, 1 Jul 2016 00:48:42 +0000 (20:48 -0400)]
[llvmonly] Emit gsharedvt wrappers for Nullable.Unbox calls.
Zoltan Varga [Fri, 1 Jul 2016 00:35:26 +0000 (20:35 -0400)]
[llvmonly] Fix a case where an ftnptr was invoked as a method address.
Zoltan Varga [Thu, 30 Jun 2016 23:34:50 +0000 (19:34 -0400)]
[llvmonly] Fix invocation of string ctors. Emit Array.Set/Get wrappers for more types.
Zoltan Varga [Thu, 30 Jun 2016 21:40:18 +0000 (17:40 -0400)]
[jit] Avoid emitting seq points inside alloc wrappers, they contain critical regions, and if thread self suspend in the seq point handler, it cannot be suspended by other threads. Fixes #42191.
Marcos Henrich [Thu, 30 Jun 2016 16:59:21 +0000 (17:59 +0100)]
[System.Web.Services] Fixes bad XmlMapping.Key.
Fixes #41564
Calling xmlImporter.ImportMembersMapping would set the key with the
underlying message type [1], thus if a service had remote calls using
the same types a key already exists exception would be thrown.
Furthermore reference source has special logic to set headers
XmlMappings key [2].
This pull request fixes the issue by overriding the XmlMappings.Key with
the values similar to those used in the reference source version.
[1] http://referencesource.microsoft.com/#System.Xml/System/Xml/Serialization/XmlMembersMapping.cs,28
[2] http://referencesource.microsoft.com/#System.Web.Services/System/Web/Services/Protocols/SoapReflector.cs,515
Marcos Henrich [Thu, 30 Jun 2016 12:42:42 +0000 (13:42 +0100)]
[System.Web.Services] Test Header sharing issue.
Covers #41564
When multiple methods shared soap header a duplicate key exception would
be thrown.
This issue only occurs on XAMMAC and MOBILE where the non reference
source serializer is still used.
Andi McClure [Thu, 30 Jun 2016 16:44:46 +0000 (12:44 -0400)]
Restore NULL check which PR #3040/#3105 mistakenly removed (bug 41623) (#3219)
Could cause crash while stepping over in SDB.
João Matos [Thu, 30 Jun 2016 12:58:27 +0000 (13:58 +0100)]
[System.IO.Compression] Fixed Zip entry stream length/position getters in Update mode.
This does away with the lazy writeable entry scheme in Update mode and converts the stream to be writeable when its opened in Update mode.
From local testing, .NET does the same in this case.
Fixes another issue reported by @Numpsy in https://github.com/OfficeDev/Open-XML-SDK/issues/64.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=42274.
João Matos [Thu, 30 Jun 2016 11:58:00 +0000 (12:58 +0100)]
Merge pull request #3216 from tritao/zip_duplicate_entries
[System.IO.Compression] Fixed handling of Zip archives with duplicate entries with same name.
Jon Purdy [Thu, 30 Jun 2016 07:00:36 +0000 (00:00 -0700)]
[runtime] Document MonoDomain.static_data_array. (#3223)
Saw a confusing comment, updated it.
Alex Rønne Petersen [Thu, 30 Jun 2016 02:08:28 +0000 (04:08 +0200)]
Merge pull request #3220 from alexrp/master
Revert changes to profiler library linking
Alex Rønne Petersen [Wed, 29 Jun 2016 22:44:20 +0000 (00:44 +0200)]
Revert "[profiler] Don't build shared libraries under bitcode."
This reverts commit
cfd9870f8345d2e3e6354e3deebced443809ee2f.
There is no need for this as of
79b99a989d8d4cf2636b738a623bb3656e048ebf.
Alex Rønne Petersen [Wed, 29 Jun 2016 22:41:43 +0000 (00:41 +0200)]
[profiler] Link profiler libraries against libmono (revert of 92341a).
This caused issues with symbol resolution at runtime on Android and we haven't
seen any *actual* cases where linking against libmono caused problems.
Zoltan Varga [Wed, 29 Jun 2016 13:39:37 +0000 (09:39 -0400)]
[bcl] Add a workaround for a watchos limitation to a memory mapped file test. Fixes #41747.
João Matos [Wed, 29 Jun 2016 10:18:16 +0000 (11:18 +0100)]
[System.IO.Compression] Fixed handling of Zip archives with duplicate entries with same name.
.NET supports this, from MSDN: "If an entry with the specified path and name already exists in the archive, a second entry is created with the same path and name.".
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=42219.
João Matos [Wed, 29 Jun 2016 10:20:44 +0000 (11:20 +0100)]
Merge pull request #3214 from tritao/zip_new_entries_writes
[System.IO.Compression] Fixed writes to newly-created Zip archive entries in Update mode.
Aleksey Kliger (λgeek) [Tue, 28 Jun 2016 22:22:04 +0000 (18:22 -0400)]
[remoting] Convert mono_load_remote_field_new_checked to managed code (#3149)
* [remoting] Convert mono_load_remote_field_new_checked to managed code.
* [corlib] Expose runtime struct MonoRemoteClass and MonoClass to managed
Also expose mono_class_get_type to managed code.
* [corlib] Add Mono.RuntimeClassHandle to encapsulate MonoClass*
and Mono.RuntimeRemoteClassHandle to encapsulate MonoRemoteClass*
* [runtime] mono_marshal_get_ldfld_remote_wrapper invoke the managed TransparentProxy.LoadRemoteFieldNew method directly
Don't bother going through a native call and back out to managed.
* [runtime] Get rid of MONO_WRAPPER_LDFLD_REMOTE
When the MONO_WRAPPER_LDFLD is operating on a proxy, it always invokes
the TransparentProxy::LoadRemoteFieldNew managed method
* [runtime] Remove dead mono_load_remote_field_new_icall
* [mini] Bump AOT file format version
Because we removed the LDFLD_REMOTE wrapper type so all the
MonoWrapperType enum values shifted.
Alexander Köplinger [Tue, 28 Jun 2016 19:35:42 +0000 (21:35 +0200)]
Merge pull request #3187 from akoeplinger/mstestsuite-on-prs
[ci] Add ms-test-suite step to default test runs
Alexander Köplinger [Tue, 28 Jun 2016 17:48:45 +0000 (19:48 +0200)]
[ci] Skip ms-test-suite on non-OSX workers
Some locale tests are running into issues on Linux, they should be investigated separately.
João Matos [Tue, 28 Jun 2016 16:54:13 +0000 (17:54 +0100)]
[System.IO.Compression] Fixed writes to newly-created Zip archive entries in Update mode.
This regression was reported by RichardW of Open XML SDK project.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=39282.
monojenkins [Mon, 27 Jun 2016 23:08:47 +0000 (00:08 +0100)]
Merge pull request #3204 from BrzVlad/fix-lock-free-alloc2
[utils] Fix retiring of live block for the lock free allocator
Freeing a block descriptor (along with the block) can happen either when freeing a pointer in the block (we do this in order to prevent situations where we need to wait for the next alloc in order to free a block), either when we acquire an empty block while allocating. Either way, in order to free a block descriptor, we need to acquire it first.
When freeing a slot in a block, we are checking if the block is now empty in which case we acquire the block descriptor in order to free it (along with the block). While doing so, we were failing to account for the case where, by the time we make the block descriptor empty and the time we acquire it, another thread would try to allocate from the same descriptor, see that it's empty, free it, allocate a new descriptor (which would happen to have the same address as the retired one) to fulfill the allocation and then set it as the active descriptor for the allocator. When the first thread finally acquires the descriptor, we need to double check that it is still empty since it might be logically a different descriptor than the one we actually freed from. In the unlikely case it's not empty, we need to put it back in the allocator's data structures.
Vlad Brezae [Mon, 27 Jun 2016 16:30:45 +0000 (19:30 +0300)]
[sgen] Use sgen_qsort instead of qsort (#3205)
qsort is not signal safe.