monojenkins [Tue, 29 Mar 2016 20:01:05 +0000 (21:01 +0100)]
Merge pull request #1718 from madewokherd/sgenthreadcleanup
[sgen] Clean up thread pool on shutdown.
Keeping threads around can cause processes to keep running when they shouldn't, particularly on Windows when the entry point returns.
(The reason this is important for me is that Wine provides _CorExeMain, which is an entry point that does return, unlike normal compiled C programs which appear to call exit() after main() returns. A Windows process doesn't exit until ALL threads have exited, so a thread that never exits means a hung process.)
It doesn't seem like we have other GC-specific cleanup code, so I don't know if this is a good approach. Feedback on that question would be appreciated.
Zoltan Varga [Tue, 29 Mar 2016 18:32:00 +0000 (14:32 -0400)]
[tests] Force tests to print thread dumps when they time out.
Vlad Brezae [Tue, 29 Mar 2016 17:45:10 +0000 (00:45 +0700)]
Merge pull request #2801 from BrzVlad/feature-conc-cementing
[sgen] Cementing for the finishing pause
Rolf Bjarne Kvinge [Tue, 29 Mar 2016 17:04:58 +0000 (19:04 +0200)]
[corlib] Remove local variables inadvertently overriding class variables.
Rolf Bjarne Kvinge [Tue, 29 Mar 2016 16:24:19 +0000 (18:24 +0200)]
[corlib] Add Console.[Input|Output]Encoding to the mobile profiles.
monojenkins [Tue, 29 Mar 2016 16:31:13 +0000 (17:31 +0100)]
Merge pull request #2794 from xmcclure/win-aot-basic
Make AOT compilation on 64 bit windows produce executables
This PR contains three commits (see commit descriptions) which:
- Fix 64-bit debug windows builds in MSVC 2015
- Make it possible to use the tool-prefix aot option with mono/mini make fullaotcheck (necessary if you are in cygwin and wish to invoke `x86_64-w64-mingw32-gcc`)
- Change mini so that `--aot=full` successfully emits 64-bit windows executables.
Building 32 bit executables will generally fail because we do not follow cdecl. The 64 bit executables do not run properly when executed.
monojenkins [Tue, 29 Mar 2016 15:15:20 +0000 (16:15 +0100)]
Merge pull request #2767 from lambdageek/dev/monoerror-mono_lookup_dynamic_token
[runtime] MonoError-ize mono_loookup_dynamic_token{,_class}
Push `MonoError` through `mono_lookup_dynamic_token_class` and `mono_lookup_dynamic_token`
Also simplify the implementations of those functions so that they call `mono_reflection_lookup_dynamic_token` directly, rather than via a function pointer. The old implementation was a holdover from when the runtime was implemented as separate libraries.
Alexander Köplinger [Tue, 29 Mar 2016 13:02:20 +0000 (15:02 +0200)]
[runtime] Use mono_object_isinst_checked for ppc and ia64
The usages were only partially changed in the move from mono_object_isinst in
fbe121079035450251d4169b71b64196c9f5657c and caused build errors.
Marek Safar [Tue, 29 Mar 2016 11:24:32 +0000 (13:24 +0200)]
Bump referencesource
Marek Safar [Tue, 29 Mar 2016 07:33:39 +0000 (09:33 +0200)]
Merge pull request #896 from echampet/webresource
[Fix] ReusableHashAlgorithm doesn't set the Key of the ValidationAlgorit...
Zoltan Varga [Tue, 29 Mar 2016 01:46:23 +0000 (21:46 -0400)]
[bcl] Avoid printing debug messages to stdout in the default trace listener when a debugger is connected. Fixes #13538.
Zoltan Varga [Tue, 29 Mar 2016 00:44:40 +0000 (20:44 -0400)]
[amd64] Avoid passing the pc/pc offset to the throw corlib exception trampoline in llvm mode, instead simply use the return address pushed by the call itself. In JIT mode, this is needed because the throw code is generated out of line so its not inside the try range, but in llvm mode, the try-range encompasses the call.
Zoltan Varga [Mon, 28 Mar 2016 22:33:53 +0000 (18:33 -0400)]
[jit] Pass the type token index instead of the full type token to the throw corlib exceptions functions on most platforms to reduce the size of the generated code.
monojenkins [Mon, 28 Mar 2016 20:12:07 +0000 (21:12 +0100)]
Merge pull request #2798 from BrzVlad/fix-sgen-timestamp
[sgen] Fix sgen binary protocol timestamp
TV_ELAPSED was cast to long instead of gint64, overflowing on some platforms.
Zoltan Varga [Mon, 28 Mar 2016 20:02:05 +0000 (16:02 -0400)]
[bcl] Avoid 'sed: net_4_x_System.ServiceModel_test.dll.excludes: No such file or directory' warnings during the build.
Zoltan Varga [Mon, 28 Mar 2016 19:50:35 +0000 (15:50 -0400)]
[arm] In the llvm throw corlib exception trampoline, use the normal caller ip instead of the argument passed in by the caller since that might not point directly to the call instruction. Fixes #39420.
Zoltan Varga [Mon, 28 Mar 2016 19:48:01 +0000 (15:48 -0400)]
[runtime] Make an argument name more descriptive.
Rodrigo Kumpera [Mon, 28 Mar 2016 19:08:43 +0000 (12:08 -0700)]
Merge pull request #2797 from kumpera/android_krait_bug
[android] Fix Krait CPU bug on Android.
monojenkins [Mon, 28 Mar 2016 18:56:03 +0000 (19:56 +0100)]
Merge pull request #2785 from alexanderkyte/cached_info_leak
[runtime] Free cached_info tables on cleanup
Vlad Brezae [Tue, 9 Feb 2016 09:29:56 +0000 (11:29 +0200)]
[sgen] Cement objects for the finishing pause
With the concurrent collector, we used to reset cementing at the start of the finishing pause (we can uncement since we process all the remsets when the world is stopped, through the mod union entries). This processing means cardtable scan in the finishing pause. In order to reduce pause time and overhead, we extend cementing for the finishing pause. Now we don't uncement objects (during sgen_cement_reset) that are still pinned in the roots at the start of the concurrent collection. We won't mark mod_union entries for these objects and they will survive the collection in the nursery. They can become uncemented at the start of the next major collection, given that they are no longer pinned in the roots.
Vlad Brezae [Tue, 9 Feb 2016 09:31:04 +0000 (11:31 +0200)]
[sgen] Don't scan the roots on the worker
We used to enqueue the jobs on the worker only for us to wait for them to finish in the same pause.
Aleksey Kliger [Wed, 16 Mar 2016 00:24:12 +0000 (17:24 -0700)]
[runtime] MonoError-ize mono_lookup_dynamic_token
Aleksey Kliger [Wed, 16 Mar 2016 00:03:35 +0000 (17:03 -0700)]
[runtime] MonoError-ize mono_lookup_dynamic_token_class
It just calls mono_reflection_lookup_dynamic_token directly.
Aleksey Kliger [Tue, 15 Mar 2016 23:14:07 +0000 (16:14 -0700)]
[runtime] Remove MonoLookupDynamicToken indirection
Call mono_reflection_lookup_dynamic_token directly from
mono_lookup_dynamic_token.
Delete mono_install_lookup_dynamic_token () and the
MonoLookupDynamicToken typedef.
Aleksey Kliger [Tue, 15 Mar 2016 22:46:43 +0000 (15:46 -0700)]
[reflection] MonoError-ize mono_reflection_lookup_dynamic_token
Since it gets installed as a callback, update the MonoLookupDynamicToken typedef.
Aleksey Kliger [Mon, 28 Mar 2016 16:30:16 +0000 (12:30 -0400)]
[SRE] Fix compile warning in encode_cattr_value
Landed mono_object_isinst_checked PR in a way that broke encode_cattr_value.
Vlad Brezae [Fri, 18 Mar 2016 09:05:14 +0000 (16:05 +0700)]
[sgen] Fix sgen binary protocol timestamp
TV_ELAPSED was cast to long instead of gint64, overflowing on some platforms.
Vlad Brezae [Mon, 28 Mar 2016 16:26:08 +0000 (23:26 +0700)]
Merge pull request #2621 from BrzVlad/feature-conc-preclean
[sgen] Concurrent precleaning of card table
Aleksey Kliger (λgeek) [Mon, 28 Mar 2016 15:27:36 +0000 (11:27 -0400)]
Merge pull request #2795 from lambdageek/dev/marshal-no-raise
[marshal] Don't raise an exception, just assert
monojenkins [Mon, 28 Mar 2016 14:45:22 +0000 (15:45 +0100)]
Merge pull request #2770 from lambdageek/dev/monoerror-object_isinst_mbyref
[runtime] MonoError-ize mono_object_isinst{,_mbyref}
Also mark them external only. Runtime should use mono_object_isinst_mbyref_checked and mono_object_isinst_checked
Zoltan Varga [Fri, 25 Mar 2016 22:35:10 +0000 (18:35 -0400)]
[aot] Emit a .subsections_via_symbols directive on arm.
Zoltan Varga [Sun, 27 Mar 2016 22:49:57 +0000 (18:49 -0400)]
[aot] Fix a memory leak.
Zoltan Varga [Sun, 27 Mar 2016 22:43:29 +0000 (18:43 -0400)]
[runtime] Avoid setting klass->instance_size if its already set, this can happen when loading cached class info from an AOT image. This could lead to random crashes/asserts since klass->instance_size is directly modified while it is computed.
Zoltan Varga [Sun, 27 Mar 2016 22:41:11 +0000 (18:41 -0400)]
[runtime] Fix a memory leak in ves_icall_Type_GetNestedTypes ().
Alexander Köplinger [Sun, 27 Mar 2016 15:33:48 +0000 (17:33 +0200)]
Merge pull request #2779 from akoeplinger/fix-socket-closed
[System] Use Monitor.Wait/Pulse in SafeSocketHandle instead of Thread.Sleep
Alexander Köplinger [Mon, 21 Mar 2016 15:27:19 +0000 (16:27 +0100)]
[System] Use Monitor.Wait/Pulse in SafeSocketHandle instead of Thread.Sleep
We are quite frequently seeing an error on the ARM workers on Jenkins:
```
Test Case Failures:
1) MonoTests.System.Net.Sockets.SocketTest.SendAsyncFile : System.Exception : Could not abort registered blocking threads before closing socket.
at System.Net.Sockets.SafeSocketHandle.ReleaseHandle () [0x000be] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/mcs/class/System/System.Net.Sockets/SafeSocketHandle.cs:77
at System.Runtime.InteropServices.SafeHandle.DangerousReleaseInternal (Boolean dispose) <0x42cb0050 + 0x0020b> in <filename unknown>:0
at System.Runtime.InteropServices.SafeHandle.InternalDispose () <0x446ba758 + 0x00023> in <filename unknown>:0
at System.Runtime.InteropServices.SafeHandle.Dispose (Boolean disposing) [0x00000] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/mscorlib/system/runtime/remoting/callcontext.cs:804
at System.Runtime.InteropServices.SafeHandle.Dispose () [0x00000] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/external/referencesource/mscorlib/system/runtime/remoting/callcontext.cs:795
at System.Net.Sockets.Socket.Dispose (Boolean disposing) [0x00047] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/mcs/class/System/System.Net.Sockets/Socket.cs:3321
at System.Net.Sockets.Socket.Dispose () [0x00000] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/mcs/class/System/System.Net.Sockets/Socket.cs:3327
at System.Net.Sockets.Socket.Close () [0x00007] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/mcs/class/System/System.Net.Sockets/Socket.cs:3256
at MonoTests.System.Net.Sockets.SocketTest.SendAsyncFile () [0x000e7] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/mcs/class/System/Test/System.Net.Sockets/SocketTest.cs:4331
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0003d] in /media/ssd/jenkins/workspace/test-mono-mainline/label/debian-armhf/mcs/class/corlib/System.Reflection/StrongNameKeyPair.cs:103
```
Let's see if implementing the suggestion from https://github.com/mono/mono/pull/1612/files#r26393224
fixes this. I couldn't reproduce the test failure even on the same ARM machine so this is a bit of
an opportunistic change, but it feels like the more "correct" solution anyway.
I decided to inline AbortRegisteredThreads as at the only place we're calling it we already know
blocking_threads can't be null and acquired the lock.
monojenkins [Sat, 26 Mar 2016 01:41:10 +0000 (01:41 +0000)]
Merge pull request #2789 from lambdageek/dev/monoerror-threading
[threadpool-ms] MonoError-ize
1. Convert icalls that throw `NotImplementedException` to do it via mono_error_set_pending_exception
2. Add MonoError outargs to `mono_threadpool_ms_enqueue_work_item` and `mono_threadpool_ms_begin_invoke`
Aleksey Kliger [Thu, 17 Mar 2016 21:41:20 +0000 (14:41 -0700)]
[runtime] MonoError-ize mono_object_isinst
Mark it external only. Runtime should use mono_object_isinst_checked.
Aleksey Kliger [Wed, 23 Mar 2016 18:06:01 +0000 (14:06 -0400)]
[threadpool-ms] MonoError-ize mono_threadpool_ms_begin_invoke
monojenkins [Fri, 25 Mar 2016 20:55:38 +0000 (20:55 +0000)]
Merge pull request #2748 from lambdageek/dev/monoerror-mono_value_box
[runtime] Make mono_value_box use MonoError
Mark it external only. Runtime should use mono_value_box_checked.
Aleksey Kliger [Wed, 16 Mar 2016 23:42:30 +0000 (16:42 -0700)]
[runtime] MonoError-ize mono_object_isinst_mbyref
Also mark it external only. Runtime should use mono_object_isinst_mbyref_checked
Aleksey Kliger [Fri, 25 Mar 2016 19:23:19 +0000 (15:23 -0400)]
[MonoError] change mono_error_set_pending_exception to return a bool
Return TRUE if pending exception was set, FALSE otherwise.
The idea is that you can write:
if (mono_error_set_pending_exception (error)) {
/* cleanup */
return;
}
Rodrigo Kumpera [Mon, 16 Nov 2015 05:22:56 +0000 (00:22 -0500)]
[android] Fix Krait CPU bug on Android.
Krait cpus don't ignore thumb ITT state in ARM mode (it's unspecified CPU behavior).
The linux kernel then didn't bother resetting that state when landing an ARM signal handler.
The end result was that Krait cpus would skip the first few instructions of the signal handler
and things would explode in the most amazing possible ways.
Patch by Mark Probst <mark.probst@gmail.com>.
Aleksey Kliger [Fri, 25 Mar 2016 17:29:03 +0000 (13:29 -0400)]
[marshal] Don't raise an exception, just assert
Don't raise deep in the marshalling code, just assert.
(Raising means we'd have to convert the code to use MonoError and then
thread it out through all of the marshalling code resulting in a lot of
code churn)
Aleksey Kliger [Thu, 10 Mar 2016 19:23:43 +0000 (14:23 -0500)]
[runtime] MonoError-ize mono_nullable_box
Aleksey Kliger [Thu, 10 Mar 2016 15:35:04 +0000 (10:35 -0500)]
[runtime] Make mono_value_box use MonoError
Mark it external only. Runtime should use mono_value_box_checked.
Aleksey Kliger [Wed, 23 Mar 2016 16:56:01 +0000 (12:56 -0400)]
[threadpool-ms] MonoError-ize mono_threadpool_ms_enqueue_work_item
Take a MonoError outarg; return boolean on success/failure.
Aleksey Kliger [Wed, 23 Mar 2016 16:49:51 +0000 (12:49 -0400)]
[threadpool-ms] MonoError-ize some not implemented icalls.
1. ves_icall_System_Threading_ThreadPool_ReportThreadStatus
2. ves_icall_System_Threading_ThreadPool_PostQueuedCompletionStatus
Aleksey Kliger (λgeek) [Fri, 25 Mar 2016 15:33:37 +0000 (11:33 -0400)]
Merge pull request #2791 from lambdageek/dev/monoerror-cleanup-deadcode
[runtime] Remove dead code and don't throw in embedding API functions
Vlad Brezae [Tue, 8 Mar 2016 02:41:20 +0000 (04:41 +0200)]
[sgen] Add option for enabling/disabling precleaning
Vlad Brezae [Tue, 19 Jan 2016 09:21:39 +0000 (11:21 +0200)]
[sgen] Preclean mod union entries before the finishing pause
When the concurrent mark ends, we have another concurrent phase where we scan the cardtable trying to clean as many cards as possible. The way we achieve this is by first copying all the mod union cards (for each block/los_obj) to a separate temporary card_table. When scanning we will only scan these cards. Therefore we will first preclean these cards in the actual mod_union card_tables, followed by a full memory barrier (which assures us that, when scanning, we will observe the changes that led to the corresponding card marks) and then by a normal mod_union scan, which can remark some of these cards, without any races with the preclean phase.
Vlad Brezae [Tue, 8 Mar 2016 02:42:41 +0000 (04:42 +0200)]
[sgen] Move assert to the right place
Vlad Brezae [Mon, 7 Mar 2016 16:36:28 +0000 (18:36 +0200)]
[runtime] Enclose define parameters in parentheses
Vlad Brezae [Sun, 7 Feb 2016 23:08:24 +0000 (01:08 +0200)]
[sgen] Add separate scan function for handling a single pointer entry
This way we avoid duplicating cardtable marking code, making sure we have consistent code.
For example, when scanning los objects in the mod union scan step, we didn't check whether the object is cemented or not, leading to additional unnecessary global remsets for the next nursery collection.
Vlad Brezae [Mon, 25 Jan 2016 01:17:55 +0000 (03:17 +0200)]
[sgen] Move scan vtype with the other object ops
Vlad Brezae [Mon, 25 Jan 2016 01:02:41 +0000 (03:02 +0200)]
[sgen] Simplify defines for object ops
Vlad Brezae [Fri, 22 Jan 2016 18:16:01 +0000 (20:16 +0200)]
[sgen] Allow read only access on block list without taking GC_LOCK
Still, block list should not be accessed while sweep is running.
Vlad Brezae [Fri, 22 Jan 2016 16:13:49 +0000 (18:13 +0200)]
[sgen] Allow read only access of los object list without taking GC_LOCK
Still, object lists should not be accessed while sweep is running.
Vlad Brezae [Fri, 22 Jan 2016 00:08:06 +0000 (02:08 +0200)]
[sgen] Extract the handle array code for reuse
We add a new data structure which contains a bucket of entries, exponentially increasing in sizes. The structure is customizable through a few callbacks.
Setting is_slot_set_func enables us to also lookup empty slots, instead of only adding entries at the end of the list.
Setting set_slot_func enables the use of a customized function for setting the slot. If this function is not set, the slots and array fields will be set directly, therefore the structure won't be thread safe.
Vlad Brezae [Tue, 19 Jan 2016 17:43:04 +0000 (19:43 +0200)]
[sgen] Don't prefetch unused memory when scanning the card table
When doing the mod union scan, we use the block's cardtable (instead of the global one), which we also cannot prefetch, since that would mean dereferencing the block info.
Alexander Köplinger [Fri, 25 Mar 2016 00:05:23 +0000 (01:05 +0100)]
Merge pull request #2793 from radical/fix-mcs-args
[mcs] Accept and ignore command line args supported by csc that we don't
Aleksey Kliger [Wed, 23 Mar 2016 21:13:16 +0000 (17:13 -0400)]
[runtime] mark mono_domain_unload external only
Runtime should use mono_domain_try_unload
Aleksey Kliger [Wed, 23 Mar 2016 21:02:04 +0000 (17:02 -0400)]
[runtime] Remove CHECK_MONOTYPE macro
It's dead code.
Aleksey Kliger [Wed, 23 Mar 2016 20:53:32 +0000 (16:53 -0400)]
[runtime] Delete mono_assert and mono_assert_not_reached
Runtime should use g_assert and g_assert_not_reached or set a MonoError,
as needed.
Also remove REAL_PRINT_REG dead macros from mini-x86.c and mini-amd64.c
Aleksey Kliger [Wed, 23 Mar 2016 20:21:52 +0000 (16:21 -0400)]
[runtime] Change mono_object_castclass_mbyref not to throw
Mark the function external only. (There are no uses inside the runtime).
Change behavior to return NULL if unable to cast, instead of throwing.
Aleksey Kliger (λgeek) [Thu, 24 Mar 2016 23:19:49 +0000 (19:19 -0400)]
Merge pull request #2790 from lambdageek/dev/monoerror-corlib-execeptions
[MonoError] Helpers for some common corlib exceptions
Andi McClure [Thu, 24 Mar 2016 21:11:48 +0000 (14:11 -0700)]
Make --aot=full able to emit executables on 64 bit Windows
- COFF does not use .local or .size
- COFF does use .def to mark functions and .data to mark data
- The seh_handler functions should not be called on full aot builds (Zoltan says they are unnecessary in full aot, and they attempt to jit)
The executables do not yet run without crashing.
Andi McClure [Mon, 28 Mar 2016 21:30:56 +0000 (17:30 -0400)]
Support tool-prefix in mono/mini fullaotcheck
* Support MONO_FULLAOT_ADDITIONAL_ARGS env var for make fullaotcheck, appended to --aot parameters
* To support above, permit "blank" parameters (ie trailing commas on parameter list) to --aot=
* --aot tool-prefix parameter now supported for LD as well as AS
Andi McClure [Mon, 28 Mar 2016 21:26:09 +0000 (17:26 -0400)]
Fix debug Windows builds in MSVC 2015
We were sometimes passing invalid input to isalnum(). On the debug version of MSVCRT this would result in an assert.
Zoltan Varga [Thu, 24 Mar 2016 20:04:59 +0000 (20:04 +0000)]
[arm] Fix support for soft breakpoints.
Ankit Jain [Thu, 24 Mar 2016 19:21:58 +0000 (15:21 -0400)]
[mcs] Accept and ignore command line args supported by csc that we don't
support:
/analyzer
/appconfig
/baseaddress
/deterministic
/errorendlocation
/errorlog
/features
/link
/moduleassemblyname
/pathmap
/pdb
/preferreduilang
/publicsign
/reportanalyzer
/ruleset
/sqmsessionguid
Zoltan Varga [Thu, 24 Mar 2016 16:49:47 +0000 (12:49 -0400)]
[runtime] Make the appdomain-unload.exe test more verbose.
Zoltan Varga [Thu, 24 Mar 2016 16:06:33 +0000 (12:06 -0400)]
[aot] Reenable the emission of line number info using GAS .file/.loc directives, recent versions of clang seems to support it.
Zoltan Varga [Thu, 24 Mar 2016 15:45:56 +0000 (11:45 -0400)]
[jit] Fix the dwarf info structure when there is no line number table.
Zoltan Varga [Thu, 24 Mar 2016 15:28:33 +0000 (11:28 -0400)]
[jit] Remove the 'appending' support from the dwarf writer, its no longer used.
Zoltan Varga [Thu, 24 Mar 2016 01:01:05 +0000 (21:01 -0400)]
[jit] Get rid of the create_delegate_trampoline_data () helper function which only has one caller.
Aleksey Kliger (λgeek) [Thu, 24 Mar 2016 15:19:42 +0000 (11:19 -0400)]
Merge pull request #2768 from lambdageek/dev/monoerror-cominterop
[com] MonoError-ize cominterop.c
Alexis Christoforides [Thu, 24 Mar 2016 14:45:48 +0000 (10:45 -0400)]
Merge pull request #2663 from esdrubal/islocal
[System] Fixes HttpListenerRequest.IsLocal.
Chris Hamons [Wed, 23 Mar 2016 21:45:29 +0000 (16:45 -0500)]
Create xammac_net_4_5 variant of System.Runtime.Remoting
Alexander Köplinger [Thu, 24 Mar 2016 02:11:47 +0000 (03:11 +0100)]
Trigger a rebuild of Mono.Security
Martin Baulig [Wed, 23 Mar 2016 23:42:26 +0000 (19:42 -0400)]
[Mono.Security]: MonoTlsProvider.InvokeSystemCertificateValidator() now takes 'ref X509Chain'.
Martin Baulig [Tue, 22 Mar 2016 03:43:59 +0000 (23:43 -0400)]
[System]: Add private 'X500DistinguishedName' API to store the canonical encoding and use it for fast comparison.
Martin Baulig [Wed, 16 Mar 2016 04:20:39 +0000 (00:20 -0400)]
[System]: SystemCertificateValidator.CheckUsage(): lazily convert to X509Certificate2 if needed.
Martin Baulig [Tue, 15 Mar 2016 23:36:48 +0000 (19:36 -0400)]
[System]: Make 'X509Certificate2' and 'X509Chain' lazily-initialized.
Add new internal 'X509Certificate2Impl' and 'X509ChainImpl' classes similar to
'X509CertificateImpl' in corlib and only initialize them when actually needed.
Martin Baulig [Tue, 15 Mar 2016 23:33:11 +0000 (19:33 -0400)]
[corlib]: Cleanup the internal 'X509CertificateImpl' API.
Zoltan Varga [Wed, 23 Mar 2016 21:11:28 +0000 (17:11 -0400)]
[ppdb] Disable the metadata verifier for ppdb tables for now. Fixes #39631.
Aleksey Kliger [Wed, 23 Mar 2016 19:10:53 +0000 (15:10 -0400)]
[MonoError] Use mono_error_set_execution_engine helper
Aleksey Kliger [Wed, 23 Mar 2016 19:11:16 +0000 (15:11 -0400)]
[MonoError] Use mono_error_set_not_supported helper
Aleksey Kliger [Wed, 23 Mar 2016 19:02:44 +0000 (15:02 -0400)]
[MonoError] Use mono_error_set_not_implemented helper
Aleksey Kliger [Wed, 23 Mar 2016 18:56:34 +0000 (14:56 -0400)]
[MonoError] add helpers for some corlib exceptions
System.ExecutionEngineException
System.NotSupportedException
System.NotImplementedException
Zoltan Varga [Wed, 23 Mar 2016 18:10:16 +0000 (14:10 -0400)]
[man] Remove documentation for the nonexistent MONO_ENABLE_SHM environment variable.
Alexander Köplinger [Wed, 23 Mar 2016 15:43:24 +0000 (16:43 +0100)]
Merge pull request #2784 from mhutch/msbuild-fixes
Fix regressions in Microsoft.Build.dll
Marek Safar [Wed, 23 Mar 2016 14:44:25 +0000 (15:44 +0100)]
[cil-stringreplacer] Use Cecil as reference dependency
Marek Safar [Wed, 23 Mar 2016 12:08:40 +0000 (13:08 +0100)]
[cil-stringreplacer] Update debug symbol
monojenkins [Tue, 22 Mar 2016 22:35:21 +0000 (22:35 +0000)]
Merge pull request #2783 from alexanderkyte/strdup_memory_leaks
[runtime] Fix memory leaks related to short-lived strings
monojenkins [Tue, 22 Mar 2016 22:35:16 +0000 (22:35 +0000)]
Merge pull request #2775 from lambdageek/dev/monoerror-reflection-icalls
[SRE] MonoError-ize some icalls
* Cleanup some memory that would leak on failure; improve a few error messages
* Add MonoError to `mono_reflection_call_is_assignable_to` and `fieldbuilder_to_mono_class_field`.
* Update several SRE icalls to follow the pattern:
```c
void
the_icall (args... )
{
MonoError error;
(void) the_real_work_function (args..., &error);
mono_error_set_pending_exception (&error);
}
static gboolean
the_real_work_function (args..., MonoError *error)
{
... /* return TRUE on success, FALSE and set error on failure */ ...
}
```
Do this to:
1. `mono_reflection_register_with_runtime`
2. `mono_reflection_setup_internal_class`
3. `mono_reflection_create_internal_class`
4. `mono_reflection_generic_class_initialize`
5. `mono_reflection_event_builder_get_event_info`
6. `mono_reflection_initialize_generic_parameter`
7. `mono_reflection_create_dynamic_method`
Alexander Köplinger [Tue, 22 Mar 2016 17:58:06 +0000 (18:58 +0100)]
Merge pull request #2782 from madewokherd/process-sessionid
[System.Diagnostics] Return dummy value from Process.SessionId.
Vincent Povirk [Mon, 21 Mar 2016 21:50:56 +0000 (16:50 -0500)]
[System.Diagnostics] Return dummy value from Process.SessionId.
Joao Matos [Tue, 22 Mar 2016 17:45:57 +0000 (17:45 +0000)]
[sgen] Switch the default GC bridge to the new mode.
Mikayla Hutchinson [Tue, 22 Mar 2016 16:06:19 +0000 (12:06 -0400)]
[Microsoft.Build] Shut down single-use build manager