mono.git
7 years ago[mini] Fix the llvmonlycheck test.
Rodrigo Kumpera [Wed, 24 May 2017 00:07:37 +0000 (17:07 -0700)]
[mini] Fix the llvmonlycheck test.

7 years agoFix the CpBlk and InitBlk intrinsics.
Rodrigo Kumpera [Tue, 23 May 2017 23:59:07 +0000 (16:59 -0700)]
Fix the CpBlk and InitBlk intrinsics.

7 years ago[interp] fix unaligned.
Bernhard Urban [Mon, 22 May 2017 20:13:01 +0000 (22:13 +0200)]
[interp] fix unaligned.

7 years ago[jit] Fix x86 failures and handle unaligned load with offset
Rodrigo Kumpera [Sat, 20 May 2017 02:47:51 +0000 (19:47 -0700)]
[jit] Fix x86 failures and handle unaligned load with offset

7 years ago[jit] Add unaligned tests.
Rodrigo Kumpera [Fri, 19 May 2017 03:13:38 +0000 (20:13 -0700)]
[jit] Add unaligned tests.

7 years ago[jit] Properly handle unaligned memory access.
Rodrigo Kumpera [Thu, 18 May 2017 23:38:05 +0000 (16:38 -0700)]
[jit] Properly handle unaligned memory access.

7 years ago[jit] Assorted small changes.
Rodrigo Kumpera [Thu, 18 May 2017 23:19:22 +0000 (16:19 -0700)]
[jit] Assorted small changes.

Remove 10000 size check in mini_emit_memory_copy_bytes, this is no longer needed now that the memcpy expansion logic in mini_emit_memcpy_internal was fixes.

Use a define for 10000.

Remove useless debug spew.

7 years ago[mini] Remove assert and document reason it can't be used.
Rodrigo Kumpera [Thu, 18 May 2017 22:56:54 +0000 (15:56 -0700)]
[mini] Remove assert and document reason it can't be used.

7 years ago[jit] Remove mini_emit_stobj from method-to-ir.c and move mini_emit_wb_aware_memcpy...
Rodrigo Kumpera [Thu, 11 May 2017 23:36:26 +0000 (16:36 -0700)]
[jit] Remove mini_emit_stobj from method-to-ir.c and move mini_emit_wb_aware_memcpy to memory-access.c

7 years ago[jit] Replace usage of mini_emit_stobj with mini_emit_memory_copy and simplify usage...
Rodrigo Kumpera [Thu, 11 May 2017 23:34:16 +0000 (16:34 -0700)]
[jit] Replace usage of mini_emit_stobj with mini_emit_memory_copy and simplify usage since the later can handle ref types.

7 years ago[jit] Fix wording of the function description
Rodrigo Kumpera [Thu, 11 May 2017 23:32:09 +0000 (16:32 -0700)]
[jit] Fix wording of the function description

7 years ago[jit] Fix mono_debug_count breakage introduced by the g_getenv change.
Rodrigo Kumpera [Thu, 11 May 2017 23:27:51 +0000 (16:27 -0700)]
[jit] Fix mono_debug_count breakage introduced by the g_getenv change.

7 years ago[mini] Add mini_emit_memory_copy to replace mini_emit_stobj
Rodrigo Kumpera [Thu, 11 May 2017 22:52:56 +0000 (15:52 -0700)]
[mini] Add mini_emit_memory_copy to replace mini_emit_stobj

7 years ago[jit] Fix large const memcpy/memset when when the intrins pass is disabled.
Rodrigo Kumpera [Thu, 11 May 2017 22:52:09 +0000 (15:52 -0700)]
[jit] Fix large const memcpy/memset when when the intrins pass is disabled.

7 years ago[runtime] Rework how unaligned memcpy/memset are generated.
Rodrigo Kumpera [Wed, 10 May 2017 20:38:40 +0000 (13:38 -0700)]
[runtime] Rework how unaligned memcpy/memset are generated.

Problems with the current code:
It's wrong on 64bits if align == 4
It's wrong on 64bits if offset is not 0 or 4.
It generates bad code if align > 1 && align < SIZEOF_VOIDP

This PR implements unaligned based on the following set of assumptions that are true for the current set of platforms we support:

- A load/store of size X works with data aligned on X. IE, a short store can handle addresses aligned to 2
- Unaligned access is either disallowed or plain slower.
- Both source and dest abide to the supplied alignment.

The way we emit unaligned access is by emitting the widest possible access based on alignment and offset.

TBH: use unaligned access on targets like x86 that support it and are profitable.

7 years ago[runtime] Make RuntimeHelpers:SufficientExecutionStack () a no-op on android for...
Zoltan Varga [Wed, 17 May 2017 16:33:08 +0000 (12:33 -0400)]
[runtime] Make RuntimeHelpers:SufficientExecutionStack () a no-op on android for now. Fixes #56240. (#4889)

7 years ago[coop handles] Add mechanism to track handle leaks
Aleksey Kliger [Mon, 15 May 2017 22:47:14 +0000 (18:47 -0400)]
[coop handles] Add mechanism to track handle leaks

When MONO_HANDLE_TRACK_SP is defined, each handle records the native C stack pointer
at the time of its nearest enclosing HANDLE_FUNCTION_ENTER.  If a subsequent
handle is allocated with a lower stack pointer (in memory; ie higher in the
call tree) then a HANDLE_FUNCTION_RETURN is missing and we're leaking handles.

7 years ago[interp] assume EABI for passing arguments to arm trampoline
Bernhard Urban [Wed, 17 May 2017 12:40:31 +0000 (14:40 +0200)]
[interp] assume EABI for passing arguments to arm trampoline

7 years ago[interp] use helper function to check if generic inst is a value type
Bernhard Urban [Wed, 17 May 2017 11:40:58 +0000 (13:40 +0200)]
[interp] use helper function to check if generic inst is a value type

7 years ago[arm] respect thumb mode in mixed mode unwinding
Bernhard Urban [Wed, 17 May 2017 11:40:58 +0000 (13:40 +0200)]
[arm] respect thumb mode in mixed mode unwinding

7 years ago[interp] properly pass 64bit integers to native code on 32bit arches
Bernhard Urban [Wed, 17 May 2017 11:40:58 +0000 (13:40 +0200)]
[interp] properly pass 64bit integers to native code on 32bit arches

7 years ago[interp] disable some tests that fail on CI only
Bernhard Urban [Wed, 17 May 2017 11:40:58 +0000 (13:40 +0200)]
[interp] disable some tests that fail on CI only

can't reproduce the crash on my dev device, will investigate later.

7 years ago[interp] make mixed mode work on arm
Bernhard Urban [Wed, 17 May 2017 11:40:58 +0000 (13:40 +0200)]
[interp] make mixed mode work on arm

7 years ago[interp] generics/vt fix regarding elem size for ldelem.vt
Bernhard Urban [Wed, 17 May 2017 11:40:58 +0000 (13:40 +0200)]
[interp] generics/vt fix regarding elem size for ldelem.vt

7 years ago[interp] intrinsify System.Array.UnsafeLoad
Bernhard Urban [Wed, 17 May 2017 11:40:58 +0000 (13:40 +0200)]
[interp] intrinsify System.Array.UnsafeLoad

7 years ago[interp] add a conversion that is only required for 32bit
Bernhard Urban [Wed, 17 May 2017 11:40:58 +0000 (13:40 +0200)]
[interp] add a conversion that is only required for 32bit

7 years ago[interp] icall trampoline for arm
Bernhard Urban [Wed, 17 May 2017 11:40:58 +0000 (13:40 +0200)]
[interp] icall trampoline for arm

7 years ago[interp] make mixed mode work on arm64
Bernhard Urban [Wed, 17 May 2017 11:40:58 +0000 (13:40 +0200)]
[interp] make mixed mode work on arm64

7 years ago[interp] fix gcc warnings
Bernhard Urban [Wed, 17 May 2017 11:40:58 +0000 (13:40 +0200)]
[interp] fix gcc warnings

7 years ago[interp] fix conv.u4.r8 on arm64
Bernhard Urban [Wed, 17 May 2017 11:40:57 +0000 (13:40 +0200)]
[interp] fix conv.u4.r8 on arm64

7 years ago[interp/tramp] use MONO_STRUCT_OFFSET infrastructure and extract constants
Bernhard Urban [Wed, 17 May 2017 11:40:57 +0000 (13:40 +0200)]
[interp/tramp] use MONO_STRUCT_OFFSET infrastructure and extract constants

7 years ago[interp] implement icall_trampoline for arm64
Bernhard Urban [Wed, 17 May 2017 11:40:57 +0000 (13:40 +0200)]
[interp] implement icall_trampoline for arm64

7 years agoRename Microsoft.NuGet.Build.Tasks.dll.sources to exclude profile
Alexander Köplinger [Wed, 17 May 2017 12:14:04 +0000 (14:14 +0200)]
Rename Microsoft.NuGet.Build.Tasks.dll.sources to exclude profile

The earlier name sent gensources.sh into an infinite loop,
not sure why yet. The directory is only built for xbuild_14
anyway so this should be safe.

7 years agoFix tarball build
Alexander Köplinger [Wed, 17 May 2017 03:39:08 +0000 (05:39 +0200)]
Fix tarball build

The itanium backend was removed.

7 years agow32handle: double the available slots (#4856)
David Naylor [Wed, 17 May 2017 00:45:24 +0000 (02:45 +0200)]
w32handle: double the available slots (#4856)

Mono crashes if the system has more than ~128G of RAM.  Doubling the
number of slots fixes the SIGSEGV error on FreeBSD.

7 years ago[MacSDK] Remove some outdated info from ReadMe.rtf
Alexander Köplinger [Tue, 16 May 2017 22:27:43 +0000 (00:27 +0200)]
[MacSDK] Remove some outdated info from ReadMe.rtf

uninstallMono.sh is no longer installed.

The website has instructions for removing Mono:
http://www.mono-project.com/docs/about-mono/supported-platforms/osx/#uninstalling-mono-on-mac-os-x

7 years ago[btls] Add "desktop" ARM Linux configurations (for IoT, mostly) (#4875)
Jo Shields [Tue, 16 May 2017 20:24:29 +0000 (21:24 +0100)]
[btls] Add "desktop" ARM Linux configurations (for IoT, mostly) (#4875)

* [btls] Add "desktop" ARM Linux configurations (for IoT, mostly)

* [btls] Disable optimized asm on soft-float ARM

It depends on a NEON FPU, which we don't target on soft float

7 years ago[btls] Add MonoPInvokeCallback attribute on all full aot profiles (#4879)
Alexander Köplinger [Tue, 16 May 2017 19:29:49 +0000 (21:29 +0200)]
[btls] Add MonoPInvokeCallback attribute on all full aot profiles (#4879)

It was #ifdef'ed to only be available on monotouch before,
but the testing_aot_full profile in CI runs into this test failure:

```
MESSAGE:
System.ExecutionEngineException : Attempting to JIT compile method '(wrapper native-to-managed) Mono.Btls.MonoBtlsSslCtx:NativeVerifyCallback (intptr,int,intptr)' while running in aot-only mode. See https://developer.xamarin.com/guides/ios/advanced_topics/limitations/ for more information.

+++++++++++++++++++
STACK TRACE:
  at (wrapper managed-to-native) System.Object:__icall_wrapper_mono_thread_interruption_checkpoint ()
  at (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:GetFunctionPointerForDelegateInternal (System.Delegate)
  at System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate[TDelegate] (TDelegate d) [0x00013] in <fa55a8c31ba0490383239e5850d81686>:0
  at Mono.Btls.MonoBtlsSslCtx..ctor (Mono.Btls.MonoBtlsSslCtx+BoringSslCtxHandle handle) [0x00059] in <18810f39bffc41dcb0263eb2043cc10e>:0
  at Mono.Btls.MonoBtlsSslCtx..ctor () [0x0000b] in <18810f39bffc41dcb0263eb2043cc10e>:0
  at Mono.Btls.MonoBtlsContext.InitializeConnection () [0x00000] in <18810f39bffc41dcb0263eb2043cc10e>:0
  at Mono.Btls.MonoBtlsContext.StartHandshake () [0x00000] in <18810f39bffc41dcb0263eb2043cc10e>:0
  at Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Mono.Net.Security.AsyncProtocolRequest asyncRequest, Mono.Net.Security.AsyncOperationStatus status) [0x00004] in <18810f39bffc41dcb0263eb2043cc10e>:0
  at Mono.Net.Security.AsyncProtocolRequest.ProcessOperation (Mono.Net.Security.AsyncOperationStatus status) [0x0006b] in <18810f39bffc41dcb0263eb2043cc10e>:0
  at Mono.Net.Security.AsyncProtocolRequest.ProcessOperation () [0x0000d] in <18810f39bffc41dcb0263eb2043cc10e>:0
  at Mono.Net.Security.AsyncProtocolRequest.StartOperation () [0x0003c] in <18810f39bffc41dcb0263eb2043cc10e>:0
  at Mono.Net.Security.AsyncProtocolRequest.StartOperation (Mono.Net.Security.AsyncOperation operation) [0x00024] in <18810f39bffc41dcb0263eb2043cc10e>:0
  at Mono.Net.Security.MobileAuthenticatedStream.ProcessAuthentication (System.Net.LazyAsyncResult lazyResult) [0x00057] in <18810f39bffc41dcb0263eb2043cc10e>:0
```

The attribute itself is already conditional on MONOTOUCH and
FULL_AOT_RUNTIME so simply removing the ifdef should fix the issue.

7 years agoMerge pull request #4877 from ntherning/fix-file-handle-leak-in-mono_mmap_open_file...
Niklas Therning [Tue, 16 May 2017 17:36:18 +0000 (19:36 +0200)]
Merge pull request #4877 from ntherning/fix-file-handle-leak-in-mono_mmap_open_file-on-windows

Fixes a file handle leak in mono_mmap_open_file() on Windows

7 years agoFixes a file handle leak in mono_mmap_open_file() on Windows. See
Niklas Therning [Tue, 16 May 2017 14:46:52 +0000 (16:46 +0200)]
Fixes a file handle leak in mono_mmap_open_file() on Windows. See
https://bugzilla.xamarin.com/show_bug.cgi?id=56493.

7 years ago[xbuild] Add web targets for 15.0 (#4868)
Mikayla Hutchinson [Tue, 16 May 2017 10:31:19 +0000 (06:31 -0400)]
[xbuild] Add web targets for 15.0 (#4868)

7 years ago[msvc] Remove order.xml (#4867)
Alexander Köplinger [Tue, 16 May 2017 10:10:34 +0000 (12:10 +0200)]
[msvc] Remove order.xml (#4867)

It's a build artifact anyway since we check in the generated csproj's
so you don't really need the order.xml.

After the new platform-specific BCL changes went in it also started
containing stuff like `-r:./../../class/lib/net_4_x-linux/mscorlib.dll`
which makes it even less useful to have checked in as it'd get
changed when you build on OSX for example.

7 years ago[threadpool] Fix alignment of ThreadPoolWorkerCounter (#4871)
Ludovic Henry [Tue, 16 May 2017 02:19:34 +0000 (22:19 -0400)]
[threadpool] Fix alignment of ThreadPoolWorkerCounter (#4871)

It is accessed with a 64bits atomic operation, so it needs to be 64bits aligned, even on a 32bits platform. A CPU exception EXC_ARM_DA_ALIGN triggers on armv7 32bits.

Fix https://bugzilla.xamarin.com/show_bug.cgi?id=56202

7 years agoMerge pull request #4752 from BrzVlad/feature-dynamic-nrs
Vlad Brezae [Tue, 16 May 2017 00:22:50 +0000 (03:22 +0300)]
Merge pull request #4752 from BrzVlad/feature-dynamic-nrs

[sgen] Dynamic nursery sizing

7 years agoInterp fixes (#4864)
Zoltan Varga [Mon, 15 May 2017 22:53:10 +0000 (18:53 -0400)]
Interp fixes (#4864)

* [interp] Add support for mkrefany,refanytype and refanyval.

* [interp] Avoid inlining empty methods marked with NoInlining.

* [interp] Fix the popping of arguments when inlining empty methods.

7 years agoSystem.Drawing: Various netstandard1.6 compat fixes (#4863)
Frederik Carlier [Mon, 15 May 2017 19:10:01 +0000 (21:10 +0200)]
System.Drawing: Various netstandard1.6 compat fixes (#4863)

Minor fixes which make System.Drawing compatible with netstandard1.6:
- Use MemoryStream.ToArray instead of .GetBuffer
- Use RuntimeInformation.IsOSPlatform to determine the operating system
- Use Stream.Dispose instead of Stream.Close
- Disable serialization support for exceptions
- Don't use AppDomain

7 years ago[amd64] Make more inline functions in header static (#4869)
Jonathan Pryor [Mon, 15 May 2017 17:36:48 +0000 (13:36 -0400)]
[amd64] Make more inline functions in header static (#4869)

Related: commit 00c6a94a

When [Xamarin.Android attempts to build with mono/2017-04][0], the
build breaks when cross-linking Windows code via MXE due to the
presence of an undefined `inline`d function:

./.libs/libmini.a(libmini_la-tramp-amd64.o):…/xamarin-android/external/mono/mono/mini/tramp-amd64.c:746:
undefined reference to `mono_arch_unwindinfo_get_size'

Turn `mono_arch_unwindinfo_find_pc_rt_func_in_table()` and
`mono_arch_unwindinfo_get_size()` into `static inline` functions so
that they don't cause "undefined reference" linker errors.

Additionally, audit the rest of `mono` to ensure there aren't any
other `inline` functions that aren't `static`:

$ git grep '\<inline\>' mono | grep -v static | grep -E '(\.c|\.h):'
# ~50 matches, all of which are in comments or otherwise not relevant.

[0]: https://jenkins.mono-project.com/view/Xamarin.Android/job/xamarin-android/388/

7 years ago[runtime] Remove ia64 backend, the Itanium architecture is dead. (#4859)
Zoltan Varga [Mon, 15 May 2017 17:04:32 +0000 (13:04 -0400)]
[runtime] Remove ia64 backend, the Itanium architecture is dead. (#4859)

7 years agoMerge pull request #4851 from kumpera/handle_eloop_errno
Rodrigo Kumpera [Mon, 15 May 2017 14:58:33 +0000 (07:58 -0700)]
Merge pull request #4851 from kumpera/handle_eloop_errno

[metadata] Handle ELOOP in mono_w32error_unix_to_win32.

7 years ago[System]: Update corefx/SR.cs in preparation of the upcoming HttpListener merge....
Martin Baulig [Mon, 15 May 2017 14:39:19 +0000 (10:39 -0400)]
[System]: Update corefx/SR.cs in preparation of the upcoming HttpListener merge. (#4849)

7 years ago[sre] Don't leak coop handles in mono_dynimage_encode_typedef_or_ref_full
Aleksey Kliger [Sat, 13 May 2017 01:24:49 +0000 (21:24 -0400)]
[sre] Don't leak coop handles in mono_dynimage_encode_typedef_or_ref_full

This function calls mono_class_get_ref_info which allocates a coop handle.
However it is called from an icall that wasn't converted to use coop handles
yet, so nothing was saving/restoring the handle stack mark, and consequently
the handles leak.

7 years agoUse handle macros to avoid leaking result of mono_type_get_object_handle
Jonathan Chambers [Fri, 12 May 2017 22:59:25 +0000 (18:59 -0400)]
Use handle macros to avoid leaking result of mono_type_get_object_handle

7 years ago[interp] update ignore list for CI
Bernhard Urban [Mon, 15 May 2017 12:11:30 +0000 (14:11 +0200)]
[interp] update ignore list for CI

7 years ago[msvc] Update csproj files (#4846)
monojenkins [Mon, 15 May 2017 12:23:05 +0000 (14:23 +0200)]
[msvc] Update csproj files (#4846)

7 years ago[image] follow up fix for 62bc1b229ee0501b706f3ea39524180c0ae7fc26
Bernhard Urban [Mon, 15 May 2017 07:48:45 +0000 (09:48 +0200)]
[image] follow up fix for 62bc1b229ee0501b706f3ea39524180c0ae7fc26

otherwise we try to access `ignored_assemblies_names` out of bounds

7 years ago[tests] Remove unreferenced bridge test targets
Vlad Brezae [Wed, 26 Apr 2017 00:44:11 +0000 (03:44 +0300)]
[tests] Remove unreferenced bridge test targets

These were changed and renamed in a previous commit.

7 years ago[sgen] Track down promoted size also with parallel minors
Vlad Brezae [Tue, 18 Apr 2017 16:45:26 +0000 (19:45 +0300)]
[sgen] Track down promoted size also with parallel minors

7 years ago[sgen] Use the idle object ops for worker jobs
Vlad Brezae [Wed, 12 Apr 2017 22:20:07 +0000 (01:20 +0300)]
[sgen] Use the idle object ops for worker jobs

We had the object ops set in the job when allocating the job (typically by the main gc thread). When enqueueing jobs, we leave their ops NULL, and when the worker actually executes the job, it will use the idle object ops, which can get dynamically optimized over the work cycle.

7 years ago[sgen] Don't execute jobs before actually starting the workers
Vlad Brezae [Wed, 12 Apr 2017 22:14:41 +0000 (01:14 +0300)]
[sgen] Don't execute jobs before actually starting the workers

It's counter intuitive and it might lead to races at some point.

7 years ago[sgen] Resize nursery according also to pause times
Vlad Brezae [Fri, 7 Apr 2017 23:21:48 +0000 (02:21 +0300)]
[sgen] Resize nursery according also to pause times

7 years ago[sgen] Dynamic nursery sizing
Vlad Brezae [Wed, 5 Apr 2017 10:11:01 +0000 (13:11 +0300)]
[sgen] Dynamic nursery sizing

We attempt to have a nursery that is as large as possible, while keeping a relative limit to the heap size.

7 years ago[sgen] Remove unused function
Vlad Brezae [Thu, 6 Apr 2017 23:25:02 +0000 (02:25 +0300)]
[sgen] Remove unused function

7 years ago[sgen] Remove some redundancy with nursery section
Vlad Brezae [Wed, 5 Apr 2017 22:18:27 +0000 (01:18 +0300)]
[sgen] Remove some redundancy with nursery section

7 years ago[sgen] Kill USER_CONFIG
Vlad Brezae [Mon, 3 Apr 2017 11:52:57 +0000 (14:52 +0300)]
[sgen] Kill USER_CONFIG

It is useless and confusing. We always support setting the nursery-size through MONO_GC_PARAMS.

7 years agoSystem.Drawing: netstandard1.6 compatibility: String fixes (#4862)
Frederik Carlier [Mon, 15 May 2017 00:39:24 +0000 (02:39 +0200)]
System.Drawing: netstandard1.6 compatibility: String fixes (#4862)

- ImageFormatConverter uses string.Compare to compare extensions for known file types. It uses CultureInfo.InvariantCulture,
  which is not available on netstandard1.6. Because all the extensions use ASCII-characters, StringCOmparsion.OrdinalIgnoreCase
  can be used, which is equivalent.
- Replace ToLower (CultureInfo.InvariantCulture) with .ToLowerInvariant ()

7 years ago[System.Drawing] NS1.6 compatibility: Use GetTypeInfo () where required (#4861)
Frederik Carlier [Mon, 15 May 2017 00:23:43 +0000 (02:23 +0200)]
[System.Drawing] NS1.6 compatibility: Use GetTypeInfo () where required (#4861)

* netstandard1.6 compatibility: Use GetTypeInfo () where required

A lot of methods have moved from Type to TypeInfo in netstandard1.6, add calls to GetTypeInfo ()
where required to support compiling System.Drawing on netstandard1.6

* Add missing using statement

7 years ago[csproj] Update generator to handle platform-specific assemblies (#4847)
Alexander Köplinger [Sat, 13 May 2017 15:26:35 +0000 (17:26 +0200)]
[csproj] Update generator to handle platform-specific assemblies (#4847)

After https://github.com/mono/mono/pull/4837 was merged the
csproj update bot started sending PRs which hardcoded net_4_x-linux
as the OutputPath.

Updated the csproj generator to detect this and use a variable
in the OutputPath instead. It'll autodetect based on the current OS
and can be overriden by passing /p:HostPlatform=foobar to msbuild.

Ideally we'd have configurations for each platform in the csproj since
in the future the file lists will be different but this is a first step.

7 years ago[runtime] Remove System.ValueTuple from denied assemblies. It's not needed
Marek Safar [Sat, 13 May 2017 07:31:59 +0000 (09:31 +0200)]
[runtime] Remove System.ValueTuple from denied assemblies. It's not needed
anymore because we have reference assemblies and it didn't work for mobile tools (e.g. linker)

7 years ago[MacSDK] Whitelist mono32
Alexander Köplinger [Sat, 13 May 2017 11:08:07 +0000 (13:08 +0200)]
[MacSDK] Whitelist mono32

7 years ago[metadata] Handle ELOOP in mono_w32error_unix_to_win32.
Rodrigo Kumpera [Fri, 12 May 2017 22:34:52 +0000 (15:34 -0700)]
[metadata] Handle ELOOP in mono_w32error_unix_to_win32.

7 years agoMerge pull request #4828 from BrzVlad/fix-windows-ci
Vlad Brezae [Fri, 12 May 2017 19:43:35 +0000 (22:43 +0300)]
Merge pull request #4828 from BrzVlad/fix-windows-ci

[runtime] Fix windows ci

7 years ago[System]: Replace HttpListenerResponseHelper with HttpStatusDescription from CoreFX...
Martin Baulig [Fri, 12 May 2017 18:32:50 +0000 (14:32 -0400)]
[System]: Replace HttpListenerResponseHelper with HttpStatusDescription from CoreFX (#4833)

* [System]: Replace HttpListenerResponseHelper with HttpStatusDescription from CoreFX.

* Update common.sources

7 years agoInclude gmodule-win32-internals.h in tarball (#4843)
Jan-Joost Spanjers [Fri, 12 May 2017 14:44:40 +0000 (16:44 +0200)]
Include gmodule-win32-internals.h in tarball (#4843)

7 years ago[System]: Add HttpListenerBasicIdentity.platformnotsupported.cs for watch. (#4836)
Martin Baulig [Fri, 12 May 2017 14:33:07 +0000 (10:33 -0400)]
[System]: Add HttpListenerBasicIdentity.platformnotsupported.cs for watch. (#4836)

7 years agoAmd64 gsharedvt small sizes (#4841)
Zoltan Varga [Fri, 12 May 2017 12:58:56 +0000 (08:58 -0400)]
Amd64 gsharedvt small sizes (#4841)

* [jit] Fix CPBLK for large sizes.

* [amd64] Fix the byref->byval passing of small arguments from gsharedvt methods, we were loading loading them as pointers, which meant the upper bits might contain garbage. Fixes #56247.

7 years agoUpdate API snapshot with recent API changes
Alexander Köplinger [Fri, 12 May 2017 12:32:40 +0000 (14:32 +0200)]
Update API snapshot with recent API changes

7 years agoBump corefx
Marek Safar [Thu, 11 May 2017 19:09:48 +0000 (21:09 +0200)]
Bump corefx

7 years ago[jit] Fix CPBLK for large sizes.
Zoltan Varga [Fri, 12 May 2017 00:21:51 +0000 (20:21 -0400)]
[jit] Fix CPBLK for large sizes.

7 years agoMerge pull request #4327 from vkargov/vk-abcremedy
vkargov [Fri, 12 May 2017 00:02:57 +0000 (17:02 -0700)]
Merge pull request #4327 from vkargov/vk-abcremedy

[runtime] Abcrem fixes.

7 years ago[Facades] Update with new typeforwarders/APIs (#4838)
Alexander Köplinger [Thu, 11 May 2017 23:36:05 +0000 (01:36 +0200)]
[Facades] Update with new typeforwarders/APIs (#4838)

7 years ago[mcs] Add platform specific files (#4837)
Ludovic Henry [Thu, 11 May 2017 23:19:09 +0000 (19:19 -0400)]
[mcs] Add platform specific files (#4837)

* [mcs] Rework %-recursive target to explicitely list subdirectories

* [mcs] Rename PLATFORM to BUILD_PLATFORM

* [mcs] Add platform specific files

This is to support adding corefx platform specific files. To do that, we now support `mcs/class/corlib/linux_net_4_x_corlib.dll.sources` for example, on top of `mcs/class/corlib/net_4_x_corlib.dll.sources` and `mcs/class/corlib/corlib.dll.sources`.

The 3 platforms that are supported are: `linux`, `darwin` and `win32`.

* [mcs] Build cross-platform bcl in separate folder

7 years ago[System]: HttpListener.CreateSslStream() should always use passed-in callback. (...
Martin Baulig [Thu, 11 May 2017 20:20:38 +0000 (16:20 -0400)]
[System]: HttpListener.CreateSslStream() should always use passed-in callback. (#4835)

7 years agoRevert "[MacSDK] Include 'opt' as a PATH-available binary"
Alexander Köplinger [Thu, 11 May 2017 19:49:58 +0000 (21:49 +0200)]
Revert "[MacSDK] Include 'opt' as a PATH-available binary"

This reverts commit 47365cd54b69a869c50e39223ff64dc8e4fb8889.

We didn't do this in the private bockbuild and putting
'opt' from Mono into the PATH could be problematic.

This makes us consistent with the private bockbuild whitelist.

7 years agoSpecify Encoding.UTF8 when marshaling native runtime string. If not, string construct...
Jonathan Chambers [Thu, 11 May 2017 13:30:23 +0000 (09:30 -0400)]
Specify Encoding.UTF8 when marshaling native runtime string. If not, string constructor accesses Encoding.Default which causes infinite recursion on Windows for codepages supported via I18N. While trying to load I18N assemblies, assembly names are marshaled in managed code now hitting this code path. Fixes Xamarin bug 43988.

7 years ago[jit] Keep unwind info in the domain's memory pool. (#4825)
vkargov [Thu, 11 May 2017 16:33:41 +0000 (09:33 -0700)]
[jit] Keep unwind info in the domain's memory pool. (#4825)

7 years agoMerge pull request #4796 from lambdageek/dev-handles-may04
Aleksey Kliger (λgeek) [Thu, 11 May 2017 14:33:02 +0000 (10:33 -0400)]
Merge pull request #4796 from lambdageek/dev-handles-may04

[runtime] Another batch of coop handles icalls

7 years ago[MacSDK] Port change to license.rtf from private bockbuild
Alexander Köplinger [Wed, 10 May 2017 23:07:17 +0000 (01:07 +0200)]
[MacSDK] Port change to license.rtf from private bockbuild

https://github.com/xamarin/bockbuild/commit/97d660778097b391151776a611494a545becd62c

7 years ago[runtime] Don't consume exception if not allowed to
Vlad Brezae [Wed, 10 May 2017 23:14:11 +0000 (02:14 +0300)]
[runtime] Don't consume exception if not allowed to

The thread_state indicates whether we have a pending exception that needs to be consumed (be it sync or async). Normally we check the state before calling mono_thread_execute_interruption, but make sure we don't consume an exception if the thread_state doesn't allow us to (we can have an abort requested but mono_thread_clear_interruption_requested can return FALSE if we are inside an abort protected block and shouldn't process it)

7 years agoMerge pull request #4816 from BrzVlad/fix-remoting-exception
Vlad Brezae [Wed, 10 May 2017 22:38:33 +0000 (01:38 +0300)]
Merge pull request #4816 from BrzVlad/fix-remoting-exception

[remoting] Serialize exceptions between domains inside try/catch

7 years ago[tests] Don't starve the main thread by doing GCs
Vlad Brezae [Wed, 10 May 2017 21:12:52 +0000 (00:12 +0300)]
[tests] Don't starve the main thread by doing GCs

Thread.Yield doesn't guarantee that the thread doing GCs won't do it excessively, leading to significant variances in test run time.

Decrease number of iterations since these tests can take around 1 min.

7 years agoMerge pull request #4818 from kumpera/unaligned-cleanup-2
Rodrigo Kumpera [Wed, 10 May 2017 20:23:08 +0000 (13:23 -0700)]
Merge pull request #4818 from kumpera/unaligned-cleanup-2

Last bucket of cleanups before I land the actual code for unaligned.

7 years ago[System]: Add new 'common-networking.sources' and move stuff from 'common.sources...
Martin Baulig [Wed, 10 May 2017 19:43:57 +0000 (15:43 -0400)]
[System]: Add new 'common-networking.sources' and move stuff from 'common.sources'. (#4815)

* [System]: Add new 'common-networking.sources' and move stuff from 'common.sources'.

This moves all the networking-related sources which aren't supported on monotouch_watch
into a separate file, so we don't have to maintain a huge "Thing That Should Not Exist".

* Put back System.Net/NtlmClient.cs - we actually do need it.

* Add HttpListenerTimeoutManager.platformnotsupported.cs.

* Make it build.

7 years ago[process] Disable tests that do not work on mobile (#4598)
Ludovic Henry [Wed, 10 May 2017 18:53:03 +0000 (14:53 -0400)]
[process] Disable tests that do not work on mobile (#4598)

7 years ago[msvc] Update csproj files (#4822)
monojenkins [Wed, 10 May 2017 16:31:46 +0000 (18:31 +0200)]
[msvc] Update csproj files (#4822)

7 years ago[security] Use coop handles for ves_icall_System_Security_Principal_WindowsIdentity_G...
Aleksey Kliger [Thu, 4 May 2017 14:16:20 +0000 (10:16 -0400)]
[security] Use coop handles for ves_icall_System_Security_Principal_WindowsIdentity_GetUserToken

7 years ago[security] Use coop handles for ves_icall_System_Security_Principal_WindowsIdentity_G...
Aleksey Kliger [Wed, 3 May 2017 19:35:38 +0000 (15:35 -0400)]
[security] Use coop handles for ves_icall_System_Security_Principal_WindowsIdentity_GetTokenName

7 years ago[security] Use coop handles for ves_icall_System_Security_Principal_WindowsIdentity_G...
Aleksey Kliger [Wed, 3 May 2017 19:17:35 +0000 (15:17 -0400)]
[security] Use coop handles for ves_icall_System_Security_Principal_WindowsIdentity_GetCurrentToken

Refactor it into mono_security_principal_windows_identity_get_current_token ()
and then call that from ves_icall_System_Security_Principal_WindowsIdentity_GetCurrentToken ()

7 years ago[runtime] Use coop handles for System.RuntimeMethodHandle.GetFunctionPointer
Aleksey Kliger [Wed, 3 May 2017 18:53:15 +0000 (14:53 -0400)]
[runtime] Use coop handles for System.RuntimeMethodHandle.GetFunctionPointer

7 years ago[sre] Use coop handles for ModuleBuilder.set_wrappers_type
Aleksey Kliger [Wed, 3 May 2017 18:21:33 +0000 (14:21 -0400)]
[sre] Use coop handles for ModuleBuilder.set_wrappers_type

7 years ago[sre] Use coop handles for ModuleBuilder.GetRegisteredToken
Aleksey Kliger [Wed, 3 May 2017 16:04:42 +0000 (12:04 -0400)]
[sre] Use coop handles for ModuleBuilder.GetRegisteredToken

- Fix typo in REFLECTION_EMIT_INIT/REFLECTION_EMIT_SAVE in
  mono_dynamic_image_register_token
- Add mono_dynamic_image_get_registered_token ()
- N.B. locking change - ves_icall_ModuleBuilder_GetRegisteredToken used to take
  the loader lock.  Now it calls mono_dynamic_image_get_registered_token which
  just takes the image lock.