Sebastien Pouliot [Tue, 19 Nov 2013 13:41:33 +0000 (08:41 -0500)]
[linker] Allow overriding MarkCustomAttribute and expose the MarkDefaultConstructor feature to subclasses
Zoltan Varga [Tue, 19 Nov 2013 12:16:10 +0000 (13:16 +0100)]
[llvm] Fix the handling of moves in the LICM optimization.
Zoltan Varga [Tue, 19 Nov 2013 11:55:45 +0000 (12:55 +0100)]
[llvm] Decompose OP_STOREV_MEMBASE opcodes earlier since they might need write barriers.
Zoltan Varga [Tue, 19 Nov 2013 11:05:04 +0000 (12:05 +0100)]
[llvm] Implement support for OP_TLS_GET_REG on osx/amd64.
Zoltan Varga [Tue, 19 Nov 2013 10:44:53 +0000 (11:44 +0100)]
[llvm] Pass the type token index to throw_corlib_exception on amd64 too.
Zoltan Varga [Tue, 19 Nov 2013 04:42:23 +0000 (05:42 +0100)]
[llvm] Make the rgctx arg a pointer type as well.
Zoltan Varga [Tue, 19 Nov 2013 04:28:56 +0000 (05:28 +0100)]
[llvm] Make some types more precise to decrease the number of int<->ptr conversions generated.
Rodrigo Kumpera [Mon, 18 Nov 2013 23:11:35 +0000 (18:11 -0500)]
[bcl] Implement CultureInfo.DefaultThreadCurrentUICulture.
Rodrigo Kumpera [Mon, 18 Nov 2013 22:41:40 +0000 (17:41 -0500)]
[bcl]Add test for CultureInfo.DefaultThreadCurrentCulture
Rodrigo Kumpera [Mon, 18 Nov 2013 22:39:59 +0000 (17:39 -0500)]
[bcl] Implement CultureInfo.DefaultThreadCurrentCulture.
The way DefaultThreadCurrentCulture is to be implemented is that its current value
will always be used by a thread that didn't set a value for its culture.
This means we can't cache DefaultThreadCurrentCulture value as it's allowed to
change and threads must always show the latest value.
Rodrigo Kumpera [Mon, 18 Nov 2013 22:38:14 +0000 (17:38 -0500)]
[bcl]Memoize the default culture so it can be reused across threads.
Rodrigo Kumpera [Mon, 18 Nov 2013 22:24:03 +0000 (17:24 -0500)]
[bcl]Set the culture of the thread local NumberFormatter everytime.
the problem of changing the culture when a new value is set in the current thread
is that is doesn't work well with CultureInfo.DefaultThreadCurrentCulture.
Jonathan Pryor [Mon, 18 Nov 2013 21:03:49 +0000 (16:03 -0500)]
[System] Add more of System.ComponentModel to MOBILE profile.
Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=16071
Improve compatibility of the MOBILE profile with Desktop .NET:
Add (nearly) everything from System.ComponentModel (and nested
namespaces) _except_ for things that depend on Licensing.
This includes System.ComponentModel.Design.HelpKeywordAttribute
(requested in Bug #16071), many many other attributes, more
exceptions, more EventArgs subclasses, etc.
Rodrigo Kumpera [Mon, 18 Nov 2013 19:26:20 +0000 (14:26 -0500)]
[bcl] Add regression test for bxc #16096.
Rodrigo Kumpera [Mon, 18 Nov 2013 19:06:26 +0000 (14:06 -0500)]
[runtime] Avoid caching member_ref tokens of dynamic images. Fixes #16096
SRE encodes references to self-instantiated generic types in a different way
that regular code.
This is required as there's no clear way to differentiate between an open type
and a self-instantiated type when using System.Type.
Given that restriction, code that deals with loading such methods must take
special case and not cache then as the context under generic sharing will not
be used - so it would be seen as cacheable.
When using regular instantiation the same method lookup will require the context
to be used but will hit the cache before.
This is another problem of passing the instantiation context around. It messes
up with way too much stuff.
Zoltan Varga [Mon, 18 Nov 2013 09:09:14 +0000 (10:09 +0100)]
[llvm] Disable the LLVM verifier, it does module wide checks leading to quadratic behavior.
Zoltan Varga [Mon, 18 Nov 2013 09:05:23 +0000 (10:05 +0100)]
[llvm] Collect used methods only in AOT mode.
Zoltan Varga [Mon, 18 Nov 2013 06:52:32 +0000 (07:52 +0100)]
[llvm] Add some micro optimizations to the LLVM/AOT code.
Zoltan Varga [Mon, 18 Nov 2013 05:08:29 +0000 (06:08 +0100)]
[llvm] Use a pointer type as the type of 'this' instead of an int.
Zoltan Varga [Mon, 18 Nov 2013 04:32:05 +0000 (05:32 +0100)]
Fix the previous commit.
Zoltan Varga [Mon, 18 Nov 2013 04:31:03 +0000 (05:31 +0100)]
Bump expected LLVM version in configure.
Zoltan Varga [Mon, 18 Nov 2013 04:20:55 +0000 (05:20 +0100)]
Zoltan Varga [Mon, 18 Nov 2013 01:41:58 +0000 (02:41 +0100)]
Don't register the LLVM SSE intrinsics on arm.
Zoltan Varga [Sun, 17 Nov 2013 06:51:15 +0000 (07:51 +0100)]
[jit] Handle the caller saved D8..D15 register during unwinding on ARM.
Zoltan Varga [Sun, 17 Nov 2013 06:49:04 +0000 (07:49 +0100)]
[jit] Avoid clearing MONO_INST_FAULT flags when using explicit null checks, LLVM can move the non-faulting loads before the null checks.
Zoltan Varga [Sat, 16 Nov 2013 12:05:44 +0000 (13:05 +0100)]
[runtime] Fix unaligned access in volatile icalls.
Marek Safar [Sat, 16 Nov 2013 09:44:28 +0000 (10:44 +0100)]
Bump ikvm-reflection
Marek Safar [Sat, 16 Nov 2013 08:49:27 +0000 (09:49 +0100)]
Add new test
Marek Safar [Sat, 16 Nov 2013 08:48:43 +0000 (09:48 +0100)]
[ilasm] Correctly set empty export attributes
Zoltan Varga [Sat, 16 Nov 2013 04:21:57 +0000 (05:21 +0100)]
Fix corlib tests.
Marek Safar [Fri, 15 Nov 2013 19:12:23 +0000 (20:12 +0100)]
[mcs] Import only forwarder kind of exported types.
Alex Rønne Petersen [Fri, 15 Nov 2013 14:08:06 +0000 (15:08 +0100)]
Fix the `nop` opcode on some MIPS-based Loongson CPUs.
After much trouble building Mono in Debian/MIPS, @directhex
narrowed it down to this issue:
https://sourceware.org/ml/binutils/2009-11/msg00387.html
So since some of the 2E and 2F versions of the Loongson CPUs
break with a regular `sll zero, zero, 0` we need to issue an
`or at, at, 0`. This makes sure we don't randomly deadlock or
blow up when the CPU is under heavy load.
Yes, really.
Marek Safar [Fri, 15 Nov 2013 12:57:53 +0000 (04:57 -0800)]
Merge pull request #809 from criteo/16186-SqlCommand
[Bug 16186] SqlCommand.BeginExecuteInternal fix
Maxime Brugidou [Fri, 15 Nov 2013 12:14:08 +0000 (13:14 +0100)]
[Bug 16186] SqlCommand.BeginExecuteInternal fix
If you use a stored procedure or a prepared statement, with
CommantType.StoredProcedure the ar variable is not set as the result of
onnection.Tds.BeginExecuteProcedure().
Zoltan Varga [Fri, 15 Nov 2013 08:22:44 +0000 (09:22 +0100)]
Mark a few corlib tests as LLVMNotWorking.
Zoltan Varga [Fri, 15 Nov 2013 00:41:22 +0000 (01:41 +0100)]
[jit] Make the exceptions.cs test suite runnable in mobile.
Zoltan Varga [Thu, 14 Nov 2013 23:59:07 +0000 (00:59 +0100)]
[sdb] Add an ExitCode property to VMDeathEvent. Fixes #16113.
Jeffrey Stedfast [Thu, 14 Nov 2013 20:05:01 +0000 (15:05 -0500)]
[Mono.Debugger.Soft] Added FlagsAttrbite where appropriate
Zoltan Varga [Thu, 14 Nov 2013 20:01:59 +0000 (21:01 +0100)]
[aot] Increase a buffer size to avoid an assert. Fixes #16239.
Rodrigo Kumpera [Thu, 14 Nov 2013 17:11:44 +0000 (12:11 -0500)]
Add some tests for #15124.
Rodrigo Kumpera [Thu, 14 Nov 2013 16:47:12 +0000 (11:47 -0500)]
[runtime]Type parsing of generics should not rely on the presence of a backtick. Fixes #15124.
We previously depended on the presence of a backtick in a generic type name to try to
parse a generics argument list. This is not what the spec says and F# breaks this expectation.
The right way to handle this is to probe for array syntax.
Rodrigo Kumpera [Thu, 14 Nov 2013 16:44:59 +0000 (11:44 -0500)]
[runtime]When setting a loader error, clear the previous one to avoid the leak.
Marek Safar [Thu, 14 Nov 2013 17:16:57 +0000 (18:16 +0100)]
[mcs] Assignment to value type readonly generated variables needs to check all member access expressions. Fixes #15832
Marek Safar [Thu, 14 Nov 2013 15:24:10 +0000 (16:24 +0100)]
[mcs] Missing type forwarded types should not cause type collision. Fixes #16196
Marek Safar [Thu, 14 Nov 2013 15:02:32 +0000 (16:02 +0100)]
[ilasm] Fixes forwarded types namespace encoding
Marek Safar [Thu, 14 Nov 2013 12:41:06 +0000 (04:41 -0800)]
Merge pull request #808 from knocte/master
[System.Configuration/Test] Try to track down failure in buildbot
Andrés G. Aragoneses [Thu, 14 Nov 2013 12:08:07 +0000 (13:08 +0100)]
[System.Configuration/Test] Try to track down failure in buildbot
This TestConnectionStringRetrieval unit test (committed by me some months
ago) succeeds for me in a clean checkout, but I don't understand why it
fails in the buildbot, so let's place some sanity check in it.
Zoltan Varga [Thu, 14 Nov 2013 03:50:07 +0000 (04:50 +0100)]
[jit] Fix the DISABLE_JIT build.
Sebastien Pouliot [Thu, 14 Nov 2013 02:42:02 +0000 (21:42 -0500)]
[linker] Do not import something that is not marked when sweeping type references (otherwise we might re-intoduce dependencies we're not including or need) [#16213]
Zoltan Varga [Wed, 13 Nov 2013 21:39:26 +0000 (22:39 +0100)]
[llvm] Fix type mismatches in the implementation of the atomic opcodes.
Rodrigo Kumpera [Wed, 13 Nov 2013 18:36:30 +0000 (13:36 -0500)]
[runtime]Don't expand variant generic interfaces on arrays.
We don't need to expand variant interfaces in 4.5 as they work
just fine.
This saves us from loading a lot of extra metadata and inflating
spurious classes.
Jonathan Pryor [Wed, 13 Nov 2013 20:25:28 +0000 (15:25 -0500)]
[mdoc] Flush expected output.
Commit
0a2c38df changed Delegate.Remove() so that it uses
Locale.GetText(), which thus introduces additional exceptions which
can be possibly thrown from Delegate.Remove().
This is similar to the situation in corlib/
3d3fe6af (added
Locale.GetText() use) and mdoc/
574dbc8e (updated unit tests).
Marek Safar [Wed, 13 Nov 2013 19:38:18 +0000 (20:38 +0100)]
Always show error message when type resolver produces ambiguous type. Fixes #16115
Marek Safar [Wed, 13 Nov 2013 13:13:04 +0000 (14:13 +0100)]
[mcs] tests update
Rolf Bjarne Kvinge [Wed, 13 Nov 2013 08:51:37 +0000 (00:51 -0800)]
Merge pull request #801 from Ninds/master
Setting ReceiveBufferSize & SendBufferSize on Socket (Bug 16021 & Bug 12754)
Marek Safar [Wed, 13 Nov 2013 08:46:56 +0000 (09:46 +0100)]
Disable failing test
Marek Safar [Tue, 12 Nov 2013 19:45:13 +0000 (20:45 +0100)]
[sle] Enable char equality comparison. Fixes #15582
Rodrigo Kumpera [Tue, 12 Nov 2013 19:18:20 +0000 (14:18 -0500)]
Fix the build.
Marek Safar [Tue, 12 Nov 2013 19:00:33 +0000 (20:00 +0100)]
Update currency separators. Fixes #15425
Marek Safar [Tue, 12 Nov 2013 10:53:10 +0000 (11:53 +0100)]
Extract CurrencyDecimalDigits using currency and not territory info. Fixes #15895
Marek Safar [Tue, 12 Nov 2013 08:33:35 +0000 (09:33 +0100)]
Add more tests
Rodrigo Kumpera [Tue, 12 Nov 2013 15:31:33 +0000 (10:31 -0500)]
[jit] Use unsigned comparisons with the IMT thunks as they can live in high memory addresses.
Rodrigo Kumpera [Tue, 12 Nov 2013 15:31:07 +0000 (10:31 -0500)]
[jit] Improve arm IMT debugging.
Rodrigo Kumpera [Tue, 12 Nov 2013 15:28:42 +0000 (10:28 -0500)]
[corlib] Improve the exception message in Delegate::Remove.
Sebastien Pouliot [Tue, 12 Nov 2013 18:55:44 +0000 (13:55 -0500)]
[linker] Do not remove resources from mscorlib unless it's action is set to Link
Marek Safar [Tue, 12 Nov 2013 08:38:48 +0000 (00:38 -0800)]
Merge pull request #799 from kebby/master
Task.WhenAllCore<T> now handles empty argument list correctly. Fixes #15956
Marek Safar [Tue, 12 Nov 2013 08:11:18 +0000 (00:11 -0800)]
Merge pull request #805 from supershitauto/master
2013-11-12 Ryan Williams <ryan@ryanwilliams.id.au>
supershitauto [Tue, 12 Nov 2013 05:13:39 +0000 (16:13 +1100)]
2013-11-12 Ryan Williams <ryan@ryanwilliams.id.au>
Renamed member variables to be compatible with Microsoft for serialization.
Slight change to Equals method for consistency.
Zoltan Varga [Mon, 11 Nov 2013 18:21:57 +0000 (19:21 +0100)]
[aot] Fix a typo causing crashes when using async jit info.
Marek Safar [Mon, 11 Nov 2013 14:22:35 +0000 (06:22 -0800)]
Merge pull request #804 from xplicit/attrfix
Fixed StackOverflow exception in Attribute.GetHashCode()
xplicit [Mon, 11 Nov 2013 13:44:59 +0000 (20:44 +0700)]
fixed stackoverflow exception in Attribute.GetHashCode()
MS implementation of Attribute.GetHashCode does not depend on TypeId property, so you can return any value in TypeId and hashcode in MS.NET will be the same.
Narinder CLAIRE [Mon, 11 Nov 2013 10:48:56 +0000 (10:48 +0000)]
Socket ReceiveBufferSize & SendBufferSize set to random values.
Fixes :
https://bugzilla.xamarin.com/show_bug.cgi?id=16021
https://bugzilla.xamarin.com/show_bug.cgi?id=12754
Resolves:
http://lists.ximian.com/pipermail/mono-list/2013-June/050008.html
A reference to the variable bufsize, local to the else-if block was being passed to the function setsockopt hence
the properties ReceiveBufferSize & SendBufferSize were being set to garbage on the Socket class. This could and did have a SERIOUS performance hit on socket communication. It is not inconceivable that people would try to increase the
buffer sizes and inadvertently shrink them considerably with a consequence of drastically degrade performance.
Narinder Claire
narinder.claire <> gmail.com
Signed-off-by: Narinder CLAIRE <narinder.claire@uk.bnpparibas.com>
Zoltan Varga [Mon, 11 Nov 2013 07:56:07 +0000 (08:56 +0100)]
[aot] Remove -mattr=-avx flag to llc on amd64+osx, its no longer needed.
Zoltan Varga [Mon, 11 Nov 2013 07:37:27 +0000 (08:37 +0100)]
[aot] Clean up the linker invocation code a bit.
Zoltan Varga [Mon, 11 Nov 2013 07:23:33 +0000 (08:23 +0100)]
[aot] Use temp.bc/temp.opt.bc instead of temp.s.bc/temp.s.opt.bc as llvm temporary file names.
Zoltan Varga [Mon, 11 Nov 2013 07:09:24 +0000 (08:09 +0100)]
[llvm] Add the strip-dead-prototypes pass to remove unused intrinsics definitions from the .bc file.
Zoltan Varga [Mon, 11 Nov 2013 05:54:34 +0000 (06:54 +0100)]
[aot] Use clang as the assembler on osx.
Zoltan Varga [Mon, 11 Nov 2013 05:35:58 +0000 (06:35 +0100)]
[aot] Avoid emitting a 'methods' symbol using .set methods, clang's integrated assembler doesn't seem to support it.
Zoltan Varga [Mon, 11 Nov 2013 05:05:29 +0000 (06:05 +0100)]
[llvm] Use i64*/i32* as the LLVM type of objrefs instead of i64/i32, the basicaa LLVM pass cannot see through the inttoptr casts we were emitting before loads.
Zoltan Varga [Mon, 11 Nov 2013 04:37:08 +0000 (05:37 +0100)]
[llvm] Update list of optimizations passed to 'opt'.
Zoltan Varga [Mon, 11 Nov 2013 01:36:57 +0000 (02:36 +0100)]
[llvm] Rename the MONO_INST_CONSTANT_LOAD flag to MONO_INST_INVARIANT_LOAD for consistency with LLVM.
Miguel de Icaza [Thu, 3 Oct 2013 03:46:29 +0000 (23:46 -0400)]
Do not justify the text
Zoltan Varga [Mon, 11 Nov 2013 01:01:18 +0000 (02:01 +0100)]
[llvm] Mark the load generated by OP_AOTCONST as invariant.
Zoltan Varga [Sun, 10 Nov 2013 20:10:55 +0000 (21:10 +0100)]
[jit] Add a simple loop invariant loop motion pass for use with LLVM, which moves loop invariant instructions out of loop headers into the preceeding bblock.
Marek Safar [Sun, 10 Nov 2013 08:10:43 +0000 (00:10 -0800)]
Merge pull request #803 from Wolpertinger/patch-1
System.CompomentModel.Component.cs: Make disposedEvent key static
Alex Willmy [Sat, 9 Nov 2013 16:49:12 +0000 (17:49 +0100)]
System.CompomentModel.Component.cs: Make disposedEvent key static
There is no need for an instance of Component to create its own lookup key for the Disposed event. Use a shared static key instead.
Alex Rønne Petersen [Sat, 9 Nov 2013 01:52:20 +0000 (02:52 +0100)]
Improve my previous change a bit.
Checking the `disposing` argument is cleaner.
Alex Rønne Petersen [Fri, 8 Nov 2013 06:12:36 +0000 (07:12 +0100)]
Fix an NRE in System.Timers.Timer.Dispose ().
This would happen because _lock is nullified by the GC during
finalization. Dispose () calls Close () which sets the Enabled
property to false, which then attempts to lock on _lock.
Zoltan Varga [Fri, 8 Nov 2013 22:52:29 +0000 (23:52 +0100)]
[jit] Remove references to unused llvm.invariant.start/end intrinsics.
Zoltan Varga [Fri, 8 Nov 2013 17:27:01 +0000 (18:27 +0100)]
[jit] Make ABCREM really remove bounds checks, not just when running with -v -v -v -v.
Rolf Bjarne Kvinge [Fri, 8 Nov 2013 13:49:31 +0000 (14:49 +0100)]
[Mono.Tuner] Make ISubStep.Initialize public virtual instead of private, so that consumers can override.
Previously derived classes could implement ISubStep.Initialize, but after
da82237da061cf this (correctly) not allowed anymore.
Atsushi Eno [Fri, 8 Nov 2013 08:09:53 +0000 (17:09 +0900)]
fix package build.
Atsushi Eno [Fri, 8 Nov 2013 05:02:24 +0000 (21:02 -0800)]
Merge pull request #800 from alistair/south_timezone_fix
Southern Hemisphere timezone fix
Zoltan Varga [Fri, 8 Nov 2013 04:22:46 +0000 (05:22 +0100)]
[jit] Remove a few LLVM_MONO_BRANCH defines, we don't support non-mono versions of LLVM any more.
Zoltan Varga [Fri, 8 Nov 2013 04:12:41 +0000 (05:12 +0100)]
[jit] Fix sgen support in LLVM. Use the new LLVM 'invariant.load' metadata instead of our 'mono.noalias' metadata.
Zoltan Varga [Fri, 8 Nov 2013 03:40:25 +0000 (04:40 +0100)]
[jit] Implement support for OP_TLS_GET on amd64+llvm.
Zoltan Varga [Fri, 8 Nov 2013 01:44:19 +0000 (02:44 +0100)]
[runtime] Remove some debug spew.
Zoltan Varga [Fri, 8 Nov 2013 01:39:53 +0000 (02:39 +0100)]
[runtime] Only do the stack manipulation added by
79e0856ffda4c2566314ba31677fe55f2d7f53f2 on linux, since it seems to crash on osx.
Sebastien Pouliot [Thu, 7 Nov 2013 19:42:46 +0000 (14:42 -0500)]
[monolinker] Add additional preserve instruction for IReadOnlyCollection on System.Array
Zoltan Varga [Thu, 7 Nov 2013 03:56:42 +0000 (04:56 +0100)]
[runtime] Preserve the call chain in mono_arch_setup_async_callback () on amd64 to prevent crashes in the libgcc unwinder (#15969).