Rolf Bjarne Kvinge [Fri, 7 Aug 2015 08:47:00 +0000 (10:47 +0200)]
Add a conditional for fork and exec* functions.
They're not available on WatchOS.
Zoltan Varga [Fri, 7 Aug 2015 02:15:30 +0000 (22:15 -0400)]
[runtime] Avoid a memory overflow in Buffer.InternalBlockCopy () if the caller passes in a negative value by mistake.
Zoltan Varga [Wed, 5 Aug 2015 04:08:03 +0000 (00:08 -0400)]
[runtime] Remove some dead code.
Ludovic Henry [Thu, 6 Aug 2015 18:58:13 +0000 (14:58 -0400)]
[runtime] Fix memory corruption due to incorrect use of MONO_OBJECT_SETREF
MONO_OBJECT_SETREF would use mono_gc_wbarrier_set_field which would write over 8 bytes ( *(void**)field = value ), while we want to write over 1 byte here.
João Matos [Thu, 6 Aug 2015 12:22:20 +0000 (13:22 +0100)]
Merge pull request #1966 from angeloc/master
Better handling of vasprintf checking
Angelo Compagnucci [Thu, 6 Aug 2015 07:36:36 +0000 (09:36 +0200)]
Better handling of vasprintf checking
This patch improves the handling of vasprint checking.
It switches the unneeded have_vasprintf variable with the
AC_CHECK_FUNCS defined ac_cv_func_vasprintf one.
Zoltan Varga [Wed, 5 Aug 2015 23:09:39 +0000 (19:09 -0400)]
Merge pull request #1965 from akoeplinger/fix-flaky-test
[System.ServiceModel] Fix flaky Bug652331_2 test
Alexander Köplinger [Wed, 5 Aug 2015 18:09:32 +0000 (20:09 +0200)]
[System.ServiceModel] Fix flaky Bug652331_2 test
The test sometimes failed on Jenkins with the timeout assert. Running only this single test locally
with `make check TESTNAME=System.ServiceModel.Dispatcher.Bug652331Test.Bug652331_2` however reproduced
this almost every single time.
It seems that WCF takes a bit to initialize until it accepts connections, so putting a little sleep
fixed this for me locally and running it in a loop for half an hour didn't assert even once.
João Matos [Wed, 5 Aug 2015 16:49:39 +0000 (17:49 +0100)]
[runtime] Re-enable the soft debugger on x86 without presence of signals.
As of
b76665b8485e45bea13e2694107117877f96c98b the debugger does not rely on signals anymore for stepping.
João Matos [Wed, 5 Aug 2015 16:47:06 +0000 (17:47 +0100)]
[sgen] Do not use Mach OS initialisation if using coop GC.
Ludovic Henry [Tue, 4 Aug 2015 20:40:36 +0000 (16:40 -0400)]
[runtime] Add testing for unhandled exception
Ludovic Henry [Tue, 4 Aug 2015 13:42:41 +0000 (09:42 -0400)]
[runtime] Refactor AsyncResult.Invoke icall and swallow exception on AsyncCallback
The swallowed exception is the behavior we can observe on .NET and Mono 4.0
João Matos [Wed, 5 Aug 2015 11:50:16 +0000 (12:50 +0100)]
Merge pull request #1963 from angeloc/patch-1
Fixing initialization of have_vasprintf
Angelo Compagnucci [Wed, 5 Aug 2015 10:59:45 +0000 (12:59 +0200)]
Fixing initialization of have_vasprintf
This patch initialize properly have_vasprintf in case vasprint function is found.
Solves multiple definition of `vasprintf' error in case vasprint is not properly detected.
Marek Safar [Wed, 5 Aug 2015 08:10:53 +0000 (10:10 +0200)]
[system.net.http] Add special handling for chunked transfer-encoding httpwebrequest initialization. Fixes #31877
Zoltan Varga [Wed, 5 Aug 2015 03:01:56 +0000 (23:01 -0400)]
Fix the build.
Zoltan Varga [Wed, 5 Aug 2015 02:59:12 +0000 (22:59 -0400)]
[sdb] Transition to using sdb trampolines instead of signals for single stepping/breakpoints.
Zoltan Varga [Wed, 5 Aug 2015 02:37:12 +0000 (22:37 -0400)]
[sdb] Improve logging a bit.
Rodrigo Kumpera [Wed, 5 Aug 2015 02:04:29 +0000 (22:04 -0400)]
[runtime] Reenable Frak TLS on OSX
Ludovic Henry [Tue, 4 Aug 2015 22:35:48 +0000 (18:35 -0400)]
[bcl] Remove old ThreadPool managed class
Vlad Brezae [Thu, 22 Jan 2015 21:01:16 +0000 (13:01 -0800)]
[tests] MonoThreadsSync structures are no longer allocated at the first Enter.
Overflow the nest count in order to achieve the same effect.
Vlad Brezae [Tue, 20 Jan 2015 01:53:23 +0000 (17:53 -0800)]
Throw exception when trying to unlock unowned lock.
Vlad Brezae [Mon, 19 Jan 2015 21:51:32 +0000 (13:51 -0800)]
Unmanaged thin lock implementation.
This commit avoids allocation of new MonoThreadsSync structures for the typical cases of shallow nesting of uncontended locks. The necessary information (owner, nest and status bits) is embedded in the synchronisation field of a MonoObject. The lock is inflated when the nest overflows or when there is contention on the lock.
This greatly improves performance (over 10 times) for the case of locking a lock only a few times, due to the inflation avoidance. It also improves performance up to 25% for the case of locking a thin lock. A decrease in performance (up to 3 times slower) can happen for the case of repetitive nesting of a lock, due to the need of a CAS at each entry/exit.
Disable native fastpaths for now, until they are updated to the new implementation.
Merge notes from Rodrigo:
Remove the enter fast paths in monitor.c as the new code already has them.
triton [Tue, 4 Aug 2015 18:16:18 +0000 (19:16 +0100)]
Added mono_runtime_posix_install_handlers stub for WatchOS.
triton [Tue, 4 Aug 2015 18:15:43 +0000 (19:15 +0100)]
Added SGen OS support code stubs for coop backend.
Ludovic Henry [Tue, 4 Aug 2015 13:31:33 +0000 (09:31 -0400)]
Revert "[runtime] Refactor AsyncResult.Invoke internal call"
This reverts commit
e4ce838cd3616876f4f59aa3702a52ab1f5bf2ca.
Ludovic Henry [Tue, 4 Aug 2015 13:31:30 +0000 (09:31 -0400)]
Revert "[runtime] Refactor AsyncResult creation with MonoAsyncCall"
This reverts commit
0e27abd93ae9821bf13257b0aa3d283b4fc6857f.
Ludovic Henry [Tue, 4 Aug 2015 13:31:26 +0000 (09:31 -0400)]
Revert "[runtime] Move AsyncResult.Invoke to managed"
This reverts commit
29b07ab3ad3bc7cea2178035a94dfb61ddf6bb4a.
Marek Safar [Tue, 4 Aug 2015 13:26:50 +0000 (15:26 +0200)]
[mcs] Cached labels definite assignment check does not need exact match but anything larger than original set satisfies the condition. Fixes #32732
Marek Safar [Tue, 4 Aug 2015 11:00:41 +0000 (13:00 +0200)]
[mcs] Special case return expression of Task<Task> in async block. Fixes #32712
Zoltan Varga [Tue, 4 Aug 2015 02:07:40 +0000 (22:07 -0400)]
[llvm] Use the default code model on amd64, the 'large' code model leads to problems since the runtime doesn't support thunks on amd64.
Zoltan Varga [Mon, 3 Aug 2015 22:51:54 +0000 (18:51 -0400)]
[jit] Remove monitor enter/exit trampolines, their performance is similar to calling the icalls directly, so its not worth the complexity.
Zoltan Varga [Mon, 3 Aug 2015 22:35:42 +0000 (18:35 -0400)]
[runtime] Add a separate icall for Monitor.Enter(obj,&bool).
Zoltan Varga [Mon, 3 Aug 2015 22:20:24 +0000 (18:20 -0400)]
[runtime] Add fastpaths to the Monitor.Enter () methods.
Rodrigo Kumpera [Mon, 3 Aug 2015 21:37:54 +0000 (17:37 -0400)]
Merge pull request #1912 from ludovic-henry/threadpool-managed-asyncresult
[runtime] Move AsyncResult.Invoke to managed
Ludovic Henry [Mon, 3 Aug 2015 18:47:11 +0000 (14:47 -0400)]
[runtime] Move AsyncResult.Invoke to managed
Alexander Köplinger [Mon, 3 Aug 2015 19:24:25 +0000 (21:24 +0200)]
[System] Increase timeout of a test in SslStreamTest
The AuthenticateClientAndServer_ClientSendsNoData test sometimes failed on Jenkins,
but the 2s timeout is pretty short (it takes about 0.5s on my fast machine as well).
Increasing it to 5s should allow the test to work on the slower Jenkins machines as well.
Ludovic Henry [Mon, 3 Aug 2015 16:40:27 +0000 (12:40 -0400)]
[runtime] Refactor AsyncResult creation with MonoAsyncCall
Ludovic Henry [Mon, 3 Aug 2015 16:24:31 +0000 (12:24 -0400)]
[runtime] Refactor AsyncResult.Invoke internal call
Instead of catching the exception and rethrowin it right away, we do not catch it. This simplifies the code, and will give us more insight into the underlying exception.
Also merge mono_async_result_invoke into ves_icall_System_Runtime_Remoting_Messaging_AsyncResult_Invoke as it is the only place we use it.
Zoltan Varga [Mon, 3 Aug 2015 16:20:41 +0000 (12:20 -0400)]
Merge pull request #1959 from alexrp/master
Fix atomic_add_i4 on PPC
Zoltan Varga [Mon, 3 Aug 2015 16:01:46 +0000 (12:01 -0400)]
Merge pull request #1958 from rolfbjarne/aot-error-reporting
[aot] use g_error instead of fprintf + exit(1).
Alex Rønne Petersen [Mon, 3 Aug 2015 15:32:31 +0000 (17:32 +0200)]
[ppc] Fix atomic_add_i4 support for 32-bit PPC.
Alex Rønne Petersen [Mon, 3 Aug 2015 15:32:07 +0000 (17:32 +0200)]
[ppc] Instruction length of atomic_add_i4 is 28.
Rolf Bjarne Kvinge [Mon, 3 Aug 2015 14:02:18 +0000 (16:02 +0200)]
[aot] use g_error instead of fprintf + exit(1).
printfs don't always show up in the iOS device log, and exit(1) does
not create a crash report, making these conditions hard to debug
(all you get is "app X exited with code 1", and then you need to
attach a native debugger and break on 'exit' to figure out more).
g_error will end up producing output using NSLog (which always
shows up in the device log), and a crash report as well, making
debugging a lot easier.
Zoltan Varga [Mon, 3 Aug 2015 04:05:12 +0000 (00:05 -0400)]
[llvm] Reenable the 'handler without invokes' llvm restriction, it causes llvm to eliminate the handler, causing finally_block_ending_in_dead_bb.exe to fail on amd64.
Zoltan Varga [Mon, 3 Aug 2015 04:04:23 +0000 (00:04 -0400)]
Revert "[runtime] Disable finally_block_ending_in_dead_bb.exe on wrench, it fails with llvm."
This reverts commit
7b7692a988f82e71c575e2c75b9293d8bef9ffe7.
Revert this as its not needed.
Zoltan Varga [Mon, 3 Aug 2015 03:56:48 +0000 (23:56 -0400)]
[runtime] Disable finally_block_ending_in_dead_bb.exe on wrench, it fails with llvm.
Zoltan Varga [Sun, 2 Aug 2015 04:47:29 +0000 (00:47 -0400)]
runtime] Add semicolons after the calls to the coop gc macros to avoid confusing editors.
Zoltan Varga [Sun, 2 Aug 2015 04:42:01 +0000 (00:42 -0400)]
[runtime] Clean up the mini makefile a bit.
Zoltan Varga [Sun, 2 Aug 2015 04:13:49 +0000 (00:13 -0400)]
[runtime] Clean up configure.ac a bit.
Zoltan Varga [Sun, 2 Aug 2015 03:27:35 +0000 (23:27 -0400)]
[arm] Remove usunsed arch/arm/tramp.c file.
Zoltan Varga [Sun, 2 Aug 2015 01:25:46 +0000 (21:25 -0400)]
[arm] Avoid running out of thunk space if the same instruction is patched multiple times. Fixes #32179.
Zoltan Varga [Sun, 2 Aug 2015 00:42:37 +0000 (20:42 -0400)]
[aot] Avoid passing empty quoted arguments to the linker.
Zoltan Varga [Sat, 1 Aug 2015 23:45:14 +0000 (19:45 -0400)]
Fix a warning.
Zoltan Varga [Sat, 1 Aug 2015 23:34:20 +0000 (19:34 -0400)]
[llvm] Fix support for returning empty structs from pinvoke methods on amd64.
Zoltan Varga [Sat, 1 Aug 2015 23:17:05 +0000 (19:17 -0400)]
[jit] Enable direct calls to the monitor icalls.
Zoltan Varga [Sat, 1 Aug 2015 23:16:30 +0000 (19:16 -0400)]
[runtime] Use mono_set_pending_exception () in the monitor icalls.
Marek Safar [Sat, 1 Aug 2015 06:52:31 +0000 (08:52 +0200)]
Merge pull request #1955 from LogosBible/servicepoint_nre
Fix NRE in CheckAvailableForRecycling. Fixes #32685
Marek Safar [Sat, 1 Aug 2015 05:50:47 +0000 (07:50 +0200)]
Merge pull request #1956 from akoeplinger/fix-processtest-race
[System] Fix a race in two ProcessTest tests
Alex Rønne Petersen [Sat, 1 Aug 2015 04:35:38 +0000 (06:35 +0200)]
Merge pull request #1957 from akoeplinger/msbuild-fix
Revert "[Microsoft.Build.Engine] Fix bug with escaped semicolon and spaces"
Alexander Köplinger [Thu, 23 Jul 2015 09:52:06 +0000 (11:52 +0200)]
Revert "[Microsoft.Build.Engine] Fix bug with escaped semicolon and spaces"
This reverts commit
51297ed7ab06480df84520c758639b6cef0790d9.
It caused a regression for escaped quotes (%22) in msbuild properties. See https://github.com/mono/mono/commit/
51297ed7ab06480df84520c758639b6cef0790d9#commitcomment-
11827605.
Disable test that now fails again after the revert. Add new test that verifies the behavior originally broken by the change.
Alexander Köplinger [Fri, 31 Jul 2015 23:33:04 +0000 (01:33 +0200)]
[System] Fix a race in two ProcessTest tests
The tests sometimes failed in CI, due to a race condition between
the Exited event and our assertion of whether it was called.
Tom Philpot [Fri, 31 Jul 2015 22:17:35 +0000 (15:17 -0700)]
Fix NRE in CheckAvailableForRecycling. Fixes #32685
Jonathan Pryor [Fri, 31 Jul 2015 19:21:57 +0000 (15:21 -0400)]
[mkbundle] Add `mkbundle --dos2unix` parameter.
Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=25086
Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=31875
Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=32171
Reverts and reworks commit
bcfec743.
The problem is that when Xamarin.Android is running mkbundle, dos2unix
should NEVER be used, because the Android NDK NEVER wants Unix-like
paths, which is what dos2unix creates.
Commit
bcfec743 attempted to fix this by removing dos2unix invocation
from the Xamarin.Android codepath.
The problem is that the logic was backwards: it removed dos2unix
invocation when XAMARIN_ANDROID was NOT defined, and PRESERVED
dos2unix invocation when XAMARIN_ANDROID WAS defined.
Meaning commit
bcfec743 broke normal/default mkbundle.exe use on
Windows -- it would no longer probe for and use dos2unix if present --
and Xamarin.Android use of mkbundle continued to check for and use
dos2unix if it was present, continuing the buggy behavior.
Doh!
Thus, a reworking: Add a `mkbundle --dos2unix` parameter.
If `mkbundle --dos2unix=false` is specified, dos2unix will NOT be
probed for, and will NOT be used. If `mkbundle --dos2unix` or
`mkbundle --dos2unix=true` is used, then dos2unix WILL be used.
This allows the caller to consistently, ahead of time, control
mkbundle's behavior regarding dos2unix, which will e.g. allow
Xamarin.Android to *always* specify --dos2unix=false, allowing things
to build as desired there.
Alexander Köplinger [Fri, 31 Jul 2015 19:06:05 +0000 (21:06 +0200)]
[System.Runtime.Remoting] Use NotWorking category for test instead of Ignore attribute
The TestFixtureSetUp would sometimes fail in CI, but none of the tests in this class are
actually run since they are all either [Category("NotWorking")] or [Ignore].
Moving the one test from Ignore to NotWorking category allows NUnit to recognize there
are no tests to run and skips the unnecessary TestFixtureSetUp completely.
Marek Safar [Fri, 31 Jul 2015 12:36:28 +0000 (14:36 +0200)]
[mcs] Try to report better error message for file excedding PE/COFF limit. Fixes #32487
Marek Safar [Fri, 31 Jul 2015 11:50:47 +0000 (13:50 +0200)]
[runtime] Add 2.0 build assemblies to remapping table. Fixes #32561
Marek Safar [Fri, 31 Jul 2015 07:33:17 +0000 (09:33 +0200)]
[reflection] Filter out private accessors when queried from derived types. Fixes #32609
Zoltan Varga [Fri, 31 Jul 2015 02:45:30 +0000 (22:45 -0400)]
Parallelize the generation of aot images for make fullaotcheck.
Zoltan Varga [Thu, 30 Jul 2015 21:24:19 +0000 (17:24 -0400)]
[aot] Fix the caching of runtime-invoke wrappers after the wrapper cache changes, two methods with the same signature might have different runtime invoke wrappers now, and the caching would break their lookup.
Marek Safar [Thu, 30 Jul 2015 17:15:56 +0000 (19:15 +0200)]
[runtime] Support quoted assembly names. Fixes #32591
Rodrigo Kumpera [Thu, 30 Jul 2015 14:48:44 +0000 (10:48 -0400)]
Merge pull request #1840 from ludovic-henry/iolayer-thread-interrupt
[runtime] Implement wait interrupt in thread info, instead of in the io-layer
Martin Baulig [Thu, 30 Jul 2015 13:28:28 +0000 (15:28 +0200)]
[System]: Fix WebConnectionStream.SetHeadersAsync() logic for #31830.
This fixes commits
8ccfe0f8ff71d18151f8aad90d0855dfd2d2a723 and
c109f9ca03d38e608cbd85cb2fdf8cfaf55bb97c.
Added new test:
https://github.com/xamarin/web-tests/commit/
d60bc3f637ca2bf4aa1379b839d878e224d344c8
(cherry picked from commit
c133880bc407baed5d46222e20677d1427b32b4d)
Neale Ferguson [Thu, 30 Jul 2015 11:09:37 +0000 (07:09 -0400)]
Add missing {
Zoltan Varga [Thu, 30 Jul 2015 03:04:42 +0000 (23:04 -0400)]
[amd64] Allocate stack space for saving argument registers in the sdb trampoline code on winx64.
Zoltan Varga [Thu, 30 Jul 2015 02:43:05 +0000 (22:43 -0400)]
[amd64] Allocate stack space for saving argument registers in the generic trampoline code on winx64.
Zoltan Varga [Thu, 30 Jul 2015 02:29:10 +0000 (22:29 -0400)]
[jit] Avoid emitting the DW_CFA_mono_advance_loc mono extension opcode into the .debug_frame section.
Vlad Brezae [Thu, 30 Jul 2015 02:08:18 +0000 (19:08 -0700)]
Merge pull request #1929 from BrzVlad/feature-unwind4yall
Feature trampoline unwind info
Vlad Brezae [Wed, 15 Jul 2015 23:40:29 +0000 (23:40 +0000)]
[arm] Provide unwind info for tls thunks
We don't try to unwind from the fallback thunks since they call external code anyway.
Vlad Brezae [Wed, 15 Jul 2015 22:43:09 +0000 (22:43 +0000)]
[arm] Simplify declaration of global symbols in asm
Vlad Brezae [Fri, 19 Jun 2015 00:55:46 +0000 (17:55 -0700)]
[arm] Fix unwind info for managed methods
Add unwind information for the epilog.
Vlad Brezae [Mon, 15 Jun 2015 23:23:18 +0000 (16:23 -0700)]
[aot] Provide unwind info for plt trampolines
Vlad Brezae [Thu, 11 Jun 2015 00:58:25 +0000 (00:58 +0000)]
[arm] Add unwind info for trampolines
Vlad Brezae [Fri, 15 May 2015 22:57:15 +0000 (15:57 -0700)]
[x86] Add unwind info for registered trampolines.
Vlad Brezae [Fri, 8 May 2015 23:23:56 +0000 (16:23 -0700)]
[amd64] Add unwind info for registered trampolines.
Zoltan Varga [Wed, 29 Jul 2015 22:29:24 +0000 (18:29 -0400)]
Remove an obsolete comment.
Zoltan Varga [Wed, 29 Jul 2015 22:15:37 +0000 (18:15 -0400)]
Revert "Report XDG Documents directory for SpecialFolder.MyDocuments"
This reverts commit
d6553bc988dd9f2a3c535c6075868f233ecd3302.
Revert this as it breaks the build.
Vlad Brezae [Sat, 6 Jun 2015 01:13:04 +0000 (18:13 -0700)]
[runtime] Register tramp jit info to the corresponding domain
Vlad Brezae [Fri, 12 Jun 2015 00:45:45 +0000 (17:45 -0700)]
[x86] Register throw trampolines
Vlad Brezae [Tue, 2 Jun 2015 20:58:53 +0000 (13:58 -0700)]
[runtime] Register unbox trampolines
Vlad Brezae [Fri, 10 Jul 2015 20:57:23 +0000 (13:57 -0700)]
[arm] Register and add unwind information for page trampolines.
Vlad Brezae [Tue, 2 Jun 2015 19:04:38 +0000 (12:04 -0700)]
[runtime] Register imt trampolines
Vlad Brezae [Tue, 2 Jun 2015 19:02:47 +0000 (12:02 -0700)]
[runtime] Register get gsharedvt arg trampolines
Vlad Brezae [Tue, 2 Jun 2015 18:48:46 +0000 (11:48 -0700)]
[runtime] Register static rgctx trampolines
Vlad Brezae [Tue, 12 May 2015 20:38:37 +0000 (13:38 -0700)]
[runtime] Register tramp infos for delegate invoke trampolines
Also refactor MonoTrampInfo creation, similar to the other trampolines.
Vlad Brezae [Wed, 15 Jul 2015 01:59:43 +0000 (18:59 -0700)]
[x86] Fix usage of virtual delegate invoke tramps for aot
We need to fallback if the vtable slot exceedes the limit.
Vlad Brezae [Wed, 15 Jul 2015 01:53:59 +0000 (18:53 -0700)]
[runtime] Fix lookup of aot symbol for imt delegate invoke tramps
Offset for calls through imt is negative
Vlad Brezae [Wed, 15 Jul 2015 02:49:34 +0000 (19:49 -0700)]
[runtime] Add missing delegate invoke trampolines
Vlad Brezae [Wed, 15 Jul 2015 01:45:35 +0000 (18:45 -0700)]
[amd64] Fix failure to emit imt delegate invoke tramps
The problem was due to implicit casting of the dividend to unsigned (which overflows) when divided by unsigned.
Vlad Brezae [Thu, 9 Jul 2015 23:52:46 +0000 (16:52 -0700)]
[aot] Register tramp infos when loading trampolines in aot.