Zoltan Varga [Mon, 1 Sep 2014 15:47:11 +0000 (11:47 -0400)]
Bump version to 3.10.
Zoltan Varga [Sat, 19 Jul 2014 02:07:58 +0000 (04:07 +0200)]
[runtime] Factor out the nested types computation code from mono_class_get_nested_types () and reorganize it so most of the work is done outside the loader lock.
Zoltan Varga [Sat, 19 Jul 2014 01:53:48 +0000 (03:53 +0200)]
[runtime] Use the image locks in many places instead of the loader lock.
Zoltan Varga [Sat, 19 Jul 2014 01:06:11 +0000 (03:06 +0200)]
[runtime] Remove a missed mono_loader_unlock () from mono_metadata_get_header ().
Zoltan Varga [Sat, 19 Jul 2014 00:44:46 +0000 (02:44 +0200)]
[runtime] Reorganize mono_method_signature_checked () so most of the work is done outside the loader lock.
Zoltan Varga [Sat, 19 Jul 2014 00:18:18 +0000 (02:18 +0200)]
[runtime] Reorganize mono_method_get_header () so most of the work is done outside the loader lock.
Zoltan Varga [Fri, 18 Jul 2014 12:04:30 +0000 (14:04 +0200)]
[runtime] Remove locking from the mono_get_method_constrained_... () functions, its not needed.
Zoltan Varga [Fri, 18 Jul 2014 11:45:21 +0000 (13:45 +0200)]
[runtime] Reorganize mono_class_setup_interfaces () so most of the work is done outside the loader lock.
Zoltan Varga [Fri, 18 Jul 2014 11:15:38 +0000 (13:15 +0200)]
[runtime] Move the initialization of class->has_finalize into mono_class_has_finalizer () in most cases.
Zoltan Varga [Fri, 18 Jul 2014 03:09:21 +0000 (05:09 +0200)]
[runtime] Reorganize mono_class_setup_methods () so most of the work is done outside the loader lock.
Zoltan Varga [Fri, 18 Jul 2014 02:43:50 +0000 (04:43 +0200)]
[runtime] Reorganize mono_class_has_finalizer () so most of the work is done outside the loader lock.
Zoltan Varga [Fri, 18 Jul 2014 02:33:26 +0000 (04:33 +0200)]
[runtime] Reorganize mono_class_setup_events () so most of the work is done outside the loader lock.
Zoltan Varga [Fri, 18 Jul 2014 02:25:42 +0000 (04:25 +0200)]
[runtime] Reorganize mono_class_setup_properties () so most of the work is done outside the loader lock.
Zoltan Varga [Thu, 17 Jul 2014 22:02:41 +0000 (00:02 +0200)]
[runtime] Use the image lock in mono_type_from_typespec () instead of the loader lock. Also do most of the work outside the lock.
Rodrigo Kumpera [Mon, 1 Sep 2014 14:13:41 +0000 (10:13 -0400)]
Merge pull request #1246 from schani/feature-separate-pointer-queue
[sgen] Refactor pointer queue out of pinning code.
Marek Safar [Mon, 1 Sep 2014 12:58:32 +0000 (14:58 +0200)]
Marek Safar [Mon, 1 Sep 2014 12:57:23 +0000 (14:57 +0200)]
[mcs] Fix removing incomplete generic types from eval cache. Fixes #22393
Marek Safar [Mon, 1 Sep 2014 11:26:48 +0000 (13:26 +0200)]
[mcs] Parsing of ternary expressions whose then condition is a lambda. Fixes #22523
Marek Safar [Mon, 1 Sep 2014 11:22:21 +0000 (13:22 +0200)]
[mcs] Remove wrong test
Marek Safar [Mon, 1 Sep 2014 10:43:32 +0000 (12:43 +0200)]
Marek Safar [Mon, 1 Sep 2014 09:22:57 +0000 (11:22 +0200)]
[system.data.linq] Delay reflection hit to actual execution point. Workarounds #22522
Marek Safar [Mon, 1 Sep 2014 08:09:09 +0000 (10:09 +0200)]
[system.net.http] Update RequestMessage.RequestUri.AbsoluteUri after redirect. Fixes #22383
Zoltan Varga [Sun, 31 Aug 2014 08:34:10 +0000 (04:34 -0400)]
[runtime] Fix the windows build.
Marek Safar [Sat, 30 Aug 2014 11:51:58 +0000 (13:51 +0200)]
[mcs] Revert to broken native csc definite assignment for structs
Marek Safar [Sat, 30 Aug 2014 10:05:42 +0000 (12:05 +0200)]
[mcs] nonliteral constants pattern matching
Marek Safar [Sat, 30 Aug 2014 06:23:26 +0000 (08:23 +0200)]
[xbuild] Fix InstalledAssemblyTables signature
Marek Safar [Fri, 29 Aug 2014 10:35:47 +0000 (12:35 +0200)]
[mcs] simple constants pattern matching
Zoltan Varga [Sat, 30 Aug 2014 03:47:33 +0000 (23:47 -0400)]
[aot] Fix full-aot support when the AOT cache is enabled.
Zoltan Varga [Sat, 30 Aug 2014 03:47:01 +0000 (23:47 -0400)]
[jit] Avoid hardcoding tls offsets into the aot versions of the monitor enter/exit trampolines on amd64.
Zoltan Varga [Fri, 29 Aug 2014 23:30:15 +0000 (19:30 -0400)]
[jit] Avoid uninitialized fields in the MonoDelegateTrampInfo structure.
Zoltan Varga [Fri, 29 Aug 2014 23:29:48 +0000 (19:29 -0400)]
[runtime] Fix reading past the end of a string when setting the native thread name.
Zoltan Varga [Fri, 29 Aug 2014 21:42:37 +0000 (17:42 -0400)]
Zoltan Varga [Fri, 29 Aug 2014 21:03:23 +0000 (17:03 -0400)]
[runtime] Add an adapter between the MonoPrintCallback and the eglib GPrintFunc types.
Mark Probst [Wed, 22 Jan 2014 22:08:19 +0000 (14:08 -0800)]
[sgen] Refactor pointer queue out of pinning code.
Tom Hindle [Fri, 29 Aug 2014 20:05:50 +0000 (16:05 -0400)]
Fix mono_marshal_free_ccw (). Fixes #22414.
Zoltan Varga [Fri, 29 Aug 2014 19:06:25 +0000 (15:06 -0400)]
[bcl] Catch exceptions thrown by SerialPortStream.Dispose () when called from the finalizer. Fixes #15514.
Zoltan Varga [Fri, 29 Aug 2014 19:04:40 +0000 (15:04 -0400)]
[sdb] Fix the checking of the handshake message.
Zoltan Varga [Fri, 29 Aug 2014 18:28:02 +0000 (14:28 -0400)]
[runtime] Add functionality for AOTing assemblies on demand when they are first used. Configurable using a new "aotconfig" config element, i.e. <aotcache assemblies="mscorlib System"/>.
Zoltan Varga [Fri, 29 Aug 2014 18:20:40 +0000 (14:20 -0400)]
[runtime] Add Steve Reid's public domain SHA1 code.
Rodrigo Kumpera [Fri, 29 Aug 2014 18:33:27 +0000 (14:33 -0400)]
[eglib] Fix stderr output redirection.
Marek Safar [Fri, 29 Aug 2014 10:16:24 +0000 (01:16 -0900)]
Merge pull request #1242 from esdrubal/xelement
Fixes XContainer attempt to create a XNode from a null value.
Marcos Henrich [Fri, 29 Aug 2014 09:59:39 +0000 (17:59 +0800)]
Fixes XContainer attempt to create a XNode from a null value.
Fixes #20151.
Marcos Henrich [Fri, 29 Aug 2014 09:57:31 +0000 (17:57 +0800)]
Test XElement constructed from array with null values as object.
Covers #20151.
Marek Safar [Fri, 29 Aug 2014 06:05:14 +0000 (21:05 -0900)]
Merge pull request #1237 from esdrubal/xdocument
Changed XObject OnChanged and OnChanging to use Owner.
Marek Safar [Fri, 29 Aug 2014 06:03:44 +0000 (21:03 -0900)]
Merge pull request #1241 from RyanMelenaNoesis/patch-1
Update X509CertificateValidationMode.cs
Ryan Melena [Fri, 29 Aug 2014 01:26:08 +0000 (20:26 -0500)]
Update X509CertificateValidationMode.cs
Remove explicit enum values for sake of consistency with existing enum.
Alexis Christoforides [Fri, 29 Aug 2014 00:21:58 +0000 (20:21 -0400)]
Merge pull request #1240 from NoesisLabs/master
Correct duplicate X509CertificateValidationMode definition error
Ryan J. Melena [Fri, 29 Aug 2014 00:01:48 +0000 (19:01 -0500)]
Correct duplicate X509CertificateValidationMode definition error caused by enum changing assemblies between .NET 4.0 and 4.5.
Zoltan Varga [Thu, 28 Aug 2014 23:17:43 +0000 (19:17 -0400)]
Merge pull request #1200 from akoeplinger/remove-jvm
[Cleanup] Remove TARGET_JVM
Rodrigo Kumpera [Thu, 28 Aug 2014 23:12:51 +0000 (19:12 -0400)]
Revert "Merge pull request #1219 from panzone/los_partial_marking"
This reverts commit
397176d70101b9bcb7b016ad028378cadb3d302e, reversing
changes made to
33c345a945fb67d8964213dc032214ba65e55321.
Zoltan Varga [Thu, 28 Aug 2014 22:50:47 +0000 (18:50 -0400)]
Merge pull request #1235 from directhex/master
Add g_Ctoc to list of acceptable g_* symbols in mono, for test-eglib-remap
Zoltan Varga [Thu, 28 Aug 2014 20:44:45 +0000 (16:44 -0400)]
[runtime] Fix a crash in the logging profiler when enumerating elf images.
Rodrigo Kumpera [Thu, 28 Aug 2014 20:12:47 +0000 (16:12 -0400)]
Merge pull request #1238 from esdrubal/datetimeoffset
Fixed DateTime compiler errors.
Alexis Christoforides [Thu, 28 Aug 2014 20:08:46 +0000 (16:08 -0400)]
Merge pull request #1236 from NoesisLabs/master
Support JWT functionality in System.IdentityModel.Tokens.Jwt
Marcos Henrich [Thu, 28 Aug 2014 19:58:03 +0000 (03:58 +0800)]
Fixed DateTime compiler errors.
Marcos Henrich [Thu, 28 Aug 2014 18:09:12 +0000 (02:09 +0800)]
Changed XObject OnChanged and OnChanging to use Owner.
When XObject.Owner is not a XElement XObject.Parent returns null and the owner would not be notified of changing and changed events.
Fixes:#18772
Marcos Henrich [Thu, 28 Aug 2014 18:00:30 +0000 (02:00 +0800)]
Test XDocument.Changed event. Covers #18772.
Ryan J. Melena [Thu, 28 Aug 2014 15:34:09 +0000 (10:34 -0500)]
Add compiler pragmas for conditional .NET 4.5 compilation
Ryan J. Melena [Thu, 28 Aug 2014 15:05:58 +0000 (10:05 -0500)]
Add file comment headers. This change is released under the MIT license.
Ryan J. Melena [Thu, 28 Aug 2014 14:23:51 +0000 (09:23 -0500)]
Fix VS changes to .csproj file. This change is released under the MIT license.
Ryan J. Melena [Thu, 28 Aug 2014 14:15:15 +0000 (09:15 -0500)]
Minimal implementation of classes and methods necessary to support the JWT functionality in System.IdentityModel.Tokens.Jwt (https://github.com/MSOpenTech/azure-activedirectory-identitymodel-extensions-for-dotnet). This change is released under the MIT license.
Rodrigo Kumpera [Thu, 28 Aug 2014 16:28:05 +0000 (12:28 -0400)]
Merge pull request #1219 from panzone/los_partial_marking
[Sgen parallel collector] Los partial marking
Jo Shields [Thu, 28 Aug 2014 16:26:31 +0000 (17:26 +0100)]
Add g_Ctoc to list of acceptable g_* symbols in mono, for test-eglib-remap.
In theory, this test is used to verify that no unknown glib symbols exist
in eglib. However, it's tripping on g_Ctoc which is not a glib (or eglib)
symbol, instead it comes from the IO layer - and glib symbols never use
uppercase characters anyway
Marek Safar [Thu, 28 Aug 2014 16:06:30 +0000 (07:06 -0900)]
Merge pull request #1234 from esdrubal/datetimeoffset
DateTime.CoreParseExact.
Marek Safar [Thu, 28 Aug 2014 15:44:42 +0000 (17:44 +0200)]
[xbuild] Allow metadata in skipped task output expressions
Marcos Henrich [Thu, 28 Aug 2014 15:43:10 +0000 (23:43 +0800)]
Removed unreachable code.
Marcos Henrich [Thu, 28 Aug 2014 15:39:03 +0000 (23:39 +0800)]
Changed DateTimeOffset.ParseExact to use DateTime.CoreParseExact.
Marcos Henrich [Thu, 28 Aug 2014 15:37:29 +0000 (23:37 +0800)]
Improved DateTime._DoParse offset logic.
Marcos Henrich [Thu, 28 Aug 2014 15:35:48 +0000 (23:35 +0800)]
Removed line causing problems when 'K' was followed by something.
Marcos Henrich [Thu, 28 Aug 2014 15:31:19 +0000 (23:31 +0800)]
Improved DateTime parsing of years.
Years with 5 or more digits and less than 1000 are now correctly parsed.
Marcos Henrich [Thu, 28 Aug 2014 15:27:57 +0000 (23:27 +0800)]
Created DateTime.CoreParseExact so to be used by DateTimeOffset.
Marek Safar [Thu, 28 Aug 2014 14:35:31 +0000 (16:35 +0200)]
[mcs] Fixes failing error test
Marek Safar [Wed, 27 Aug 2014 15:56:47 +0000 (17:56 +0200)]
[mcs] type pattern expression
Marcos Henrich [Thu, 28 Aug 2014 14:11:15 +0000 (22:11 +0800)]
Changed DateTime._DoParser to support DateTimeOffset patterns.
Marek Safar [Thu, 28 Aug 2014 12:22:48 +0000 (03:22 -0900)]
Merge pull request #1233 from esdrubal/uriparserisbaseof
UriParser.IsBaseOf now explicitly throws ArgumentNullException.
Marcos Henrich [Thu, 28 Aug 2014 08:12:06 +0000 (16:12 +0800)]
UriParser.IsBaseOf now explicitly throws ArgumentNullException.
A change in Uri.Compare was making IsBaseOf to return false when arguments were null.
NullReferenceException is thrown by .NET, nonetheless the correct behavior is to throw a ArgumentNullException..
Marek Safar [Thu, 28 Aug 2014 05:44:34 +0000 (20:44 -0900)]
Merge pull request #1232 from akoeplinger/fix-test
[MSBuild] Fixed a test that failed when the GAC wasn't available
Alexander Köplinger [Wed, 27 Aug 2014 20:28:49 +0000 (22:28 +0200)]
[MSBuild] Fixed a test that failed when the GAC wasn't available
PR #1229 added a test that relies on the GAC and fails when it isn't available, like when building on a clean machine with monolite.
Skip the test in that case.
Rodrigo Kumpera [Wed, 27 Aug 2014 19:47:06 +0000 (15:47 -0400)]
[runtime] Incorporate team feedback on the new logging APIs.
Alexander Köplinger [Wed, 27 Aug 2014 18:06:47 +0000 (20:06 +0200)]
Fix badge URL in README.md, the previous one got cached by GitHub
Marek Safar [Wed, 27 Aug 2014 12:09:25 +0000 (14:09 +0200)]
[mcs] Add 6.0 to version error reporting
Marek Safar [Wed, 27 Aug 2014 15:13:45 +0000 (06:13 -0900)]
Merge pull request #1231 from esdrubal/gthreshold
Serializer were not generated if generationThreshold was changed.
Marcos Henrich [Wed, 27 Aug 2014 14:20:00 +0000 (22:20 +0800)]
Serializer were not generated if generationThreshold was changed.
Marek Safar [Wed, 27 Aug 2014 12:58:41 +0000 (03:58 -0900)]
Merge pull request #1230 from esdrubal/xslattribute
Process XslLiteralElements with only child attributes as empty ones.
Marcos Henrich [Wed, 27 Aug 2014 12:37:17 +0000 (20:37 +0800)]
Process XslLiteralElements with only child attributes as empty ones.
Fixes #14751
Marcos Henrich [Wed, 27 Aug 2014 12:20:47 +0000 (20:20 +0800)]
Test xls transformation of single child node to an attribute.
Sebastien Pouliot [Wed, 27 Aug 2014 01:54:30 +0000 (21:54 -0400)]
[eglib] Fix logging on iOS (asl_vlog != asl_log)
asl_vlog last parameter is a va_list and giving it a char* leads to crash
which calls our native unhandled exception handler, which also tries to
log what happens making the watchdog unhappy about the food quality
0x000000008badf00d
Alexis Christoforides [Tue, 26 Aug 2014 19:48:53 +0000 (15:48 -0400)]
Resolve build issues on Windows.
Zoltan Varga [Tue, 26 Aug 2014 19:01:08 +0000 (15:01 -0400)]
Fix the build.
Martin Baulig [Tue, 26 Aug 2014 17:59:27 +0000 (19:59 +0200)]
[WCF]: Fix #22179 - 'finally' protect ClientRuntimeChannel.Begin/EndProcess().
Marek Safar [Tue, 26 Aug 2014 17:07:09 +0000 (08:07 -0900)]
Merge pull request #1229 from andreiagaita/master
[MSBuild] Make sure assembly references with extensions are located correctly
Marek Safar [Tue, 26 Aug 2014 15:13:41 +0000 (17:13 +0200)]
[mcs] Predefined attibutes can have unresolved parameter types.
Marek Safar [Tue, 26 Aug 2014 11:46:16 +0000 (13:46 +0200)]
[mcs] Put back future lang version for easier migration path
Marek Safar [Tue, 26 Aug 2014 11:39:15 +0000 (13:39 +0200)]
[mcs] Don't report error when predefined InterlockedCompareExchange_T is not available.
Marek Safar [Mon, 25 Aug 2014 16:27:41 +0000 (18:27 +0200)]
[mcs] Hide backing fields in default debugger display
Marek Safar [Mon, 25 Aug 2014 14:41:21 +0000 (16:41 +0200)]
[mcs] Replace future with experimental
Marek Safar [Mon, 25 Aug 2014 14:10:45 +0000 (16:10 +0200)]
[mcs] Better error message
Marek Safar [Mon, 25 Aug 2014 14:10:15 +0000 (16:10 +0200)]
[system] Add AcceptWebSocketAsync signatures
Zoltan Varga [Tue, 26 Aug 2014 04:32:43 +0000 (00:32 -0400)]
Update the LLVM backend to work with llvm branch mono-2014-08-23-
b401e6b9699423409a055dc873e4d3f361a908c0.
T.J. Purtell [Fri, 15 Aug 2014 20:43:36 +0000 (13:43 -0700)]
[runtime] Don't call mono_arch_handle_exception() when chaining
Context: https://bugzilla.xamarin.com/show_bug.cgi?id=18763#c12
Context: https://bugzilla.xamarin.com/show_bug.cgi?id=18763#c14
Context: http://stackoverflow.com/a/
1789879/83444
mono_set_crash_chaining() was added in
8ffc4070 in order to better
support Android crash logs.
Crash logging in Android is "weird" (something we didn't know at the
time of
8ffc4070); when a process crashes on Android, ideally:
1. The Android signal handler is executed,
2. Bionic will attempt to connect to /system/bin/debuggerd.
3. debuggerd will try to connect to the crashing process, then
retrieve "useful" information from the crashing process (stack
trace, register values, etc.)
The problem with
8ffc4070 was that there is a "window" between steps
(1) and (3) during which the crashing process continues to execute but
debuggerd hasn't attached to the process. It is possible that the
crashing process can thus exit before debuggerd has had a chance to
attach, killing the purpose of the crash logs.
Case in point: consider mono_sigsegv_signal_handler(). In
8ffc4070,
if mono_do_crash_chaining is TRUE, then Mono will execute:
mono_handle_native_sigsegv (SIGSEGV, ctx);
mono_chain_signal (SIG_HANDLER_PARAMS);
mono_arch_handle_exception (ctx, NULL);
Because mono_chain_signal() doesn't block, abort the process, or
otherwise do anything to prevent execution from continuing, execution
will hit mono_arch_handle_exception(), which will exit the process.
If you're unlucky, this will happen before debuggerd has had a chance
to attach to the process.
The obvious fix is to prevent mono_arch_handle_exception() from being
invoked. The question is, *how*? jonp suggested [0] that after
mono_chain_signal() returns then _exit(2) or a busy loop could be
invoked. Unfortunately, _exit(2) makes the process exit explicit, and
~reliably prevents debuggerd from doing anything.
A busy loop doesn't work because it just causes the process to hang
within signal handler context, and debuggerd is never able to log
anything about the crashed process.
It would seem that the signal handler itself must exit without causing
the process to exit so that debuggerd has a chance to do ANYTHING,
otherwise nothing will happen reliably.
Thanks to T.J. Purtell for investigating and providing the patch.
[0]: https://github.com/mono/mono/pull/1206#issuecomment-
52357802
--- Original commit message [formatted] ---
re #18763: After the chained handler executes, it may return to allow
the crashed instruction to be restarted or it may have taken
corrective action so the instruction can be resumed successfully.
For example, bionic resets the signal handler for SIGSEGV to default
expecting that the kernel will restart the offending instruction and
cause the kernel to abort the process. Don't do mono exception
handling after chaining to support these types of signal management.