mono.git
13 years agoMore conversion tweaks for dynamic in using statement
Marek Safar [Thu, 14 Oct 2010 09:51:17 +0000 (10:51 +0100)]
More conversion tweaks for dynamic in using statement

13 years ago[646298] Compile multiple interface event declarators
Marek Safar [Thu, 14 Oct 2010 09:49:01 +0000 (10:49 +0100)]
[646298] Compile multiple interface event declarators

13 years agoUse 2 phase dynamic load only for compound operations
Marek Safar [Wed, 13 Oct 2010 17:00:49 +0000 (18:00 +0100)]
Use 2 phase dynamic load only for compound operations

13 years ago[xbuild] Add ResolveAssemblyReferencesDependsOn .
Ankit Jain [Thu, 14 Oct 2010 09:15:15 +0000 (14:45 +0530)]
[xbuild] Add ResolveAssemblyReferencesDependsOn .

Add GetFrameworkPaths and PrepareForBuild as dependencies for
the ResolveAssemblyReferences target. This is required when it is
invoked directly from MD.

Patch from Michael Hutchinson (mhutchinson@novell.com).

13 years agoAdd SecurityDuplexSessionChannel, and making room for duplex channel, phase 2.
Atsushi Eno [Thu, 14 Oct 2010 08:47:29 +0000 (17:47 +0900)]
Add SecurityDuplexSessionChannel, and making room for duplex channel, phase 2.

13 years agoEliminate IReplyChannel dependency in security support and make room for (TCP) duplex...
Atsushi Eno [Thu, 14 Oct 2010 07:31:41 +0000 (16:31 +0900)]
Eliminate IReplyChannel dependency in security support and make room for (TCP) duplex channel.

13 years agoMisc. fixes
Gonzalo Paniagua Javier [Wed, 13 Oct 2010 21:16:44 +0000 (17:16 -0400)]
Misc. fixes

-Fix validation of display name and email.
-Cache user, host and ToString() values.
-Fix Equals and GetHashCode.

Fixes bug 645871.

13 years agoOpen instantiation can have a GTD as parameter.
Rodrigo Kumpera [Wed, 13 Oct 2010 19:50:14 +0000 (16:50 -0300)]
Open instantiation can have a GTD as parameter.

* verify.c (is_valid_generic_instantiation): If the
generic instantiation is open, GTDs can appear in
mutual types.

13 years agoGeneric instances can end up extending a GTD.
Rodrigo Kumpera [Wed, 13 Oct 2010 18:53:38 +0000 (15:53 -0300)]
Generic instances can end up extending a GTD.

* verify.c (mono_verifier_verify_class): The generic instance
over its parent generic arguments will end up extending a GTD.
The check against not extending a GTD is only valid for not
generic instance types.

13 years agoRemove outdated MonoTODO
Sebastien Pouliot [Wed, 13 Oct 2010 16:58:57 +0000 (12:58 -0400)]
Remove outdated MonoTODO

* SocketAsyncEventArgs.cs: Remove TODO on SocketClientAccessPolicy
Protocol property

13 years agoNew test
Marek Safar [Wed, 13 Oct 2010 14:56:20 +0000 (15:56 +0100)]
New test

13 years agoHasDynamicElement became available use it when building dynamic custom attributes
Marek Safar [Wed, 13 Oct 2010 14:54:09 +0000 (15:54 +0100)]
HasDynamicElement became available use it when building dynamic custom attributes

13 years ago[645992] When importing dynamic type arguments dynamic custom attribute flag has...
Marek Safar [Wed, 13 Oct 2010 14:02:38 +0000 (15:02 +0100)]
[645992] When importing dynamic type arguments dynamic custom attribute flag has to be checked

13 years agoDynamic type is never better than other types in overload resolution
Marek Safar [Wed, 13 Oct 2010 08:07:08 +0000 (09:07 +0100)]
Dynamic type is never better than other types in overload resolution

13 years agoAdd support for hoisted variables in the ET interpreter
Jb Evain [Wed, 13 Oct 2010 14:28:01 +0000 (16:28 +0200)]
Add support for hoisted variables in the ET interpreter

This fixes #645765.

13 years agoThe System.Net.Sockets.Socket type lives in both System.dll and System.Net.dll for...
Rolf Bjarne Kvinge [Tue, 12 Oct 2010 15:00:30 +0000 (17:00 +0200)]
The System.Net.Sockets.Socket type lives in both System.dll and System.Net.dll for moonlight

13 years ago[xbuild] Reset cache of built targets, on a new project build.
Ankit Jain [Tue, 12 Oct 2010 23:24:00 +0000 (04:54 +0530)]
[xbuild] Reset cache of built targets, on a new project build.

All targets that get built are tracked by the engine, to avoid
unnecessary builds of targets. This should be reset on engine.Build,
unless it is explicitly requested *not to* reset it, via BuildFlags.

13 years ago[xbuild] Reset ConsoleLogger when a build finishes.
Ankit Jain [Tue, 12 Oct 2010 23:21:04 +0000 (04:51 +0530)]
[xbuild] Reset ConsoleLogger when a build finishes.

MSBuild hosts like monodevelop, which use the same logger
for multiple builds, get errors/warnings from older builds.
So, reset them whenever the BuildFinished event is raised.

ILogger.Shutdown () is invoked when the host is about to quit,
according to msdn, so can't use that.

13 years agoAdd preliminary HTTPS handling support for Android.
Jonathan Pryor [Tue, 12 Oct 2010 21:43:45 +0000 (17:43 -0400)]
Add preliminary HTTPS handling support for Android.

The problem is that Android only exposes Java APIs for ~everything of
consequence, including/especially X509 Certificate validation.  Since
we want Mono-based HTTPS support to use the underlying platform
certificates, this requires some amount of Java-using glue.  However,
we don't want to pull in a ton of Java glue into System.dll (bleh!),
so we'll instead place the glue into Mono.Android.dll's
Android.Runtime.AndroidEnvironment.TrustEvaluateSsl(), and instead
create a delegate which will invoke TrustEvaluateSsl() when needed.

13 years agoHandle special case when disposing a socket.
Gonzalo Paniagua Javier [Tue, 12 Oct 2010 21:28:34 +0000 (17:28 -0400)]
Handle special case when disposing a socket.

When disposing a socket that has more than one asynchronous read/write
pending, one of the callbacks could call DisposeAllOnClose() while
another one is waiting on the lock. Once the lock is acquired,
queue.Count will be 0 and Dequeue would fail.
This if fixed now.

Fixes bug #645675.

13 years agoUpdated notes on using get-monolite-latest
Gonzalo Paniagua Javier [Tue, 12 Oct 2010 19:25:04 +0000 (15:25 -0400)]
Updated notes on using get-monolite-latest

13 years agoFix parameterless Action case
Jb Evain [Tue, 12 Oct 2010 17:56:26 +0000 (19:56 +0200)]
Fix parameterless Action case

13 years agoMore fixes for implicit conversions of nullable types with nullable arguments
Marek Safar [Tue, 12 Oct 2010 17:06:11 +0000 (18:06 +0100)]
More fixes for implicit conversions of nullable types with nullable arguments

13 years ago[Fix] fix the ET interpreter to deal with user defined delegates.
Jb Evain [Tue, 12 Oct 2010 16:14:59 +0000 (18:14 +0200)]
[Fix] fix the ET interpreter to deal with user defined delegates.

The Expression Tree interpreter was previously limited to
lambda expression for either an Action or a Func delegate.
This fix removes this limitation. Fixes #645770.

13 years agoAdjust System.Web.Extensions[_1.0].dll.sources wrt MachineKeySectionUtils.cs move
Sebastien Pouliot [Tue, 12 Oct 2010 15:37:44 +0000 (11:37 -0400)]
Adjust System.Web.Extensions[_1.0].dll.sources wrt MachineKeySectionUtils.cs move

13 years agoA few moves/changes following previous patch review
Sebastien Pouliot [Tue, 12 Oct 2010 14:18:19 +0000 (10:18 -0400)]
A few moves/changes following previous patch review

* Makefile: Compile tests with TEST defined (to include System.Web.Util.
MachineKeySectionUtils unit tests)
* System.Web.dll.sources: Move MachineKeySectionUtils.cs from System.
Web.Configuration_2.0 to System.Web.Util
* System.Web_test.dll.sources: Move MachineKeySectionUtilsTest.cs from
System.Web.Configuration_2.0 to System.Web.Util

* System.Web.Configuration_2.0/MachineKeySection.cs: Adjust using
clauses. Uncomment some code. Fix TripleDES versus 3DES for Validation
under NET_4_0. Remove 'private' on fields/methods.
* System.Web.Handlers/AssemblyResourceLoader.cs: Adjust using clauses
* System.Web.Security/MembershipHelper.cs: Adjust using clauses
* System.Web.Security/RolePrincipal.cs: Adjust using clauses
* System.Web.SessionState_2.0/SessionId.cs: Adjust using clauses
* System.Web.UI/LosFormatter.cs: Adjust using clauses.
* System.Web.Util/MachineKeySectionUtils.cs: Moved from System.Web.
Configuration_2.0. Rename namespace and remove 'internal' on type
declaration

* Test/System.Web.Util/MachineKeySectionUtilsTest.cs: Moved from Test/
System.Web.Configuration/MachineKeySectionTest.cs. Add test case for
TripleDES versus 3DES

13 years agoNormalization of cryptographic uses in asp.net
Sebastien Pouliot [Fri, 8 Oct 2010 21:02:20 +0000 (17:02 -0400)]
Normalization of cryptographic uses in asp.net

* System.Web.Configuration_2.0/MachineKeyRegistryStorage.cs:
Remove key length check and generic key generation.

* System.Web.Configuration_2.0/MachineKeySection.cs: Add support for 4.0
ValidationAlgorithm and the use of custom algorithms (validation and
decryption). Allow the use of any, valid, key length (based on the
algorithm). Let each algorithm creates its own key (e.g. special needs,
default length...)

* System.Web.Configuration_2.0/MachineKeySectionUtils.cs: Remove key
generation (from random) code and 192bits key length hack (won't work
with custom algorithms). Add support for new (4.0) algorithms, including
custom ones. Provide uniform/shared code to Encrypt/Decrypt, Sign/Verify
and EncryptSign/VerifyDecrypt using MachineKeySection data.

* System.Web.Configuration_2.0/MachineKeyValidation.cs: Add new (4.0)
values.

* System.Web.Configuration_2.0/MachineKeyValidationConverter.cs: Add
support for new (4.0) algorithms.

* System.Web.Handlers/AssemblyResourceLoader.cs: Use the new common
cryptographic code and base64 the encrypted data.

* System.Web.Security/FormsAuthentication.cs: Use the new common
cryptographic code and base64 the signed and/or encrypted data.

* System.Web.Security/MembershipHelper.cs: Use the new common
cryptographic code - this should be 100% compatible with existing data.

* System.Web.Security/RolePrincipal.cs: Use the new common cryptographic
code.

* System.Web.Security/SqliteMembershipProvider.cs: Adapt code for
internal API change.

* System.Web.UI/LosFormatter.cs: Adapt code for internal API change.
Fix some small behaviro changes wrt NET_4_0

* System.Web.UI/ObjectStateFormatter.cs: Use the new common cryptographic
code.

* System.Web.UI/Page.cs: Remove code that is now unneeded (with the new
common cryptogrraphic code).

* System.Web.Configuration_2.0/MachineKeyCompatibilityMode.cs: New.

* Test/System.Web.Configuration/MachineKeyValidationConverterTest.cs:
Add more, mostly 4.0, test cases.

* Test/System.Web.Security/FormsAuthenticationTest.cs: Add test case to
ensure HashPasswordForStoringInConfigFile is not case sensitive.

* Test/System.Web.UI/LosFormatterTest.cs: Add some rountrip test cases
with the different ctors

13 years agoFixed the console sigint deadlock, by queuing execution in the finalizer thread.
Paolo Molaro [Tue, 12 Oct 2010 15:08:42 +0000 (17:08 +0200)]
Fixed the console sigint deadlock, by queuing execution in the finalizer thread.

* console-io.h, console-null.c, console-unix.c, console-win32.c,
gc.c: instead of executing tons of managed code in signal context,
we wake up the finalizer thread and any complex console-specific
code will be handled there. This can cause a (usually small) delay,
but it's much better than deadlocking.

13 years agoSearch for dllimported shared libs in the base directory, not cwd.
Paolo Molaro [Tue, 12 Oct 2010 13:53:25 +0000 (15:53 +0200)]
Search for dllimported shared libs in the base directory, not cwd.

* loader.c: we don't search the current directory anymore for shared
libraries referenced in DllImport attributes, as it has a slight
security risk. We search in the same directory where the referencing
image was loaded from, instead. Fixes bug# 641915.

13 years ago[asp.net] HiddenFieldPageStatePersister must not attempt to deserialize an empty...
Marek Habersack [Tue, 12 Oct 2010 13:32:37 +0000 (15:32 +0200)]
[asp.net] HiddenFieldPageStatePersister must not attempt to deserialize an empty/null string

13 years agoLoad vtable->max_interface_id using LDIND_U2.
Zoltan Varga [Tue, 12 Oct 2010 13:01:39 +0000 (15:01 +0200)]
Load vtable->max_interface_id using LDIND_U2.

13 years agoMove the helper signatures along with their init function to method-to-ir.c.
Zoltan Varga [Tue, 12 Oct 2010 11:01:22 +0000 (13:01 +0200)]
Move the helper signatures along with their init function to method-to-ir.c.

13 years agoKeep parsing after invalid contstructor declaration
Marek Safar [Tue, 12 Oct 2010 10:21:50 +0000 (11:21 +0100)]
Keep parsing after invalid contstructor declaration

13 years ago[645572] Import more type as possible dynamic types.
Marek Safar [Tue, 12 Oct 2010 09:52:45 +0000 (10:52 +0100)]
[645572] Import more type as possible dynamic types.

13 years agoDo not create a constant null value for runtime types.
Marek Safar [Tue, 12 Oct 2010 08:54:50 +0000 (09:54 +0100)]
Do not create a constant null value for runtime types.

13 years agoReport correct error message for compound lifted binary operations
Marek Safar [Tue, 12 Oct 2010 08:25:10 +0000 (09:25 +0100)]
Report correct error message for compound lifted binary operations

13 years agoFold duplex conversion casts into a expression to emit single convert for expression...
Marek Safar [Tue, 12 Oct 2010 08:21:15 +0000 (09:21 +0100)]
Fold duplex conversion casts into a expression to emit single convert for expression trees

13 years agoFail the class if its method overloads are broken.
Rodrigo Kumpera [Tue, 12 Oct 2010 04:22:08 +0000 (01:22 -0300)]
Fail the class if its method overloads are broken.

* class.c (mono_class_setup_vtable): Fail the class if
we fail to load its overloads.

Fixes #562156

13 years agoFix IsolatedStorageFile.GetUserStoreForApplication() for MOBILE.
Jonathan Pryor [Tue, 12 Oct 2010 02:26:38 +0000 (22:26 -0400)]
Fix IsolatedStorageFile.GetUserStoreForApplication() for MOBILE.

IsolatedStorageFile.GetUserStoreForApplication() would previously throw an
IsolatedStorageException because no ApplicationIdentity was provided by the
AppDomain.

We would like to provide this method in a workable fashion to facilitate code
portability with Windows Phone 7, which exposes only this method for saving
files to stable storage.

Thus, skip the ApplicationIdentity and code identity checks for MOBILE
(MonoDroid, MonoTouch) so that IsolatedStorage Just Works.

13 years agoAdd regression test for #562150
Rodrigo Kumpera [Mon, 11 Oct 2010 20:02:54 +0000 (17:02 -0300)]
Add regression test for #562150

13 years agoCheck if parent is a valid type.
Rodrigo Kumpera [Mon, 11 Oct 2010 20:00:59 +0000 (17:00 -0300)]
Check if parent is a valid type.

* verify.c (mono_verifier_verify_class): Don't allow parent to
be a GTD.

Fixes #562150

13 years agoMove IL verifier test to the right folder.
Rodrigo Kumpera [Mon, 11 Oct 2010 19:19:56 +0000 (16:19 -0300)]
Move IL verifier test to the right folder.

13 years agoAdd regression test for #562771
Rodrigo Kumpera [Mon, 11 Oct 2010 19:19:04 +0000 (16:19 -0300)]
Add regression test for #562771

13 years agoDon't allow a GTD to be used as a generic argument.
Rodrigo Kumpera [Mon, 11 Oct 2010 19:07:36 +0000 (16:07 -0300)]
Don't allow a GTD to be used as a generic argument.

* verify.c (is_valid_generic_instantiation): A GTD cannot
be used as generic argument. Check for those conditions
even if the argument has no constraints.

Fixes #562771

13 years agoHandle dynamic methods as managed.
Rodrigo Kumpera [Mon, 11 Oct 2010 17:12:32 +0000 (14:12 -0300)]
Handle dynamic methods as managed.

* mini-exceptions.c (mono_find_jit_info): Treat
dynamic method wrappers as managed methods.

* DynamicMethodTest.cs: Add test for GetCurrentMethod.

Fixes #640702

13 years agoAdd regression test for #644935
Rodrigo Kumpera [Mon, 11 Oct 2010 16:41:22 +0000 (13:41 -0300)]
Add regression test for #644935

13 years agoCheck if generic constraint are valid generic instantiations.
Rodrigo Kumpera [Mon, 11 Oct 2010 16:34:45 +0000 (13:34 -0300)]
Check if generic constraint are valid generic instantiations.

* verify.c (verify_generic_parameters): If a generic constraint
is a generic instance, it must respect the constraint of that
type too.

Fixes #644935

13 years agoCompound assignments over reference type array cannot use ldelema
Marek Safar [Mon, 11 Oct 2010 16:24:24 +0000 (17:24 +0100)]
Compound assignments over reference type array cannot use ldelema

13 years agoRemove warnings
Gonzalo Paniagua Javier [Mon, 11 Oct 2010 15:28:14 +0000 (11:28 -0400)]
Remove warnings

13 years agoSet the wrapper info for the virtual stelemref wrappers to a non-NULL value.
Zoltan Varga [Mon, 11 Oct 2010 09:18:21 +0000 (11:18 +0200)]
Set the wrapper info for the virtual stelemref wrappers to a non-NULL value.

13 years agoFix full-aot support for the stelemref wrappers.
Zoltan Varga [Mon, 11 Oct 2010 09:15:06 +0000 (11:15 +0200)]
Fix full-aot support for the stelemref wrappers.

13 years ago[xbuild] Log TaskFinished even when task fails to initialize.
Ankit Jain [Sun, 10 Oct 2010 22:57:09 +0000 (04:27 +0530)]
[xbuild] Log TaskFinished even when task fails to initialize.

13 years ago[645232] Implement ITypeDefinition for internal types.
Marek Safar [Sun, 10 Oct 2010 16:13:12 +0000 (17:13 +0100)]
[645232] Implement ITypeDefinition for internal types.

13 years agoAdd missing file.
Atsushi Eno [Sat, 9 Oct 2010 04:53:57 +0000 (13:53 +0900)]
Add missing file.

13 years agoAdd couple of (not-working) object reader testcases. Add some comments and commented...
Atsushi Eno [Sat, 9 Oct 2010 04:52:36 +0000 (13:52 +0900)]
Add couple of (not-working) object reader testcases. Add some comments and commented code on XamlObjectReader.

13 years agoAdd fast stelem.ref for interfaces too.
Rodrigo Kumpera [Sat, 9 Oct 2010 01:13:13 +0000 (22:13 -0300)]
Add fast stelem.ref for interfaces too.

* marshal.c (mono_marshal_get_virtual_stelemref): Add a custom
wrapper for interface casts.

This was the most frequent array kind left without a fast
stelem.ref wrapper. During testing the only easy target
left was arrays of arrays, but those are so rare that
won't make a different on any workload.

13 years agoImplement fast stelemref.
Rodrigo Kumpera [Fri, 8 Oct 2010 19:32:08 +0000 (16:32 -0300)]
Implement fast stelemref.

* class.c (mono_class_setup_vtable_general): Inject
the array stelemref method on vectors of reference types.

* class.c (mono_class_init): Properly handle the fact
that arrays have different vtable sizes.

* marshal.c (mono_marshal_get_virtual_stelemref): New
function that returns a better tailored stelemref wrapper
for a given array type.

* method-to-ir.c (mono_method_to_ir): Emit a virtual
call to the new faster stelemref wrapper.

This schema uses 4 wrappers instead of one and puts
it into the vtable of vectors of reference types.

This change improves a synthetic benchmark of an
equal mix of stores as compiling corlib by 25%.

It improves pystones by 3-4%.

13 years agoRemove unneeded 'using' clauses
Sebastien Pouliot [Fri, 8 Oct 2010 20:08:49 +0000 (16:08 -0400)]
Remove unneeded 'using' clauses

13 years agoRemove unneeded 'using' clauses
Sebastien Pouliot [Fri, 8 Oct 2010 15:57:25 +0000 (11:57 -0400)]
Remove unneeded 'using' clauses

13 years agoFix ASP.NET HttpResponse not to depend on a (fixed) bug in UriBuilder
Sebastien Pouliot [Fri, 8 Oct 2010 15:54:36 +0000 (11:54 -0400)]
Fix ASP.NET HttpResponse not to depend on a (fixed) bug in UriBuilder

* System.Web/System.Web/HttpResponse.cs: Ensure '?' is not encoded as
%3F while redirecting (e.g. aspxerrorpath) since this can cause a loop.
i.e. not found leading to not found...

* System/System/Test/System/UriBuilderTest.cs: Add test to confirm the
right behavior of UriBuilder wrt how it was used by Mono's ASP.NET

13 years agoBuffer sizes
Gonzalo Paniagua Javier [Fri, 8 Oct 2010 01:15:55 +0000 (21:15 -0400)]
Buffer sizes

workingBlock should be the InputBlockSize and currentBlock the
OutputBlockSize. Allocate currentBlock lazily.

Test contributed by Bassam Tabbara.
Fixes bug #644740.

13 years ago[CryptoStream] Invalid enum in ctor
Gonzalo Paniagua Javier [Fri, 8 Oct 2010 00:59:29 +0000 (20:59 -0400)]
[CryptoStream] Invalid enum in ctor

Throw on invalid enum value in the ctor.

13 years agoDispose calls FlushFinalBlock
Gonzalo Paniagua Javier [Fri, 8 Oct 2010 00:52:59 +0000 (20:52 -0400)]
Dispose calls FlushFinalBlock

Dispose calls FlushFinalBlock (even for Read mode) and this in turn
calls either FlushFinalBlock or Flush on the underlying stream.

13 years agoFix Marshal.SizeOf() for structs with explicit layout
Gonzalo Paniagua Javier [Wed, 6 Oct 2010 17:46:16 +0000 (13:46 -0400)]
Fix Marshal.SizeOf() for structs with explicit layout

Marshal.SizeOf is now returning the expected values for explicit layout
in 32 and 64 bits systems.

Fixes bug #641535.

13 years agoDon't assume the system.object does not have any fields
Marek Safar [Fri, 8 Oct 2010 17:37:08 +0000 (18:37 +0100)]
Don't assume the system.object does not have any fields

13 years ago[642975] Fix initializer of partially static multidimensional arrays
Marek Safar [Fri, 8 Oct 2010 16:20:23 +0000 (17:20 +0100)]
[642975] Fix initializer of partially static multidimensional arrays

13 years ago[644673] Import of modules got broken
Marek Safar [Fri, 8 Oct 2010 16:00:42 +0000 (17:00 +0100)]
[644673] Import of modules got broken

13 years agoUndo mach_dep change.
Gonzalo Paniagua Javier [Fri, 8 Oct 2010 15:55:31 +0000 (11:55 -0400)]
Undo mach_dep change.

13 years agoAllow imported members cache to be setup in 2 phases as compiled one is to deal with...
Marek Safar [Fri, 8 Oct 2010 14:46:05 +0000 (15:46 +0100)]
Allow imported members cache to be setup in 2 phases as compiled one is to deal with generics recursions

13 years agoAllow -jX when compiling libgc
Gonzalo Paniagua Javier [Fri, 8 Oct 2010 14:39:21 +0000 (10:39 -0400)]
Allow -jX when compiling libgc

Add mach_dep.c to the sources.
Fixes bug #644933.
Thanks to Mathias Ruediger.

13 years agoAdd support generic arguments in ModuleBuilder.Resolve*Token icalls
Jb Evain [Fri, 8 Oct 2010 12:21:44 +0000 (14:21 +0200)]
Add support generic arguments in ModuleBuilder.Resolve*Token icalls

For ResolveTypeToken, ResolveFieldToken and ResolveMethodToken,
resolve definitions directly and try to instantiate only types
that can be instantiated, such as MemberRef, MethodSpec and TypeSpec.
Also validate the memberref token type for ResolveField and
ResolveMethod when passing them a MemberRef token.

13 years agoAdd tests for ModuleBuilder.ResolveMember on different kind of tokens
Jb Evain [Fri, 8 Oct 2010 12:17:14 +0000 (14:17 +0200)]
Add tests for ModuleBuilder.ResolveMember on different kind of tokens

13 years agoFix a warning.
Zoltan Varga [Fri, 8 Oct 2010 09:47:13 +0000 (11:47 +0200)]
Fix a warning.

13 years agoDo not reject contract from the same method, could happen by a type with multiple...
Atsushi Eno [Fri, 8 Oct 2010 06:55:12 +0000 (15:55 +0900)]
Do not reject contract from the same method, could happen by a type with multiple service contracts within the typie hierarchy.

For details, see: http://lists.ximian.com/pipermail/mono-devel-list/2010-September/035940.html

13 years ago[asp.net] Fix for bug #643763. BuildManager must not fail with BuildProviders lacking...
Kornél Pál [Fri, 8 Oct 2010 06:41:39 +0000 (08:41 +0200)]
[asp.net] Fix for bug #643763. BuildManager must not fail with BuildProviders lacking the BuildProviderAppliesTo attribute.

13 years agoAdd support for EnableSsl in smtp config.
Gonzalo Paniagua Javier [Fri, 8 Oct 2010 04:33:59 +0000 (00:33 -0400)]
Add support for EnableSsl in smtp config.

Ditto.
Fixes bug #644816.

13 years agoFix the sparc build.
Zoltan Varga [Fri, 8 Oct 2010 03:15:44 +0000 (05:15 +0200)]
Fix the sparc build.

13 years agoeglib: Make g_malloc and friends abort in case of failure (like glib does)
Rolf Bjarne Kvinge [Fri, 24 Sep 2010 10:21:38 +0000 (12:21 +0200)]
eglib: Make g_malloc and friends abort in case of failure (like glib does)

* eglib/src/glib.h:
* eglib/src/gmem.c: Make g_malloc and friends abort in case of failure, like
  glib does.

* eglib/src/eglib-remap.h: Remap all allocation functions.

13 years agoImplement managed versions of the caching icalls.
Rodrigo Kumpera [Thu, 7 Oct 2010 20:35:09 +0000 (17:35 -0300)]
Implement managed versions of the caching icalls.

* marshal.c: Add mono_marshal_get_isinst_with_cache
and mono_marshal_get_castclass_with_cache.

        * marshal.h: Export those 2 new functions.

        * method-to-ir.c: Call those functions instead of their
        icall versions. This speeds up non gshared cases by up to 3x
        and gshared by up to 2x.

        Those wrappers are not inlined since the register allocator
        doesn't handle well so the minor speedup is not worth be
        significant bloat introduced.

13 years agoAdd gsharing support for cached casts.
Rodrigo Kumpera [Thu, 7 Oct 2010 18:45:57 +0000 (15:45 -0300)]
Add gsharing support for cached casts.

* class-internals.h: Add new kind of rgctx slot.

* method-to-ir.c (handle_castclass): Emit gsharing code
for cast with caching.

* method-to-ir.c (handle_isinst):

* mini-generic-sharing.c: Implement MONO_RGCTX_INFO_CAST_CACHE
slot type. It's a 2 word domain allocated memory block with the
cache on the first word and the vtable on the second.

This design does a single rgctx fetch instead of two. It's
a bit faster and can potentialy save some slots.

13 years agoAdd single entry cache to casts of types with variant generic arguments.
Rodrigo Kumpera [Thu, 7 Oct 2010 18:33:04 +0000 (15:33 -0300)]
Add single entry cache to casts of types with variant generic arguments.

        * jit-icall.c (mono_object_castclass_with_cache): Check
        single entry cache before calling mono_object_isinst.

        * jit-icall.c (mono_object_isinst_with_cache): Check
        single entry cache before calling mono_object_isinst.
        This uses a positive and negative cache as it is used
        for type queries quite often.

        * jit-icalls.h: Export new icalls.

        * mini.c (mini_init): Register new icalls.

        * method-to-ir.c: Call into cache aware version of type
        test ops for types with variant generic arguments.

        This patch replaces direct calls to mono_object_castclass
        mono_object_isisnt to functions that check a cache first.
        The cache is per managed code callsite so the hit ratio
        is very high.

13 years agoFast cast for some cases of generic variant types.
Rodrigo Kumpera [Thu, 7 Oct 2010 15:16:25 +0000 (12:16 -0300)]
Fast cast for some cases of generic variant types.

* method-to-ir.c: Casts to generic types with variant argument
can use the regular fast path if all variant arguments are
valuetypes.

13 years agoDo the right check for arrays.
Rodrigo Kumpera [Thu, 7 Oct 2010 20:37:15 +0000 (17:37 -0300)]
Do the right check for arrays.

* marshal.c (mono_marshal_load_type_info): Properly check for
array types.

13 years agoFix CryptoStream.Dispose
Gonzalo Paniagua Javier [Thu, 7 Oct 2010 18:22:35 +0000 (14:22 -0400)]
Fix CryptoStream.Dispose

-Dispose will call TransformFinalBlock() for Read streams. Fixes bug #644648.
-Dispose () will call Dispose (bool). Fixes bug #644654.
-Stream.Close calls GC.SuppressFinalize(). Fixes bug #644660.

13 years agoFix compound event assigments with dynamic side effect
Marek Safar [Thu, 7 Oct 2010 18:14:48 +0000 (19:14 +0100)]
Fix compound event assigments with dynamic side effect

13 years agoAdd tests for ModuleBuilder.ResolveMemberToken
Jb Evain [Thu, 7 Oct 2010 18:02:59 +0000 (20:02 +0200)]
Add tests for ModuleBuilder.ResolveMemberToken

13 years agoFix resolution of memberref tokens in the dynamic case.
Jb Evain [Thu, 7 Oct 2010 18:02:09 +0000 (20:02 +0200)]
Fix resolution of memberref tokens in the dynamic case.

mono_metadata_memberref_is_method: rename to mono_memberref_is_method
and deal with the case where the assembly is dynamic. This prevents
a runtime crash when calling ModuleBuilder.ResolveMemberToken with
a MemberRef token pointing to a field.

13 years agoAdd --debug=casts support for ArrayTypeMismatchException's.
Zoltan Varga [Thu, 7 Oct 2010 17:21:27 +0000 (19:21 +0200)]
Add --debug=casts support for ArrayTypeMismatchException's.

13 years agoCentralize the setting of cfg->exception_type and the branching to load_error to...
Zoltan Varga [Thu, 7 Oct 2010 16:59:49 +0000 (18:59 +0200)]
Centralize the setting of cfg->exception_type and the branching to load_error to ease debugging.

13 years agoExpose ICredentialsByHost on NetworkCredential in the MOBILE profiles
Geoff Norton [Thu, 7 Oct 2010 17:01:25 +0000 (13:01 -0400)]
Expose ICredentialsByHost on NetworkCredential in the MOBILE profiles

13 years agoFix test
Jb Evain [Thu, 7 Oct 2010 14:43:41 +0000 (16:43 +0200)]
Fix test

13 years ago[Test] Add test for ModuleBuilder.ResolveFieldToken on generic fields.
Jb Evain [Thu, 7 Oct 2010 14:40:15 +0000 (16:40 +0200)]
[Test] Add test for ModuleBuilder.ResolveFieldToken on generic fields.

13 years ago[Fix] Properly compute the tokens for FieldBuilders.
Jb Evain [Thu, 7 Oct 2010 14:39:04 +0000 (16:39 +0200)]
[Fix] Properly compute the tokens for FieldBuilders.

mono_reflection_get_token: For FieldBuilders, now reuse the token
computed when the FieldBuilder are instantiated, instead of
re-creating them. This avoids registering field definitions
as MemberRefs.

13 years ago[Fix] FieldBuilder.ctor: properly register FieldBuilder token.
Jb Evain [Thu, 7 Oct 2010 14:36:37 +0000 (16:36 +0200)]
[Fix] FieldBuilder.ctor: properly register FieldBuilder token.

We were previously relying on the runtime to register the token
for FieldBuilders, but this has issues with fields on generics types
as it would create a MemberRef token instead of a Field token.

13 years ago[644507] Don't use nested type cache until declaring type is setup.
Marek Safar [Thu, 7 Oct 2010 14:26:00 +0000 (15:26 +0100)]
[644507] Don't use nested type cache until declaring type is setup.

13 years agoSignificant XamlObjectWriter rewrite for solid state transition. And now it supports...
Atsushi Eno [Thu, 7 Oct 2010 13:43:10 +0000 (22:43 +0900)]
Significant XamlObjectWriter rewrite for solid state transition. And now it supports Array(Extension) and other MarkupExtension types.

13 years agoClear the domain before unloading assemblies in mono_domain_free ().
Zoltan Varga [Thu, 7 Oct 2010 13:27:18 +0000 (15:27 +0200)]
Clear the domain before unloading assemblies in mono_domain_free ().

13 years agoFix more wrappers of dynamic methods.
Zoltan Varga [Thu, 7 Oct 2010 13:26:26 +0000 (15:26 +0200)]
Fix more wrappers of dynamic methods.

13 years agoFix compound assigments with dynamic side effect
Marek Safar [Thu, 7 Oct 2010 12:43:25 +0000 (13:43 +0100)]
Fix compound assigments with dynamic side effect

13 years agoFix make test for corlib.
Zoltan Varga [Thu, 7 Oct 2010 11:50:34 +0000 (13:50 +0200)]
Fix make test for corlib.