João Matos [Sun, 13 Sep 2015 22:58:39 +0000 (23:58 +0100)]
[genproj] Do not define DEBUG in debug mode since it breaks reference sources.
João Matos [Sun, 13 Sep 2015 22:57:24 +0000 (23:57 +0100)]
[mcs] Reference System, System.Core and System.Xml when building.
This fixes compile errors in the generated csproj for mcs.
João Matos [Sun, 13 Sep 2015 22:56:34 +0000 (23:56 +0100)]
[mcs] Write mcs library references when generating csproj order data.
Zoltan Varga [Sat, 12 Sep 2015 00:38:53 +0000 (20:38 -0400)]
Merge pull request #2014 from BillSeurer/master
[ppc] Changes for power for ELF ABI v2 structure parameters
Alexander Köplinger [Fri, 11 Sep 2015 20:48:13 +0000 (22:48 +0200)]
[System] Bump timeout in ServicePointTest.DnsRefreshTimeout test again
The refresh timeout starts running before the actual DNS request is sent, which means on systems with a
slow DNS server the cached value has already timed out when the response is received, making the test fail.
Bumping the timeout to 2s should fix the test on Jenkins.
Zoltan Varga [Fri, 11 Sep 2015 20:06:46 +0000 (16:06 -0400)]
Revert "[aot] Update the llvm frame decoding code for llvm
b757db3a001fcdcab038411708c0f77c6211cba6."
This reverts commit
c5e03971aeb5179f4b1e9ccefcde98d5bff79902.
Revert this as the corresponding llvm commit was reverted.
Zoltan Varga [Fri, 11 Sep 2015 19:46:00 +0000 (15:46 -0400)]
[aot] Update the llvm frame decoding code for llvm
b757db3a001fcdcab038411708c0f77c6211cba6.
Rolf Bjarne Kvinge [Fri, 11 Sep 2015 15:06:57 +0000 (17:06 +0200)]
Add a dummy implementation for MONO_CONTEXT_GET_CURRENT for the Apple TV.
Alex Rønne Petersen [Fri, 11 Sep 2015 14:49:24 +0000 (16:49 +0200)]
Merge pull request #2040 from esdrubal/monoman
Added missing MONO_DEBUG options.
Alex Rønne Petersen [Fri, 11 Sep 2015 14:48:51 +0000 (16:48 +0200)]
Merge pull request #2042 from evincarofautumn/remove-dead-code
Remove dead weak link API.
Rolf Bjarne Kvinge [Fri, 11 Sep 2015 13:12:16 +0000 (15:12 +0200)]
There's no IOKit on the Apple TV.
Rodrigo Kumpera [Thu, 10 Sep 2015 21:36:50 +0000 (17:36 -0400)]
[threading] Allow mono_thread_info_current_unchecked to be called before the tls key it uses is initialized.
Rodrigo Kumpera [Thu, 10 Sep 2015 19:08:09 +0000 (15:08 -0400)]
Fix the build.
Rodrigo Kumpera [Thu, 10 Sep 2015 18:48:14 +0000 (14:48 -0400)]
[suspend] Wrap mmap and unmmap around critical sections to better handle library interposing. Fixes #19379
Instruments uses library interposing to record calls to mmap and munmap. It does take lock within the interposers
which means the async suspend could suspend a thread holding such lock while sgen tries to mmap more memory in,
causing a deadlock.
The workaround is to protect our uses of mmap and munmap in the hopes that they are enough to reduce the likelihood
of those hangs happening.
Zoltan Varga [Thu, 10 Sep 2015 17:51:57 +0000 (13:51 -0400)]
[aot] Remove some arm special cases which are no longer needed.
Bill Seurer [Mon, 31 Aug 2015 21:07:02 +0000 (16:07 -0500)]
[ppc] Fix passing of structure parameters as per the ELF ABI v2. Add 5 new test cases to test the new ABI changes.
Ludovic Henry [Thu, 10 Sep 2015 16:44:20 +0000 (17:44 +0100)]
[threadpool-io-poll] Assert we have sockets to callback on
Ludovic Henry [Thu, 10 Sep 2015 16:43:23 +0000 (17:43 +0100)]
[threadpool-io] Log if an error occured on a socket
Ludovic Henry [Thu, 10 Sep 2015 10:32:01 +0000 (11:32 +0100)]
[Socket] Duplicate logic of AsyncResult.ExecuteWorkItem to SocketAsyncResult
This consists in executing the callback synchronously and swallowing any exception in this callback.
triton [Wed, 9 Sep 2015 21:30:38 +0000 (22:30 +0100)]
[eglib] Fixed vasprintf function detection.
Fixes the Cygwin build, see https://github.com/mono/mono/pull/1966.
Ludovic Henry [Wed, 9 Sep 2015 17:00:05 +0000 (18:00 +0100)]
[delegate] Bump BCL version for field added on Delegate
Ludovic Henry [Wed, 9 Sep 2015 15:10:19 +0000 (16:10 +0100)]
[delegate] Fix bug #33218 "Action ReflectedType differs from Delegate ReflectedType"
Ludovic Henry [Tue, 8 Sep 2015 08:59:39 +0000 (09:59 +0100)]
[io-layer] Fix segfault on handle dump
Marcos Henrich [Wed, 9 Sep 2015 12:50:07 +0000 (13:50 +0100)]
Merge pull request #2041 from esdrubal/uritestfix
Fixes DotNetRelativeOrAbsoluteTest.
Rolf Bjarne Kvinge [Wed, 9 Sep 2015 09:41:50 +0000 (11:41 +0200)]
[mono-api-html] Adding members to an interface is a breaking change, so show it in red.
Rolf Bjarne Kvinge [Wed, 9 Sep 2015 08:32:43 +0000 (10:32 +0200)]
[mono-api-info] Sort constructors using full signature.
So that info files can be compared textually to test for api equality.
Alexander Köplinger [Wed, 9 Sep 2015 01:30:11 +0000 (03:30 +0200)]
[System] Make ServicePointTest.DnsRefreshTimeout test more reliable
The previous 2ms timeout was way too short and the test failed frequently.
Also switch to Assert.AreSame/AreNotSame instead of AreEqual/AreNotEqual since
we want to ensure the same object is returned and not just an equal one.
Jon Purdy [Tue, 8 Sep 2015 22:51:27 +0000 (15:51 -0700)]
Remove dead weak link API.
Alex Rønne Petersen [Tue, 8 Sep 2015 21:26:43 +0000 (23:26 +0200)]
Merge pull request #2028 from alexrp/master
[runtime] Don't allocate domain-level static slots for special static fields.
Mark Probst [Tue, 8 Sep 2015 20:24:14 +0000 (13:24 -0700)]
Merge pull request #1457 from evincarofautumn/weak-refs
Refactor weak-reference handling code in SGen
Mark Probst [Tue, 8 Sep 2015 20:03:01 +0000 (13:03 -0700)]
Merge pull request #2013 from BrzVlad/feature-concurrent-work
[sgen] Run the concurrent mark concurrent with nursery collections
Marcos Henrich [Tue, 8 Sep 2015 15:56:45 +0000 (16:56 +0100)]
Fixes DotNetRelativeOrAbsoluteTest.
Test was not changing Uri.useDotNetRelativeOrAbsolute back to its
previous value.
Miguel de Icaza [Tue, 8 Sep 2015 14:34:39 +0000 (10:34 -0400)]
[corlib] MulticastDelegate, bring back the HasSingleTarget internal method for public use
Miguel de Icaza [Tue, 8 Sep 2015 14:34:18 +0000 (10:34 -0400)]
Disable warnings about globally disabled warnings, show by ReferenceSource code
Rolf Bjarne Kvinge [Tue, 8 Sep 2015 11:12:38 +0000 (13:12 +0200)]
[mono-api-html] Fix printing of Obsolete attributes.
Rolf Bjarne Kvinge [Tue, 8 Sep 2015 11:53:47 +0000 (13:53 +0200)]
[mono-api-info] Sort nested types.
So that info files can be compared textually to test for api equality.
Rolf Bjarne Kvinge [Tue, 8 Sep 2015 09:58:40 +0000 (11:58 +0200)]
[mono-api-info] Minor perf improvements.
Rolf Bjarne Kvinge [Tue, 8 Sep 2015 09:51:59 +0000 (11:51 +0200)]
[mono-api-info] Sort methods using full signature.
So that info files can be compared textually to test for api equality.
Marcos Henrich [Tue, 8 Sep 2015 10:00:44 +0000 (11:00 +0100)]
Marcos Henrich [Mon, 7 Sep 2015 13:59:23 +0000 (14:59 +0100)]
Sorted MONO_DEBUG options alphabetically.
Marek Safar [Tue, 8 Sep 2015 09:48:01 +0000 (11:48 +0200)]
Merge pull request #2039 from simonhartmann/dns_refresh_timeout
[class libs] Implemented DnsRefreshTimeout for ServicePointManager
Simon Hartmann [Mon, 7 Sep 2015 14:54:20 +0000 (16:54 +0200)]
implemented DnsRefreshTimeout to ServicePointManager and adjusted behavior of ServicePoint.HostEntry property.
simplified some calls as requested
Marek Safar [Tue, 8 Sep 2015 08:54:29 +0000 (10:54 +0200)]
[mcs] Null operator on value type extension argument. Fixes #33754
Marek Safar [Tue, 8 Sep 2015 08:36:58 +0000 (10:36 +0200)]
Merge pull request #2032 from directhex/parallel_automake_is_hard
Parallel automake is hard
Marek Safar [Tue, 8 Sep 2015 06:07:46 +0000 (08:07 +0200)]
Marek Safar [Mon, 7 Sep 2015 18:28:32 +0000 (20:28 +0200)]
[mcs] Lift result of binary operation on enum types in more cases. Fixes #33723
Marek Safar [Mon, 7 Sep 2015 18:28:19 +0000 (20:28 +0200)]
[mcs] Fixes a typo
João Matos [Mon, 7 Sep 2015 15:03:38 +0000 (16:03 +0100)]
[runtime] Another fix for fast TLS target checking to work with cross-compilation.
Marek Safar [Mon, 7 Sep 2015 14:08:58 +0000 (16:08 +0200)]
[mcs] Consider whole hierarchy of inherited type arguments inflated via base type. Fixes #33669
Rolf Bjarne Kvinge [Mon, 7 Sep 2015 10:56:18 +0000 (12:56 +0200)]
[mono-api-info] Order interfaces.
So that info files can be compared textually to test for api equality.
Jo Shields [Fri, 4 Sep 2015 10:57:19 +0000 (11:57 +0100)]
[Facades] Fix default profile parallelization
PROFILE_SUBDIRS is built serially, then PROFILE_PARALLEL_SUBDIRS in parallel. Since we want the latter for everything, only define the latter.
Jo Shields [Fri, 4 Sep 2015 10:55:28 +0000 (11:55 +0100)]
[Facades] Fix profile name error causing non-building
The parallel build infrastructure we're trying to leverage for Facades depends on the profile name when populating the parallel lists - the default profile is now named "net_4_x", so variables with "net_4_5" in them are not considered - causing the whole Facades/ directory to be skipped
Marek Safar [Mon, 7 Sep 2015 07:41:15 +0000 (09:41 +0200)]
[corlib] Make test reproducible
Marcos Henrich [Sat, 5 Sep 2015 10:35:35 +0000 (11:35 +0100)]
Merge pull request #2031 from esdrubal/uriworkaround
[System] UriKind.RelativeOrAbsolute workaround.
Zoltan Varga [Sat, 5 Sep 2015 02:04:32 +0000 (22:04 -0400)]
Fix a warning.
Zoltan Varga [Sat, 5 Sep 2015 01:57:39 +0000 (21:57 -0400)]
Merge pull request #2033 from tritao/zip-empty
[System.IO.Compression] Fixed handling of empty Zip archives in Update mode
Miguel de Icaza [Sat, 5 Sep 2015 01:41:48 +0000 (21:41 -0400)]
Merge pull request #2035 from joelmartinez/mdoc-memberremoval-fix2
[mdoc] Follow up fix for member and type removal.
Joel Martinez [Fri, 4 Sep 2015 21:27:10 +0000 (17:27 -0400)]
[mdoc] Follow up fix for member and type removal.
In supplement of the changes submitted in
09b97cba2e7c2d9c68830d55ff3d99c5f36eb439, there were
some additional edge cases that were not originally considered, and so this patch resolves these
additional issues. In particular, there was a bug in the `RemoveApiStyle` method that wasn't
checking the value of the `apistyle` attribute before removing it. This caused members to be
stripped of apistyle inadvertently.
There was an issue in the type removal code that caused
too many files to be removed. This patch adds additional checks to make sure that a file isn't
going to be removed if it contains members in the other style that shoulnd't be removed
Finally, there was an issue that arose after the aforementioned changes in the `OrderTypeAttributes`
method. It was somewhat counterintuitive, but it wasn't allowing the reordering of attributes
with the `.Remove` method (throwing an exception). Not entirely sure why this was happening,
but using the `.RemoveNamedItem` method worked around the issue.
Zoltan Varga [Fri, 4 Sep 2015 23:22:07 +0000 (19:22 -0400)]
[aot] Avoid an assert in mono_aot_jit_info_table_find () when the address is right after the end of the method. Fixes #32955.
Zoltan Varga [Fri, 4 Sep 2015 21:46:19 +0000 (17:46 -0400)]
[jit] Fix crashes in the dwarf writer if the backing field of an enum is not named 'value__'. Fixes #33591.
Rodrigo Kumpera [Fri, 4 Sep 2015 20:39:16 +0000 (16:39 -0400)]
[threading] Fix race condition in the suspend account code.
Rodrigo Kumpera [Fri, 4 Sep 2015 19:35:20 +0000 (15:35 -0400)]
Fix another broken test due to OSX oddities.
triton [Fri, 4 Sep 2015 16:59:53 +0000 (17:59 +0100)]
[runtime] Fixed fast TLS target checking to work with cross-compilation.
Rodrigo Kumpera [Fri, 4 Sep 2015 16:42:22 +0000 (12:42 -0400)]
Fix the DefaultThreadCurrentCulture for real.
This test is very fragile as it depends on appdomain global state.
In this case the current thread culture.
The problem with CurrentCulture is it's behavior that once set, it can't
be unset, IOW, revert to follow DefaultThreadCurrentCulture.
This meant that test ordering played a huge deal here and it took a few
tries to learn what was going on.
The way to fix this is to run the test itself from a thread that we
can ensure that won't have CurrentCulture set. This includes TP threads
or new threads.
I opted to use a TP thread as there probably is one available already
when the test runs.
Rodrigo Kumpera [Fri, 4 Sep 2015 15:37:16 +0000 (11:37 -0400)]
[Mono.Posix] Add ToString to struct Linger to help troubleshoot CI failure.
triton [Fri, 4 Sep 2015 14:17:17 +0000 (15:17 +0100)]
[System.IO.Compression] Fixed handling of empty Zip archives in Update mode. Fixes bug #32725.
https://bugzilla.xamarin.com/show_bug.cgi?id=32725
Marcos Henrich [Fri, 4 Sep 2015 06:02:43 +0000 (07:02 +0100)]
[System] UriKind.RelativeOrAbsolute workaround.
In .NET an URI constructor from "/foo" and UriKind.RelativeOrAbsolute is
relative whereas in mono it is assumed as an absolute file path.
This adds another workaround that changes all Uri constructor calls to
behave like .NET when receiving UriKind.RelativeOrAbsolute.
The environment variable workaround consists in setting
MONO_URI_DOTNETRELATIVEORABSOLUTE=true before starting the application:
Reflection workaround:
```
if (Type.GetType ("Mono.Runtime") != null)
typeof (Uri).GetField ("useDotNetRelativeOrAbsolute",
BindingFlags.Static | BindingFlags.GetField | BindingFlags.NonPublic).
SetValue (null, true);
```
WARNING: The workarounds change the behavior of all Uri constructor calls.
Unexpected problems can occur if an used library relies on
UriKind.RelativeOrAbsolute to parse absolute file paths.
Marek Safar [Fri, 4 Sep 2015 06:11:01 +0000 (08:11 +0200)]
Merge pull request #2030 from esdrubal/urispaces
Fixes Uri.UserInfo with spaces.
Marcos Henrich [Fri, 4 Sep 2015 04:36:27 +0000 (05:36 +0100)]
Fixes Uri.UserInfo with spaces.
Fixes #31172.
Marcos Henrich [Fri, 4 Sep 2015 04:35:12 +0000 (05:35 +0100)]
Tests Uri.UserInfo with spaces.
Covers #31172.
Marcos Henrich [Fri, 4 Sep 2015 03:31:50 +0000 (04:31 +0100)]
Merge pull request #2022 from esdrubal/fixes-GetDaylightChanges
Fixes TimeZoneInfo.GetDaylightChanges #32722.
Zoltan Varga [Fri, 4 Sep 2015 00:41:26 +0000 (20:41 -0400)]
[runtime] Fix the thunks.exe tests when not running with the coop gc.
Jon Purdy [Tue, 12 May 2015 21:06:59 +0000 (14:06 -0700)]
[sgen] Register GC handle counters & avoid 64-bit CAS.
The GC handle counters were not being registered; probably got lost when
rebasing this code atop the independent SGen. This also avoids 64-bit
CAS on these counters, so that platforms without it still have stats.
Jon Purdy [Tue, 12 May 2015 17:55:33 +0000 (10:55 -0700)]
[sgen] Avoid designated initializer.
Designated-initializer expressions are not considered constant
expressions, so they can't be used to initialize static variables.
Jon Purdy [Mon, 11 May 2015 23:52:23 +0000 (16:52 -0700)]
[sgen] Typedef handle iteration callback.
Jon Purdy [Mon, 11 May 2015 23:34:25 +0000 (16:34 -0700)]
[sgen] Remove outdated comment.
Jon Purdy [Mon, 11 May 2015 22:25:34 +0000 (15:25 -0700)]
[sgen] Document assertion.
Jon Purdy [Mon, 11 May 2015 22:25:24 +0000 (15:25 -0700)]
[sgen] Move & document write barrier.
Jon Purdy [Mon, 11 May 2015 22:21:56 +0000 (15:21 -0700)]
[sgen] Fix macro parentheses.
This happened not to cause any problems because:
((1 | 2) & 3) == (1 | (2 & 3))
Jon Purdy [Mon, 11 May 2015 22:16:25 +0000 (15:16 -0700)]
[sgen] Avoid redundant handle iteration.
Mark Probst [Fri, 1 May 2015 20:28:46 +0000 (13:28 -0700)]
[sgen] Fix heavy binary protocol.
Mark Probst [Thu, 30 Apr 2015 22:52:57 +0000 (15:52 -0700)]
[sgen] Fix binary protocol for weak links.
Mark Probst [Thu, 30 Apr 2015 21:38:51 +0000 (14:38 -0700)]
[sgen] Move dummy use function to `sgen-gc.h`.
Mark Probst [Thu, 30 Apr 2015 21:33:44 +0000 (14:33 -0700)]
[sgen] Move GC handles to their own file.
Mark Probst [Thu, 30 Apr 2015 21:27:36 +0000 (14:27 -0700)]
[sgen] Make the client interface work again.
Mark Probst [Thu, 30 Apr 2015 21:11:42 +0000 (14:11 -0700)]
[sgen] Move GC handle domain stuff to client code.
Mark Probst [Thu, 30 Apr 2015 20:37:28 +0000 (13:37 -0700)]
[sgen] Remove superfluous defines.
Mark Probst [Thu, 30 Apr 2015 19:16:38 +0000 (12:16 -0700)]
[sgen] Do GC handle clearing for domain unloading when world is stopped.
Previously we had two places where GC handles were cleared:
`mono_gchandle_free_domain()`, which was called with the world running.
`mono_gc_clear_domain()`, which ran with the world stopped.
The first one doesn't do anything anymore now. The reason the callback is
still there is because that's where Boehm clears the GC handles.
Mark Probst [Thu, 30 Apr 2015 18:52:01 +0000 (11:52 -0700)]
[sgen] Pass hidden entry to GC handle iteration callback.
Jon Purdy [Fri, 20 Feb 2015 22:07:51 +0000 (14:07 -0800)]
[sgen] Add counters for GC handles.
Jon Purdy [Tue, 17 Feb 2015 19:47:02 +0000 (11:47 -0800)]
[sgen] Use old GC handle implementation with Boehm.
Jon Purdy [Wed, 7 Jan 2015 01:44:19 +0000 (17:44 -0800)]
[sgen] Make GC handles table lock-free.
The previous code was hard to make lock-free because it was trying to
coordinate three separate buffers: one of GC handles, one of a
free-bitmap, and one used to get the domain ID for an expired weak
reference. Now all of this information is stored in a single tagged
pointer per entry.
* Make the GC lock non-recursive again.
* Correctly null links for domain unloading.
* Ensure that non-weak handles are registered as roots using the
correct descriptors.
Jon Purdy [Tue, 9 Dec 2014 22:24:13 +0000 (14:24 -0800)]
[sgen] Remove weak ref hashes.
These hashes were inefficiently duplicating the information in the
common GC handle data tables.
* Make GC lock recursive. This must be reverted when the GC handles
table is made lock-free.
* Refactor handle allocation and handle data manipulation to avoid
duplication and magic numbers.
* Use GC handles in refqueue and monitors, because the dislink
machinery no longer exists.
Alex Rønne Petersen [Thu, 3 Sep 2015 22:30:46 +0000 (00:30 +0200)]
[runtime] Optimize mono_class_field_is_special_static () a bit.
We can avoid loading custom attributes by checking field->offset == -1. This
won't always be the case for a special static field at all stages during class
loading but it'll speed up the most frequent cases.
Alex Rønne Petersen [Thu, 3 Sep 2015 18:00:31 +0000 (20:00 +0200)]
[runtime] Don't allocate domain-level static slots for special static fields.
This didn't cause any harm, but resulted in a bit of unnecessary GC work and
memory usage.
Marek Habersack [Thu, 3 Sep 2015 21:14:46 +0000 (23:14 +0200)]
Fix NREX in Linux network change notification code
Linux code uses a netlink socket to be notified about network interface
changes. The code is a bit racy and for that reson it can happen that
the LinuxNetworkChange.OnDataAvailable handler is called after the
socket is destroyed (from a timer event) and socket stored in an
instance variable is already null. This is a race most probably
introduced by the new threadpool or TPL code as it started to happen in
several places (mostly BCL tests on Android, but it's *not* specific to
Android).
The workaround here serves as a quick band-aid to be able to move on,
but a more thorough review of the socket code will be required.
Rodrigo Kumpera [Thu, 3 Sep 2015 20:50:09 +0000 (16:50 -0400)]
[Mono.Posix] Fix a test to accomodate for OSX's getsockopt implementation.
Rodrigo Kumpera [Thu, 3 Sep 2015 20:02:40 +0000 (16:02 -0400)]
[corlib] Fix a test. It was broken in so many ways, but hidden behind a check that disabled it everywhere. :(
Rodrigo Kumpera [Wed, 2 Sep 2015 22:02:34 +0000 (18:02 -0400)]
[coop] Add coop support to libtest.
Marek Safar [Thu, 3 Sep 2015 15:35:53 +0000 (17:35 +0200)]
[mcs] Use auto-property backing field for setting only when setter is not available. Fixes #33600