Jack Pappas [Sun, 10 Feb 2013 02:40:48 +0000 (21:40 -0500)]
Added checks for BSD-compliant protocol constants.
Fixed the checks for a couple of Linux-specific constants so they work correctly (they included the wrong header).
Added a check for the Linux-specific constant IP_PMTUDISC_DO; this'll be used with IP_MTU_DISCOVER in a future patch to make Linux sockets match BSD/OSX/Windows behavior.
Marek Safar [Sat, 9 Feb 2013 12:42:36 +0000 (13:42 +0100)]
Add missing flags
Marek Safar [Sat, 9 Feb 2013 10:44:29 +0000 (11:44 +0100)]
Don't report user operator error during probing user conversions. Fixes #10170, #10171
Zoltan Varga [Sat, 9 Feb 2013 04:36:03 +0000 (05:36 +0100)]
Add helper functions to avoid the if (cfg->generic_sharing_context) context_used= idiom in the JIT code.
Zoltan Varga [Sat, 9 Feb 2013 03:59:04 +0000 (04:59 +0100)]
Pass the original call signature too to the code handling MONO_METHOD_MONO_RGCTX_INFO_METHOD_GSHAREDVT_OUT_TRAMPOLINE, it was previously using oti->data for that, but that might not equal the original called method in all cases.
Rodrigo Kumpera [Fri, 8 Feb 2013 20:10:58 +0000 (15:10 -0500)]
Raise an exception for user types under FULL_AOT_RUNTIME instead of crashing.
Marek Safar [Fri, 8 Feb 2013 17:31:49 +0000 (18:31 +0100)]
Add explicit interface GetType implementation to avoid object::GetType become proxy. Fixes #10148
Rodrigo Kumpera [Fri, 8 Feb 2013 16:57:49 +0000 (08:57 -0800)]
Merge pull request #551 from jack-pappas/sgen-patch
Fix thread stack initialization on BSD platforms.
Marek Safar [Fri, 8 Feb 2013 15:12:19 +0000 (16:12 +0100)]
Add test which is now working
Marek Safar [Fri, 8 Feb 2013 15:01:49 +0000 (16:01 +0100)]
Fix type inference for methodgroup arguments where one of methodgroup delegate parameter is generic type with dependant type parameter.
Marek Safar [Fri, 8 Feb 2013 14:50:27 +0000 (06:50 -0800)]
Merge pull request #550 from knocte/master
[HttpWebRequest] Avoid using the threadpool for synchronous requests
Andres G. Aragoneses [Fri, 8 Feb 2013 14:36:50 +0000 (14:36 +0000)]
[WebConnection] Use just one delegate to init the connection
As suggested by Marek Safar, using WaitCallback without the threadpool
is just fine, so revert back to using one delegate.
Jack Pappas [Fri, 8 Feb 2013 13:16:35 +0000 (08:16 -0500)]
Fix thread stack initialization on BSD platforms.
Atsushi Eno [Fri, 8 Feb 2013 11:19:14 +0000 (20:19 +0900)]
fix bug #6653: change xs component validation logic regarding recursion check.
Originally this implementation checked recursion based on RELAX NG-inspired
algorithm explained at http://www.thaiopensource.com/relaxng/simplify.html.
This works only for "simple" syntax, which premises that every <element> is
defined under top-level <define> element. XML Schema doesn't follow this
and could result in infinite loop like reported.
The latest REC-xmlschema-1 denotes the explicit rule on illegal recursion
on 3.8.6 (Model Group Correct) as:
2 Circular groups are disallowed. That is, within the {particles} of a group there must not be at any depth a particle whose {term} is the group itself.
... so, I simply replaced the checker with simple Stack.
(oh, and for old Stack I haven't bothered to replace non-generic collection
everywhere. XSD is as dead as System.Collection.)
Marek Safar [Fri, 8 Feb 2013 10:24:25 +0000 (11:24 +0100)]
Improved warning reporting for missing await
Marek Safar [Fri, 8 Feb 2013 10:22:21 +0000 (02:22 -0800)]
Merge pull request #544 from svick/missing-awaits
Added missing awaits to StreamWriter
Atsushi Eno [Fri, 8 Feb 2013 08:05:31 +0000 (17:05 +0900)]
fix mobile build (from
6b4c3f0).
Atsushi Eno [Fri, 8 Feb 2013 07:53:22 +0000 (16:53 +0900)]
bump rx to official 2.1 release.
Atsushi Eno [Fri, 8 Feb 2013 07:41:54 +0000 (16:41 +0900)]
bump rx repo (mostly for mobiles)
Rodrigo Kumpera [Fri, 8 Feb 2013 00:22:04 +0000 (19:22 -0500)]
Add a test case for #10122.
Rodrigo Kumpera [Thu, 7 Feb 2013 23:55:47 +0000 (18:55 -0500)]
When encoding a memberref to a field of a generic instance we must use the type of the GTD. Fixes #10122
* reflection.c (mono_image_get_fieldref_token): We must encode the memberref using the GTD type so
we can distinguish between the following two:
class Foo<T> {
T t;
int t;
}
The above two fields for the instance Foo<int> must be encoded as "!0 Foo<int>:t" and "int Foo<int>:t"
respectively. The CLR does both structural and nominal matching on memberref resolution, so we must be
strict.
The previous fix removed tried to work-around a crash in the generic instance case due to the field
type been null. This now happens because field types are lazily loaded and must always be looked up
using mono_field_get_type. The original code code was not and so broken.
Andres G. Aragoneses [Thu, 7 Feb 2013 21:13:40 +0000 (21:13 +0000)]
[HttpWebRequest] Avoid using the threadpool for synchronous requests
The code path for synchronous requests was the same as the one for
asynchronous ones: the threadpool. It's actually not needed in this
case because the thread is going to wait anyway, so there's no need
to use the threadpool.
This helps in scenarios in which SOA is heavily used:
- The process is hosted under xsp/mono-fastcgi/... which use the threadpool
too.
- If the requests generate other requests to other REST services, the
usage of the threadpool in these cases may interfere with the usage of
the threadpool by xsp/mono-fastcgi/...
- The thread that is serving a request shouldn't request another thread
for a blocking operation, preventing the use of that thread by other
possible incoming requests.
This commit is contributed under the terms of MIT/X11 licence.
(It doesn't cause any breakage in the System test suite.)
Marek Safar [Thu, 7 Feb 2013 15:33:49 +0000 (16:33 +0100)]
Update csproj files
Marek Safar [Thu, 7 Feb 2013 15:30:42 +0000 (16:30 +0100)]
Fix public token property for mobile
Marek Safar [Thu, 7 Feb 2013 15:28:12 +0000 (16:28 +0100)]
Fix mscorlib public key token constant for mobile profile
Marek Safar [Thu, 7 Feb 2013 15:27:00 +0000 (16:27 +0100)]
Update for mobile profile
Marek Safar [Thu, 7 Feb 2013 11:01:56 +0000 (12:01 +0100)]
Update csproj generator to work on mac
Rolf Bjarne Kvinge [Thu, 7 Feb 2013 14:20:34 +0000 (15:20 +0100)]
[mkbundle] Reorder parenthesis to malloc the right amount
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...
Petr Onderka [Wed, 6 Feb 2013 10:19:11 +0000 (11:19 +0100)]
Added missing awaits to StreamWriter
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.