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
Jeremie Laval [Fri, 25 Jan 2013 13:31:00 +0000 (13:31 +0000)]
[monodoc] Don't explode when treating invalid XML document
Jeremie Laval [Fri, 25 Jan 2013 12:15:47 +0000 (12:15 +0000)]
[monodoc] Refactor path handling in index/search index routines
Jeremie Laval [Fri, 25 Jan 2013 12:15:06 +0000 (12:15 +0000)]
[monodoc] Protect searchable index creation from badly formated ECMA document
Jeremie Laval [Fri, 25 Jan 2013 12:14:31 +0000 (12:14 +0000)]
[monodoc] Try get images through a simple storage call by default
Zoltan Varga [Fri, 25 Jan 2013 16:22:22 +0000 (17:22 +0100)]
Avoid generating seq points in native-to-managed wrappers as they can be hit before a thread is attached to the JIT. Fixes #8338.
Zoltan Varga [Fri, 25 Jan 2013 15:48:07 +0000 (16:48 +0100)]
Remove emit_gsharedvt_call (), use mono_emit_calli () instead. Small cleanups to the call handling code in mono_method_to_ir ().
Zoltan Varga [Fri, 25 Jan 2013 13:59:22 +0000 (14:59 +0100)]
Rework the call handling code in mono_method_to_ir () to remove some code duplication.
Zoltan Varga [Thu, 24 Jan 2013 23:37:01 +0000 (00:37 +0100)]
Avoid a newline in a mono_trace () call, it already adds one.
Mark Probst [Thu, 24 Jan 2013 22:57:08 +0000 (23:57 +0100)]
[sgen] Stress test for cementing.
Mark Probst [Thu, 24 Jan 2013 22:47:06 +0000 (23:47 +0100)]
[sgen] DTrace probe for cementing objects.
Zoltan Varga [Thu, 24 Jan 2013 15:36:23 +0000 (16:36 +0100)]
Fix the calculation of MONO_RGCTX_INFO_VALUE_SIZE for reference types. Enable gsharedvt for the LDFTN opcode.
Zoltan Varga [Wed, 23 Jan 2013 19:06:42 +0000 (20:06 +0100)]
Include the -gsharedvt.c files when MONO_EXTENSIONS is defined to make development easier.
Atsushi Eno [Thu, 24 Jan 2013 07:41:44 +0000 (16:41 +0900)]
Revert "update rx to the latest rx-oss-v1.1 build."
This reverts commit
924ab25739968ab2408a7c39f105405c2a89c613.
Conflicts:
external/rx
mcs/class/build-rx-dll-sources.sh
mcs/class/project_template_android.txt
mcs/class/project_template_ios.txt
Mark Probst [Wed, 23 Jan 2013 12:04:56 +0000 (13:04 +0100)]
Merge branch 'feature-perpetual-pinning'
Mark Probst [Wed, 23 Jan 2013 11:06:23 +0000 (12:06 +0100)]
[sgen] Run SGen tests with marksweep-conc and split nursery.
Mark Probst [Wed, 23 Jan 2013 11:05:23 +0000 (12:05 +0100)]
[sgen] Fix an assertion that triggered with simple nursery, marksweep-conc and cementing.
Mark Probst [Wed, 23 Jan 2013 09:27:36 +0000 (10:27 +0100)]
[sgen] Better explanation for scanning whole nursery with split/concurrent.
Mark Probst [Tue, 22 Jan 2013 22:51:09 +0000 (23:51 +0100)]
[sgen] Move cementing parameters to sgen-conf.h.
Mark Probst [Tue, 22 Jan 2013 22:42:01 +0000 (23:42 +0100)]
[sgen] Comment on the cement modulo hash.
Mark Probst [Tue, 22 Jan 2013 22:32:47 +0000 (23:32 +0100)]
[sgen] Use SGEN_ASSERT for cementing assertions.
Mark Probst [Sun, 13 Jan 2013 21:58:02 +0000 (22:58 +0100)]
[sgen] Make cementing work with split nursery.
Mark Probst [Sun, 13 Jan 2013 21:52:52 +0000 (22:52 +0100)]
[sgen] Whole heap check can only lookup, not change the cementing hash.
Mark Probst [Mon, 7 Jan 2013 15:53:00 +0000 (16:53 +0100)]
[sgen] Shadow cementing table to allow cementing during concurrent major collections.
Mark Probst [Tue, 1 Jan 2013 20:18:58 +0000 (21:18 +0100)]
[sgen] Fix whole heap check for cementing.
Mark Probst [Tue, 1 Jan 2013 20:13:02 +0000 (21:13 +0100)]
[sgen] Option for disabling cementing.
Mark Probst [Tue, 1 Jan 2013 19:10:00 +0000 (20:10 +0100)]
[sgen] Binary protocol for global remsets not only for SSB.