Zoltan Varga [Tue, 29 May 2012 11:27:13 +0000 (13:27 +0200)]
Add fields in generic instances too when AOTing. Fixes #5316.
Rodrigo Kumpera [Mon, 28 May 2012 20:13:49 +0000 (17:13 -0300)]
Add new whole heap verifier that can catch a whole lot more problems than previous tools did.
* sgen-gc.c Add verify-before-allocs and verify-before-collections experimental
options to perform heap verification at the many different points in the app.
This does check all pointers in the heap, so it's much much slower than
the previous option.
Marek Safar [Mon, 28 May 2012 14:00:29 +0000 (15:00 +0100)]
Add some compiler documentation
Jeremie Laval [Mon, 28 May 2012 10:04:02 +0000 (11:04 +0100)]
[corlib] A CancellationTokenRegistration instance should always have a working GetHashCode method
Reported by knittl
Marek Safar [Fri, 25 May 2012 07:30:33 +0000 (08:30 +0100)]
Exclude more console code from NET_2_1
Marek Safar [Thu, 24 May 2012 18:48:55 +0000 (19:48 +0100)]
Don't report obsole warnings on compiler generated attributes
Zoltan Varga [Mon, 28 May 2012 10:47:32 +0000 (12:47 +0200)]
Cache regex results when comparing mdoc Nodes during sorting. This avoids the creation of about 300k objects and decreases GC time by 100ms during md startup.
Zoltan Varga [Sat, 26 May 2012 10:30:25 +0000 (12:30 +0200)]
Add more caching to the pinvoke loading code, tidy up the logging a bit.
Miguel de Icaza [Sat, 26 May 2012 01:26:47 +0000 (18:26 -0700)]
Merge pull request #304 from crazyjncsu/master
Disabling WCF log activity when logging is disabled by configuration
Miguel de Icaza [Sat, 26 May 2012 01:21:41 +0000 (18:21 -0700)]
Merge pull request #305 from robwilkens/master
This fixes bug # 853 in ximarin bugzilla.
Sebastien Pouliot [Fri, 25 May 2012 23:55:17 +0000 (19:55 -0400)]
Add newer (SL5) types to mobile profile. Fix bug #5337
Robert Wilkens [Fri, 25 May 2012 23:27:46 +0000 (19:27 -0400)]
This is the associated unit test for the Ximarin Bugzilla #853 bug...
Confirmed it fails without the bug fix, and passes with it.
Also confirmed again that no other System.Data tests failed that weren't
previously failing. With this test, there were 9 failures before the patch
is applied, and 8 failures after the patch is applied. Also tested before
I changed anything and previous to my changes 8 tests in System.Data were
already failing. This patch previosuly committed in other words does not
introduce any new bugs to the system.data tests.
Robert Wilkens [Fri, 25 May 2012 20:33:50 +0000 (16:33 -0400)]
This is a fix for bug # 853 --
see: https://bugzilla.xamarin.com/show_bug.cgi?id=853
What was happening was ColumnMappings were never being set, so when another
Update function (which this eventually called) went to map the parameters,
it couldn't find any matching column names, so it set all the parameter values
to null.
This code, or very similar code, appeared in:
public int Update (DataRow [] dataRows)
public int Update (DataTable dataTable)
But was left out of:
public int Update (DataSet dataSet, string srcTable)
This code adds the relevant code into the function it was left out of.
Ideally, longer term, this code would be consolidated into a function which
was commonly called by all 3 update functions, but i didn't want to risk
breaking the other two functions which probably already work fine.
crazyjncsu [Fri, 25 May 2012 15:21:05 +0000 (11:21 -0400)]
Fixed syntax error in not comparing log_writer with null
crazyjncsu [Fri, 25 May 2012 15:15:26 +0000 (11:15 -0400)]
Prevented any logging activity when no logging target is specified rather than synchronizing the entire AppDomain just to write to TextWriter.Null
Rodrigo Kumpera [Fri, 25 May 2012 13:50:20 +0000 (10:50 -0300)]
Small improvements to the concurrent queue.
* mono-cq.c (mono_cq_add_node): Add a store store fence
between the two stores as they can be observed OOO.
* mono-cq.c (mono_cq_create): Use precise roots for head
and tail.
Sebastien Pouliot [Fri, 25 May 2012 02:12:28 +0000 (22:12 -0400)]
Avoid having LockRecursionException in both mscorlib and System.Core for the MOBILE profile. Fix bug #5311
Miguel de Icaza [Fri, 25 May 2012 01:56:45 +0000 (18:56 -0700)]
Merge pull request #302 from konrad-kruczynski/fast_double_to_from_int64
Double <-> Int64 conversion is much faster now.
Instead of using GetBytes and converting bytes to long, which involves allocation and deallocation of small temporary array, the simple cpu register load is in fact done now. This results in a much faster operation.
With this sample program:
var stopwatch = Stopwatch.StartNew();
var sum = 0L;
for(var i = 0; i <
100000000; i++)
{
sum += BitConverter.DoubleToInt64Bits(99.9);
}
stopwatch.Stop();
Console.WriteLine(stopwatch.Elapsed);
my results are:
00:00:00.
6614282 with my patch;
00:00:19.
8135516 without my patch and Boehm GC;
00:00:10.
2296766 without my patch and SGEN GC.
I'm doing a lot of this operations in my serialization framework, so it is quite essential to be fast ;) The performance improvement is due to no-allocation nature of the patch vs the old code, which allocated a temporary array (difference between Boehm and SGEN is explained the same way).
Miguel de Icaza [Fri, 25 May 2012 00:11:23 +0000 (17:11 -0700)]
Merge pull request #271 from pruiz/xamarin-bug-4108
Fix for Xamarin's bug #4108 (BrowserCaps compatibility problem with MS.NET)
Konrad M. Kruczynski [Thu, 24 May 2012 21:45:28 +0000 (23:45 +0200)]
Double <-> Int64 conversion is much faster now.
Instead of using GetBytes and converting bytes to long, which
involves allocation and deallocation of small temporary array, the
simple cpu register load is in fact done now. This results in
a much faster operation.
Miguel de Icaza [Thu, 24 May 2012 20:50:28 +0000 (13:50 -0700)]
Merge pull request #283 from robwilkens/master
Bug #4786- fix: Mono.Data.Tds.Protocol.TdsConnectionPool.GetConnection() needs to have result set to null before looping back with goto
Miguel de Icaza [Thu, 24 May 2012 20:35:07 +0000 (13:35 -0700)]
Merge pull request #289 from alaendle/master
Force disposal of Sqlite commands with using-statements in order to better isolate the unit tests.
Miguel de Icaza [Thu, 24 May 2012 20:30:46 +0000 (13:30 -0700)]
Merge pull request #298 from ermshiperete/4921
Xamarin-4921: Fix Listbox.SelectedItem after adding sorted item
Miguel de Icaza [Thu, 24 May 2012 20:29:39 +0000 (13:29 -0700)]
Merge pull request #297 from ermshiperete/4959
Xamarin-4959: Fix copy of clipboard data after app exits
Miguel de Icaza [Thu, 24 May 2012 20:17:52 +0000 (13:17 -0700)]
Merge pull request #296 from ermshiperete/5116
Xamarin-5116: Fix pasting of text with upper-ASCII chars
Jeremie Laval [Thu, 24 May 2012 18:04:00 +0000 (19:04 +0100)]
[corlib] Fix ConcurrentStack.TryPopRange and add tests. Fix #5304
Alex Rønne Petersen [Thu, 24 May 2012 00:30:22 +0000 (17:30 -0700)]
Merge pull request #301 from directhex/master
If Mono's configure script cannot determine the soname of libX11, assume libX11.so.6
Zoltan Varga [Wed, 23 May 2012 19:43:45 +0000 (21:43 +0200)]
Improve type load errors thrown by the JIT a bit.
Jo Shields [Wed, 23 May 2012 17:12:47 +0000 (18:12 +0100)]
If Mono's configure script cannot determine the soname of libX11,
assume libX11.so.6
The old behaviour is to try a couple of folders to find libX11.so.4,
5, and 6, and if it can't find any of those, assume no soname at all
(i.e. libX11.so). It is reasonable to assume that users will be
running at least XFree86 3.0, so reasomable to assume libX11.so.6 will
be the soname in use.
The edge case "user compiles Mono without X.org installed" is much
more common than "user has X386 1.0 -> XFree86 2.1.1 installed in
a non-standard library folder, and expects a valid dllmap in
/etc/mono/config"
alexrp [Wed, 23 May 2012 13:27:35 +0000 (15:27 +0200)]
mono/metadata/gc.c: Fix warning due to declaration after statement.
Marek Safar [Wed, 23 May 2012 08:30:57 +0000 (09:30 +0100)]
Remove System.Threading.LockRecursionException from mobile System.Core. Fixes #5192
Rodrigo Kumpera [Tue, 22 May 2012 21:43:34 +0000 (18:43 -0300)]
Fix altstack check to work again on OSX with -O2.
* configure.in: The altstack check depends on raising
a sigsegv to verify if it works or not. A sigsegv, by its
own nature is born out of undefined behavior. Such a thing
the almighty C compilers are free to optimize in whatever
pleases them the most.
GCC, under -O2, when it can prove a given memory store will
lead to undefined behavior will simply remove it leaving no
trace back. The solution was to use a variable gcc can't get
frisky with.
This raises altstack on OSX back from the dead.
Zoltan Varga [Tue, 22 May 2012 20:03:10 +0000 (22:03 +0200)]
Add an unhandled exceptions test to sdb.
Sebastien Pouliot [Tue, 22 May 2012 18:37:04 +0000 (14:37 -0400)]
Fix IsolatedStorageFile directory creation/deletion with rooted paths. Fix bug #5011
Rodrigo Kumpera [Tue, 22 May 2012 15:57:47 +0000 (12:57 -0300)]
Replace some g_assert with g_error.
Rodrigo Kumpera [Mon, 21 May 2012 21:26:27 +0000 (18:26 -0300)]
sgen_hash_table_replace can now return the old value.
Rodrigo Kumpera [Mon, 21 May 2012 21:19:12 +0000 (18:19 -0300)]
sgen_hash_table_set_value can now return the old value.
Marek Safar [Tue, 22 May 2012 07:14:40 +0000 (08:14 +0100)]
Fix test target for mono-shlib-cop
Zoltan Varga [Mon, 21 May 2012 23:07:29 +0000 (01:07 +0200)]
Remove a debug printf.
Zoltan Varga [Mon, 21 May 2012 23:02:05 +0000 (01:02 +0200)]
Fix altstack support in libgc by registering the bounds of the normal stack and the altstack with it.
Zoltan Varga [Sun, 20 May 2012 13:45:48 +0000 (15:45 +0200)]
Return the proxied type instead of TransparentProxy for object types in sdb.
Marek Safar [Mon, 21 May 2012 20:15:02 +0000 (13:15 -0700)]
Merge pull request #299 from ermshiperete/710512
Fix for Novell-710512 (TimeZone.GetUtcOffset) and failing tests
Eberhard Beilharz [Mon, 21 May 2012 16:01:01 +0000 (18:01 +0200)]
Novell-710512: Fix GetUtcOffset when called with UTC time
Adjust the behavior of the TimeZone.GetUtcOffset() method to
match the documentation. MSDN says: "If the value of the Kind
property is DateTimeKind.Utc, the method returns an offset equal
to TimeSpan.Zero". Previously we returned the difference between
the current time zone and UTC even when the passed in time was
in UTC.
Change-Id: Icaa233f079a74315ccf1ce95787629c37317b412
Rodrigo Kumpera [Mon, 21 May 2012 15:29:53 +0000 (12:29 -0300)]
Fix a very rare hang on sgen.
* sgen-gc.c (restart_threads_until_none_in_managed_allocator):
When suspending threads, if a given thread was suspended on
a gc unsafe point we restart it until it land on a safe zone.
Since we restart the thread, it might die before we get the chance
to suspend it again, we take this into account except when waiting
for acks. We mistakenly waited for the same number of acks of the
restart step. It could have been reduced if a thread died.
This bug is very very hard to hit as it only happens on linux,
requires that a thread on an unsafe point dies right after been
restarted and it must not be a managed thread as those must take
the GC lock while cleaning up.
This sums up to a mostly theoretical bug that someone might
have observed once in the wild. We're better fixing it now
since further optimization work might make it easier to hit.
Eberhard Beilharz [Mon, 21 May 2012 14:29:29 +0000 (16:29 +0200)]
Add unit test for Novell-710512
Change-Id: Id541a554eb07205da45c4b7fdbfba2da1feda362
Eberhard Beilharz [Mon, 21 May 2012 14:18:59 +0000 (15:18 +0100)]
Fix failing test Parse_InvalidShortDate()
Parsing a date/time depends on the local timezone.
This patch also fixes the assertions where expected and actual
value were backwards.
Change-Id: I6a024e97050470fb043bc0d4a97aa39624271fcc
Eberhard Beilharz [Mon, 21 May 2012 14:16:27 +0000 (15:16 +0100)]
Fix failing tests
Change-Id: Ia0969271d3bf7bdfd78fe17160e09dcb1c278eda
Marek Safar [Mon, 21 May 2012 12:09:10 +0000 (13:09 +0100)]
Emit warning for uninitialized structs. Fixes #4852
Rolf Bjarne Kvinge [Mon, 21 May 2012 11:23:48 +0000 (13:23 +0200)]
Fix typo
Eberhard Beilharz [Mon, 7 May 2012 15:53:22 +0000 (17:53 +0200)]
Xamarin-4921: Fix Listbox.SelectedItem after adding sorted item
When we add an item to a sorted listbox the indices of the selected
items change and need to be updated.
Change-Id: Ia32849fe10480354835dcd48b37d326d612af04f
Eberhard Beilharz [Wed, 9 May 2012 08:52:55 +0000 (10:52 +0200)]
Xamarin-4959: Fix copy of clipboard data after app exits
Clipboard.SetDataObject allows to pass a copy parameter that
determines whether the data will be kept on the clipboard after
the app exits or not.
This patch implements this for X11 (or rather GTK).
Change-Id: If69e75239ea35432e44f32a8a5ba54f3fe1fb60a
Eberhard Beilharz [Wed, 9 May 2012 08:49:42 +0000 (10:49 +0200)]
Unit test for bug Xamarin-4959
Because the clipboard is a shared resource between applications
it is possible that the test sometimes fails for wrong reasons
if another app manipulates the clipboard just at the right time.
Change-Id: I1a52b62d2958ece35c8927172d94ab6ccb3183b0
Eberhard Beilharz [Wed, 16 May 2012 10:49:16 +0000 (12:49 +0200)]
Xamarin-5116: Fix pasting of text with upper-ASCII chars
Text copied to the clipboard by another app may contain
text in Latin-1 with upper-ASCII characters instead of
the UTF-8 encoding we expect.
Also fixed problem unescaping characters when they are
followed by more text.
Change-Id: Ib8d746d42c1d34dccf8ddbf8db28e1515952fe05
Zoltan Varga [Sun, 20 May 2012 13:30:23 +0000 (15:30 +0200)]
Add support for remoting invokes to sdb. Fixes the runtime part of #4962.
Miguel de Icaza [Sat, 19 May 2012 04:51:05 +0000 (00:51 -0400)]
Fix from Stephen McConnel for bug 5010
Rodrigo Kumpera [Fri, 18 May 2012 20:06:32 +0000 (17:06 -0300)]
Avoid a deadlock when waiting for pending finalizers.
* gc.c: If the finalizer thread is delay started
we must ensure that we don't block waiting for finalizers
until it is live.
This is required as the delayed start could happen in
the blocked thread - and deadlock us.
Rodrigo Kumpera [Sat, 12 May 2012 12:58:13 +0000 (09:58 -0300)]
Handle a race condition between thread registration and sgen's stop the world. Fixes bxc #1917.
Since new threads can come and go while we're stopping the world, we must
ignore the new ones as they are not supposed to be usable before this STW
cycle.
Since thread registration takes the GC lock, once STW starts all new threads
can't register and thus touch managed memory. This means we can ignore all
of those not seen in the first suspend pass.
This bug and the patch was a contribution by Sam Lang.
Fixes #1917.
Rodrigo Kumpera [Sat, 12 May 2012 12:34:53 +0000 (09:34 -0300)]
Using libc's free as a constant to mean true is cute, but nothing say it better than TRUE.
Rodrigo Kumpera [Sat, 12 May 2012 12:29:06 +0000 (09:29 -0300)]
Parallel gotta be parallel. Parallel nursery should use parallel major allocator.
Rodrigo Kumpera [Sat, 12 May 2012 12:20:16 +0000 (09:20 -0300)]
Make asserts more usefull.
Marek Safar [Fri, 18 May 2012 16:05:27 +0000 (17:05 +0100)]
Insert unattached attributes to AST also for enum members. Fixes #4666
Marek Safar [Fri, 18 May 2012 15:51:30 +0000 (16:51 +0100)]
Better error recovery from incomplete invocation expression. Fixes #4679
Rolf Bjarne Kvinge [Fri, 18 May 2012 12:30:30 +0000 (14:30 +0200)]
Sqlite: Map DATETIME to System.DateTime. Fixes #5078.
Zoltan Varga [Fri, 18 May 2012 11:56:43 +0000 (13:56 +0200)]
Implement full-aot support for ftnptr->delegate conversion using a new MonoNativeFunctionWrapper attribute, which should be attached to the delegate which will be used to wrap the native function. Fixes #4718.
Zoltan Varga [Thu, 17 May 2012 22:49:42 +0000 (00:49 +0200)]
Implement support for OP_LOADR4_MEMBASE/STORER4_MEMBASE with big offsets on ARM. Fixes #5093.
Marek Safar [Thu, 17 May 2012 20:40:15 +0000 (21:40 +0100)]
Resolve lock temporary variables before any embedded statement. Fixes #4994
Marek Safar [Thu, 17 May 2012 12:58:09 +0000 (13:58 +0100)]
Merge branch 'master' of github.com:mono/mono
Marek Safar [Thu, 17 May 2012 12:56:41 +0000 (13:56 +0100)]
Get full expanded interface list when checking for new slot interface implementation. Fixed #5110
Sebastien Pouliot [Wed, 16 May 2012 20:52:17 +0000 (16:52 -0400)]
Add fix and test case from bnc #650402
Rolf Bjarne Kvinge [Wed, 16 May 2012 20:18:37 +0000 (22:18 +0200)]
Add gitignore for Mono.Data.Sqlite
Rolf Bjarne Kvinge [Wed, 16 May 2012 20:18:03 +0000 (22:18 +0200)]
Sqlite: Close the command before the connection when CommandBehavior.CloseConnection is specified. Fixes #5058.
Marek Safar [Wed, 16 May 2012 18:36:46 +0000 (19:36 +0100)]
Add missing dist files
Marek Safar [Wed, 16 May 2012 17:23:24 +0000 (18:23 +0100)]
This instance is not available in base context for anynymous method
Marek Safar [Wed, 16 May 2012 16:01:28 +0000 (17:01 +0100)]
Don't report unresolved using clause error in eval mode multiple times
Jeremie Laval [Wed, 16 May 2012 10:50:17 +0000 (11:50 +0100)]
[corlib] Fix NullRef when using dispose a CancellationTokenRegistration when the initial source has been disposed
Marek Safar [Tue, 15 May 2012 17:34:21 +0000 (18:34 +0100)]
Implement DateTime::ToString format specifier for genitive month names. Fixes #4708
Marek Safar [Tue, 15 May 2012 15:56:36 +0000 (16:56 +0100)]
Fix some existing datetime tests
Marek Safar [Tue, 15 May 2012 12:44:41 +0000 (13:44 +0100)]
Add gitignore
Marek Safar [Tue, 15 May 2012 12:35:39 +0000 (13:35 +0100)]
Update locale builder tool
Marek Safar [Tue, 15 May 2012 12:27:52 +0000 (13:27 +0100)]
Update locale builder tool
Marek Safar [Tue, 15 May 2012 08:42:27 +0000 (09:42 +0100)]
Update culture infos and implement missing or not implemented members
Sebastien Pouliot [Mon, 14 May 2012 13:16:28 +0000 (09:16 -0400)]
newer nunit does not require a [TestFixture] attribute and made those fixture fail. Making them abstract fix this
Zoltan Varga [Mon, 14 May 2012 10:15:07 +0000 (12:15 +0200)]
Check return type compatibility for inlined methods as well. Fixes #5056.
Atsushi Eno [Mon, 14 May 2012 09:25:56 +0000 (18:25 +0900)]
Make use of GetPrefixOfNamespace() in XElement.ToString(). Fixed bug #3972.
Atsushi Eno [Mon, 14 May 2012 08:24:32 +0000 (17:24 +0900)]
Add Xml declaration even for such document that lacks XDeclaration.
Fixed bug #4850.
Atsushi Eno [Mon, 14 May 2012 07:31:54 +0000 (16:31 +0900)]
XNodeNavigator could be used for a node tree without XDocument, so make it work for such case.
Fixed bug #4690, patch by eb1 sil.org.
Atsushi Eno [Mon, 14 May 2012 07:23:06 +0000 (16:23 +0900)]
In XNodeNavigator, do not start text node skip from current node.
Fixed bug #4739, patch by eb1 sil.org.
Zoltan Varga [Mon, 14 May 2012 01:13:16 +0000 (03:13 +0200)]
Fix mono_nullable_box () in full-aot mode. Fixes #5045.
Zoltan Varga [Mon, 14 May 2012 00:40:44 +0000 (02:40 +0200)]
Fix byref stringbuilder marshalling. Fixes #5007.
Zoltan Varga [Sun, 13 May 2012 13:59:53 +0000 (15:59 +0200)]
Implement out support in byref string marshalling. Fixes part of #5007.
Marek Safar [Sun, 13 May 2012 08:33:25 +0000 (01:33 -0700)]
Merge pull request #295 from i59/patch-1
CSharpCodeCompiler ctor: Corrected Windows mcs path, now resides in 4.5 ...
Filip Lundgren [Sat, 12 May 2012 23:42:48 +0000 (02:42 +0300)]
CSharpCodeCompiler ctor: Corrected Windows mcs path, now resides in 4.5 directory.
Miguel de Icaza [Fri, 11 May 2012 14:44:12 +0000 (07:44 -0700)]
Merge pull request #293 from viniciusjarina/fix3258
Fix3258
Rolf Bjarne Kvinge [Thu, 10 May 2012 14:37:54 +0000 (16:37 +0200)]
If the dllname for a dllimport is a full path, try that exact path before anything else. Fixes #4678.
Neale Ferguson [Thu, 10 May 2012 17:45:36 +0000 (13:45 -0400)]
Add seq_point instruction to s390x
Sebastien Pouliot [Thu, 10 May 2012 12:45:01 +0000 (08:45 -0400)]
Add some stubs for methods required by the portable class library profiles
Sebastien Pouliot [Thu, 10 May 2012 00:18:47 +0000 (20:18 -0400)]
Add System.Windows.Input.ICommand which is part of 4.5 and the portable class libraries
Zoltan Varga [Wed, 9 May 2012 23:27:17 +0000 (01:27 +0200)]
Stop at catch clauses when doing a step over in sdb. Fixes #4851.
Rodrigo Kumpera [Wed, 9 May 2012 21:02:16 +0000 (14:02 -0700)]
Merge pull request #294 from madewokherd/createsuspended
Fix race condition in mono_threads_CreateThread.
Vincent Povirk [Wed, 9 May 2012 16:10:15 +0000 (11:10 -0500)]
Fix race condition in mono_threads_CreateThread.