Marek Safar [Thu, 7 Feb 2013 15:05:41 +0000 (07:05 -0800)]
Merge pull request #472 from MelanieT/spmanager_fix
Fix ServicePointManager.DefaultConnectionLimit to work as specified.
Zoltan Varga [Thu, 7 Feb 2013 05:04:40 +0000 (06:04 +0100)]
Fix the handling of non-virtual calls made out of gsharedvt methods, we need to add both an out and an in wrapper instead of just an in wrapper.
Zoltan Varga [Thu, 7 Feb 2013 05:04:11 +0000 (06:04 +0100)]
Fix the lookup of aot unbox trampolines for gsharedvt methods.
Zoltan Varga [Thu, 7 Feb 2013 03:46:43 +0000 (04:46 +0100)]
Allow gsharedvt methods to be used in place of gshared methods if the latter is not found in full-aot mode. Add gsharedvt trampolines for delegates invoke wrappers.
Zoltan Varga [Wed, 6 Feb 2013 21:02:24 +0000 (22:02 +0100)]
Add AOT support for generic delegate-invoke wrappers.
Zoltan Varga [Wed, 6 Feb 2013 21:00:16 +0000 (22:00 +0100)]
Make delegate-invoke wrappers for generic delegates like Func/Action generic, i.e. instead of creating a non-generic wrapper for the inflated Invoke method, create generic wrapper for the generic Invoke method, and inflate it with the type arguments of the delegate type. This works better with full aot.
Jeffrey Stedfast [Wed, 6 Feb 2013 20:21:14 +0000 (15:21 -0500)]
[Microsoft.Portable.CSharp.targets] Fixed to not override the compiler
The old hack is no longer needed in Mono 3.0
Rodrigo Kumpera [Wed, 6 Feb 2013 19:05:29 +0000 (14:05 -0500)]
Move the mobile profile to the new 4.5 world.
Rodrigo Kumpera [Wed, 6 Feb 2013 19:05:11 +0000 (14:05 -0500)]
Use system resgen to avoid the System.Windows.Forms dependency.
Atsushi Eno [Wed, 6 Feb 2013 17:23:45 +0000 (02:23 +0900)]
[mdoc] sometimes doc xmls have no Type element...
Zoltan Varga [Wed, 6 Feb 2013 10:11:03 +0000 (11:11 +0100)]
Fix the build.
Atsushi Eno [Wed, 6 Feb 2013 09:44:59 +0000 (18:44 +0900)]
Revert previous revert to old rx.
Desktop rx should be up to date. mcs and runtime needs to be fixed for mobile.
Zoltan Varga [Tue, 5 Feb 2013 22:46:27 +0000 (23:46 +0100)]
Add support for the calli opcode in gsharedvt methods, by passing the call address to the gsharedvt trampoline in the rgctx trampoline. Move the dummy definitions of the arch specific gsharedvt functions to mini.c.
Rodrigo Kumpera [Tue, 5 Feb 2013 21:25:42 +0000 (16:25 -0500)]
Lift the input/output match restriction as we now properly loop over just the file list.
Rodrigo Kumpera [Tue, 5 Feb 2013 21:24:58 +0000 (16:24 -0500)]
Revert "Lift the input/output match restriction as we now properly loop over just the file list."
This reverts commit
2fb94ec7447fd5eb8776b5223c5edbd90b71f43f.
Rodrigo Kumpera [Tue, 5 Feb 2013 21:20:48 +0000 (16:20 -0500)]
Lift the input/output match restriction as we now properly loop over just the file list.
Zoltan Varga [Tue, 5 Feb 2013 20:01:17 +0000 (21:01 +0100)]
Remove some debug spew.
Zoltan Varga [Tue, 5 Feb 2013 19:55:29 +0000 (20:55 +0100)]
Revert an accidental change which enabled gsharedvt for calli opcodes.
Zoltan Varga [Tue, 5 Feb 2013 19:54:15 +0000 (20:54 +0100)]
Fix the non-gsharedvt build.
Zoltan Varga [Tue, 5 Feb 2013 19:49:05 +0000 (20:49 +0100)]
Fix the build.
Zoltan Varga [Tue, 5 Feb 2013 19:27:51 +0000 (20:27 +0100)]
Pass signatures instead of methods to mono_arch_get_gsharedvt_call_info ().
Zoltan Varga [Tue, 5 Feb 2013 00:22:00 +0000 (01:22 +0100)]
Emit the IReadOnly helper wrappers as well when using full-aot.
Rodrigo Kumpera [Tue, 5 Feb 2013 17:05:21 +0000 (12:05 -0500)]
Call jay from the same directory of the source file to avoid broken #line directives.
Marek Safar [Tue, 5 Feb 2013 09:30:59 +0000 (10:30 +0100)]
Implement use of __refvalue as an lvalue. Fixes #10034
Rodrigo Kumpera [Tue, 5 Feb 2013 00:17:00 +0000 (19:17 -0500)]
Rewrite mdbrebase to use Mono.CompilerServices.SymbolWriter instead of cecil.
* mdbrebase.cs: Cecil did not produce reliable results and was pretty
slow because it needed to parse the actual assemblies. This can now
completely avoid it.
Rodrigo Kumpera [Mon, 4 Feb 2013 22:38:48 +0000 (17:38 -0500)]
Expose some Mono.CompilerServices.SymbolWriter internal APIs so it's possible to build a mdb file from another one.
Marek Safar [Mon, 4 Feb 2013 20:12:04 +0000 (21:12 +0100)]
Looup in currect folder before additional paths to match csc.
Zoltan Varga [Mon, 4 Feb 2013 19:36:46 +0000 (20:36 +0100)]
Add some support for wrappers which are generic instances.
Rodrigo Kumpera [Mon, 4 Feb 2013 18:51:28 +0000 (13:51 -0500)]
Make sure assembly ordering matches MS by always appending. Fixes #10004.
Rodrigo Kumpera [Mon, 4 Feb 2013 18:41:26 +0000 (10:41 -0800)]
Merge pull request #543 from knocte/master
[System.Reflection.Emit] Store dynamic assemblies after the static ones
Marek Safar [Mon, 4 Feb 2013 15:50:02 +0000 (16:50 +0100)]
Check modifier keys in windows console driver too. Fixes #9091.
Marek Safar [Mon, 4 Feb 2013 15:31:54 +0000 (16:31 +0100)]
Close open namespace container when error recovery fails. Fixes #9167
Zoltan Varga [Mon, 4 Feb 2013 01:29:33 +0000 (02:29 +0100)]
Reset constrained_call in the gsharedvt code path as well.
Zoltan Varga [Sun, 3 Feb 2013 23:21:51 +0000 (00:21 +0100)]
Fix an assert which can be hit in gsharedvt mode. Fix a warning.
Zoltan Varga [Sun, 3 Feb 2013 20:05:42 +0000 (21:05 +0100)]
Implement gsharedvt support for constrained calls to Object:ToString ().
Andres G. Aragoneses [Sun, 3 Feb 2013 19:12:25 +0000 (19:12 +0000)]
[System.Reflection.Emit] Store dynamic assemblies after the static ones
AssemblyBuilder class was adding generated dynamic assemblies at the
beginning of the list of the assemblies of the current domain, instead
of at the end.
This not only is not the behaviour of MS.NET but was inconsistent to
previous calls to the CurrentDomain.GetAssemblies() method, which would
return assemblies in different positions.
If code was relying on the order of these assemblies being returned (i.e.
to find the first type in the loaded assemblies that conforms to certain
requirements), it would result in unexpected behaviour if used along with
frameworks that mock/stub types on the fly, such as RhinoMocks, FakeItEasy
or other Castle.DynamicProxy-based ones.
This fixes BXC#10004:
https://bugzilla.xamarin.com/show_bug.cgi?id=10004
Patch contributed under the terms of MIT/X11 licence.
Mark Probst [Fri, 1 Feb 2013 15:46:33 +0000 (07:46 -0800)]
[sgen] Fix hazard pointer free deadlock problem. Fixes #9828.
The hazard pointer code, which assists in lock free algorithms, tries
to free some data it had to keep around (because other threads were
still using it) whenever it is invoked. Obviously, the code that frees
data must never lock, or else the code that uses hazard pointers might
lock, as well.
The JIT info table pointer code uses malloc/free to allocate its memory,
so its free function uses free(), which might lock. Even worse, it takes
the domain lock. (The JIT info table is lock-free for readers, not for writers,
which explains why it uses hazard pointers.)
To solve the problem we separate hazard pointers into those whose free
functions might lock, and those who will not, and we provide the information
on whether we're currently in a context where locking is permissible. If it isn't,
no free function which might lock must be called. To make sure they are
called eventually we try to free a few after restarting the world in SGen, at
which point locking is allowed.
Mark Probst [Fri, 1 Feb 2013 16:07:46 +0000 (08:07 -0800)]
Remove a dead function.
Mark Probst [Fri, 1 Feb 2013 16:06:06 +0000 (08:06 -0800)]
[sgen] Make sure there's never a JIT info table without chunks.
It seems possible that a JIT info table could reach a state where it
contains only tombstones, i.e., is empty, at which point adding an
entry to it will cause an overflow, which would allocate a new table
without any chunks in it. This fixes that.
Zoltan Varga [Sat, 2 Feb 2013 03:14:34 +0000 (04:14 +0100)]
Emit a separate copy of the gsharedvt trampoline in full-aot mode so the in/out trampolines show up differently in stack traces.
Zoltan Varga [Fri, 1 Feb 2013 22:08:23 +0000 (23:08 +0100)]
Enable gsharedvt for newobj+valuetypes.
Zoltan Varga [Fri, 1 Feb 2013 19:02:38 +0000 (20:02 +0100)]
Add a test for #4737.
Rodrigo Kumpera [Fri, 1 Feb 2013 18:54:29 +0000 (13:54 -0500)]
Dep track BCL sources extension files.
Marek Safar [Fri, 1 Feb 2013 17:29:54 +0000 (18:29 +0100)]
Rewrite of async StreamReader/StreamWritter operations to not fail on subsequent async call. Fixes #9761
Marek Safar [Fri, 1 Feb 2013 09:05:32 +0000 (10:05 +0100)]
Recover from invalid lambdas uses as arguments. Fixes #9949
Marek Safar [Fri, 1 Feb 2013 08:33:26 +0000 (00:33 -0800)]
Merge pull request #541 from dlech/master
[Fix] System.Security.SecureString.ReadAt(int), includes NUnit test
David Lechner [Fri, 1 Feb 2013 03:02:00 +0000 (21:02 -0600)]
fix System.Security.SecurString.ReadAt(int), includes NUnit test
Rodrigo Kumpera [Fri, 1 Feb 2013 00:46:36 +0000 (19:46 -0500)]
Add new tool to the spec file.
Rodrigo Kumpera [Thu, 31 Jan 2013 22:58:06 +0000 (17:58 -0500)]
Add new mdbrebase tool that lets you change the prefix of its source files.
Marek Safar [Thu, 31 Jan 2013 14:56:21 +0000 (15:56 +0100)]
Mark ObservableCollection.Reentrant serializable
Marek Safar [Thu, 31 Jan 2013 13:28:52 +0000 (14:28 +0100)]
Better CS0201 error location. Fixes #9885
Marek Safar [Thu, 31 Jan 2013 12:59:19 +0000 (13:59 +0100)]
Delegate dynamic parameters do not involve dynamic dispatch when matched on signature. Fixes #9854
Marek Safar [Thu, 31 Jan 2013 11:31:35 +0000 (12:31 +0100)]
Emit field initializers when the ctor has dynamic arguments. Fixes #9683
Marek Safar [Thu, 31 Jan 2013 09:36:26 +0000 (10:36 +0100)]
Object and collection initializers cannot be used to instantiate a delegate.
Zoltan Varga [Wed, 30 Jan 2013 22:05:18 +0000 (23:05 +0100)]
Emit unbox trampolines for all methods of vtypes in full-aot mode, since they are needed when calling these methods through delegates.
Zoltan Varga [Wed, 30 Jan 2013 22:01:28 +0000 (23:01 +0100)]
Remove a gsharedvt check which is no longer needed.
Zoltan Varga [Wed, 30 Jan 2013 22:00:55 +0000 (23:00 +0100)]
Remove a check from mono_arch_find_imt_method () which can fail if the caller is the gsharedvt trampoline.
Zoltan Varga [Wed, 30 Jan 2013 21:59:57 +0000 (22:59 +0100)]
Fix a special case in mono_method_get_vtable_slot () where method->slot can still be uninitialized even after mono_class_setup_vtable ().
Rodrigo Kumpera [Wed, 30 Jan 2013 20:17:40 +0000 (15:17 -0500)]
Add support for alternate source files to be used on extension-less builds.
Rodrigo Kumpera [Wed, 30 Jan 2013 17:27:08 +0000 (12:27 -0500)]
Revert "Revert "Fix the Mono.Security.dll monotouch build.""
This reverts commit
b691ca837185ce1019e9279838c182e5ec43d151.
The original fix is required to build the monotouch profile.
Marek Safar [Wed, 30 Jan 2013 16:50:49 +0000 (17:50 +0100)]
Member lookup on type parameters has different ambiguity rules. Fixes #9776
Marek Safar [Wed, 30 Jan 2013 14:54:42 +0000 (15:54 +0100)]
Better error message for missing using clause in alias scope. Fixes #9813
Marek Safar [Wed, 30 Jan 2013 14:33:31 +0000 (15:33 +0100)]
Fix duplicate inaccessible error message
Marek Safar [Wed, 30 Jan 2013 14:32:12 +0000 (15:32 +0100)]
Exclude operators from member access lookup
Zoltan Varga [Wed, 30 Jan 2013 01:39:52 +0000 (02:39 +0100)]
Pass the caller method address to mono_class_fill_runtime_generic_context () as well.
Zoltan Varga [Wed, 30 Jan 2013 01:07:07 +0000 (02:07 +0100)]
Compute the MonoGenericSharingContext from the caller of the rgctx fetch trampoline instead of the context, since the latter contains the types used by the instantiation while we need the types used to compile the gsharedvt method. Fix gsharedvt support in CEE_BOX.
Jeffrey Stedfast [Tue, 29 Jan 2013 22:04:38 +0000 (17:04 -0500)]
[Mono.Debugger.Soft] Flushed out TypeMirror.CSharpName a bit.
Atsushi Eno [Tue, 29 Jan 2013 15:25:35 +0000 (00:25 +0900)]
[xsd] compare attribute string values for enums in normalized form. Fixes bug #9835.
Atsushi Eno [Tue, 29 Jan 2013 09:47:52 +0000 (18:47 +0900)]
fix rx revision.
Atsushi Eno [Tue, 29 Jan 2013 09:41:39 +0000 (18:41 +0900)]
Revert "Fix the Mono.Security.dll monotouch build."
This reverts commit
34c53fcc4420c50eb8a044316626cd469a643b7b.
Atsushi Eno [Tue, 29 Jan 2013 09:25:09 +0000 (18:25 +0900)]
fix mobile build.
Zoltan Varga [Tue, 29 Jan 2013 05:11:52 +0000 (06:11 +0100)]
Remove a gsharedvt limitation when a non-virtual method is called using callvirt.
Miguel de Icaza [Tue, 29 Jan 2013 01:48:59 +0000 (20:48 -0500)]
[mscorlib/mobile] Encoding.Default is always UTF8 in mobile, strip out all the code that brings the encoding system
Miguel de Icaza [Fri, 7 Dec 2012 15:51:47 +0000 (10:51 -0500)]
Add Contributing Guidelines
Zoltan Varga [Tue, 29 Jan 2013 00:59:19 +0000 (01:59 +0100)]
Emit proper unwind info for the gsharedvt trampoline in full-aot mode. Fix gsharedvt support in mono_aot_plt_resolve (). Add a 'no-instantiations' AOT option to avoid the generation of generic instances, to allow better testing of the gsharedvt code.
Rodrigo Kumpera [Mon, 28 Jan 2013 23:55:01 +0000 (18:55 -0500)]
Fix the [monodroid] build.
Rodrigo Kumpera [Sat, 26 Jan 2013 00:16:19 +0000 (19:16 -0500)]
Improve our native crash experience.
* mini-exceptions.c (mono_invoke_unhandled_exception_hook): Print something
even if we fail to produce a backtrace.
* mini-exceptions.c (mono_handle_native_sigsegv): Use exit on android
since abort triggers another segv. Always Print the fatal native error
even on "special" targets that have no backtrace symbols support.
Rodrigo Kumpera [Sat, 26 Jan 2013 00:12:39 +0000 (19:12 -0500)]
Move mono_runtime_printf_err to use critical level as error results in an abort.
Rodrigo Kumpera [Fri, 25 Jan 2013 23:01:11 +0000 (18:01 -0500)]
Make mono_print_unhandled_exception resilient to nested exceptions.
* object.c (mono_print_unhandled_exception): Ensure that nested exceptions are
properly catch not leading to a stack overflow of recursive fail.
Rodrigo Kumpera [Mon, 21 Jan 2013 23:49:50 +0000 (18:49 -0500)]
Use a non RT signal on Android since its userland is not very keep to it.
* threads.c: On Android we now use SIGUNUSED instead of RT2 since bionic
exposes a 32bits sigset_t which cannot accommodate signals in the RT range.
The alternative would be to directly syscall the kernel and use the RT range,
but that would mean patch all functions that deal with sigset_t to use a wrapper.
So, given the effort/result of it on this case. It makes more sense to just
use an unused signal for that.
The linux kernel has 2 syscall APIs for signals, the regular one and the rt
variant. EG, we have sys_sigprocmask and sys_rt_sigprocmask.
The regular one works with 32bits sigset_t while the rt_ variant deals with
64bits (128bits on mips) sigset_t. This is, I believe, largely due to legacy
support for old glibc when they added support for RT signals in a very very
distant past - before the kernel git epoch.
Said that, bionic, for some reason, decided to go with the old one. Android's
kernel has full support for RT signals, which makes the whole thing even more
interesting. I could not figure out why it ended up like that, probably some
historical accident that was never noticed.
Current bionic (Jelly Bean 4.2.1) function that operate on sigset_t don't
perform any bounds check which, when using signal 33, leads to memory corruption.
On our case it leads to stack corruption and random crashes.
Jeremie Laval [Mon, 28 Jan 2013 11:43:03 +0000 (11:43 +0000)]
[monodoc] Backport XSL changes that were made after branching
Jeremie Laval [Mon, 28 Jan 2013 11:38:04 +0000 (11:38 +0000)]
Alan McGovern [Mon, 28 Jan 2013 10:22:14 +0000 (10:22 +0000)]
[monodoc] Delete some crufty duplicate files
Zoltan Varga [Mon, 28 Jan 2013 02:32:45 +0000 (03:32 +0100)]
Implement support for virtual generic calls from gsharedvt methods.
Mark Probst [Sun, 27 Jan 2013 22:19:55 +0000 (23:19 +0100)]
[sgen] Fix internal allocator DTrace probes commit.
Mark Probst [Sun, 27 Jan 2013 10:48:40 +0000 (11:48 +0100)]
[sgen] Finish concurrent collection before clearing a domain.
Marek Safar [Sat, 26 Jan 2013 21:41:10 +0000 (13:41 -0800)]
Merge pull request #539 from pnewhook/master
replaced link in README to old build system with monkeywrench
pnewhook [Sat, 26 Jan 2013 13:51:08 +0000 (11:51 -0200)]
fixed broken link to automated build in README
Mark Probst [Sat, 26 Jan 2013 06:51:23 +0000 (07:51 +0100)]
[sgen] DTrace probes for internal allocations.
Martin Baulig [Sat, 26 Jan 2013 05:31:28 +0000 (06:31 +0100)]
[Mono.Security]: Change NTLM domain policy.
There has been a bug report where a Microsoft Server 2008 RC2 does
not accept the domain name that it sent back in the Type2Message's
TargetInfo / Domain Name field.
Therefor, we're now using the domain name from the `NetworkCredential' -
this is also what's initialy being sent to the server in the
`Type1Message`.
Zoltan Varga [Sat, 26 Jan 2013 04:42:34 +0000 (05:42 +0100)]
Rodrigo Kumpera [Fri, 25 Jan 2013 20:29:34 +0000 (15:29 -0500)]
Fix the Mono.Security.dll monotouch build.
Jeremie Laval [Fri, 25 Jan 2013 17:37:48 +0000 (17:37 +0000)]
[monodoc] Handle a bit better backtick generic URLs
Not ideal but since these guys are rarely used, better to fix the generator producing them.
Jeremie Laval [Fri, 25 Jan 2013 17:10:06 +0000 (17:10 +0000)]
[monodoc] Fix test compilation/run
Zoltan Varga [Fri, 25 Jan 2013 16:59:47 +0000 (17:59 +0100)]
Add some debugging code to sdb to help track down #9783.
Jeremie Laval [Fri, 25 Jan 2013 15:22:55 +0000 (15:22 +0000)]
[monodoc] Support image with uncompiled sources
Jeremie Laval [Fri, 25 Jan 2013 15:22:38 +0000 (15:22 +0000)]
[monodoc] Remove now useless parser instance
Jeremie Laval [Fri, 25 Jan 2013 15:22:05 +0000 (15:22 +0000)]
[monodoc] Slightly alter the new API to pass around a real context dict rather than embedding it in the IDs.
Jeremie Laval [Fri, 25 Jan 2013 15:10:13 +0000 (15:10 +0000)]
[monodoc] Refactor more code from ecma-provider to the common EcmaDoc
Jeremie Laval [Fri, 25 Jan 2013 15:06:26 +0000 (15:06 +0000)]
[monodoc] Create a null cache when using parameterless HelpSource ctor