Rodrigo Kumpera [Wed, 26 Aug 2015 22:22:08 +0000 (18:22 -0400)]
[coop] Initial drop of the supporting public API.
Rodrigo Kumpera [Wed, 26 Aug 2015 22:06:43 +0000 (18:06 -0400)]
[corlib] Fix the mobile test suite.
triton [Wed, 26 Aug 2015 22:27:05 +0000 (23:27 +0100)]
[threadpool-io] Fixed the Windows backend to call the correct polling function.
Mark Probst [Wed, 26 Aug 2015 20:07:29 +0000 (13:07 -0700)]
[sgen] Don't access LOS object size directly because it has to be masked.
We use the lowest bit in the LOS object size to denote whether the object is
marked/pinned, so we can't directly use the size. Use the getter function
instead.
Zoltan Varga [Wed, 26 Aug 2015 19:56:42 +0000 (15:56 -0400)]
[sdb] Disallow nested invokes.
Alex Rønne Petersen [Wed, 26 Aug 2015 19:54:04 +0000 (21:54 +0200)]
Merge pull request #1999 from rodrmoya/master
Fix format description for TYPE_CONTEXT
Rodrigo Moya [Wed, 26 Aug 2015 16:21:08 +0000 (18:21 +0200)]
Fix format description for TYPE_CONTEXT
Zoltan Varga [Wed, 26 Aug 2015 18:47:24 +0000 (14:47 -0400)]
[llvm] Implement support for GC_SAFE_POINT.
Marcos Henrich [Wed, 26 Aug 2015 10:02:42 +0000 (11:02 +0100)]
[corlib] Fixes test not compiling with older NUnit.
Rodrigo Kumpera [Tue, 25 Aug 2015 21:07:08 +0000 (17:07 -0400)]
Merge pull request #1998 from BillSeurer/master
Fix coding error with ! operator in two places in libtest.c
Bill Seurer [Tue, 25 Aug 2015 21:00:04 +0000 (16:00 -0500)]
Fix coding error with ! operator in two places.
Martin Baulig [Tue, 25 Aug 2015 12:52:31 +0000 (14:52 +0200)]
Merge pull request #1992 from BogdanovKirill/ChunkedReading
[ChunkStream] CPU and memory leak fix when writing and reading infinitely
Zoltan Varga [Mon, 24 Aug 2015 22:22:10 +0000 (18:22 -0400)]
Merge pull request #1996 from BillSeurer/master
[ppc] Add MonoContext and asynch callback support
Bill Seurer [Mon, 24 Aug 2015 22:10:36 +0000 (17:10 -0500)]
[ppc] Add MonoContext and asynch callback support
Zoltan Varga [Mon, 24 Aug 2015 20:25:44 +0000 (16:25 -0400)]
[runtime] Remove the is_mb_open field from MonoMethod, it doesn't seem to be needed, inflated MethodBuilders are represented by MethodOnTypeBuilderInst objects.
Zoltan Varga [Mon, 24 Aug 2015 20:19:30 +0000 (16:19 -0400)]
[sdb] Remove the code which stopped single stepping when exiting a runtime invoke, it was only enabled on ios/android, and it doesn't seem to be needed anymore.
Ludovic Henry [Thu, 13 Aug 2015 19:10:15 +0000 (16:10 -0300)]
[threadpool-io] Remove unecessary operation change
These 2 operations are going to be treated the same in managed, so the change is useless
Ludovic Henry [Thu, 13 Aug 2015 19:09:31 +0000 (16:09 -0300)]
[threadpool-io] Add log tracing
Ludovic Henry [Thu, 13 Aug 2015 17:55:28 +0000 (14:55 -0300)]
[threadpool-io] Rework backend API
The main change is the fd will not be removed from the backend when there is no event to poll, but only when we close the socket. This also reduce the number of functions of the backend.
Ludovic Henry [Wed, 12 Aug 2015 15:24:12 +0000 (12:24 -0300)]
[threadpool-io] Move the states table to the selector thread exclusively
This greatly simplify the model of the states as we do not need to worry about modifications in different threads.
Ludovic Henry [Thu, 13 Aug 2015 14:11:59 +0000 (11:11 -0300)]
[threadpool-io] Disable AIO by default
Rodrigo Kumpera [Mon, 24 Aug 2015 14:51:26 +0000 (10:51 -0400)]
[coop] Add some TODOs to the stress test suite.
Rodrigo Kumpera [Mon, 24 Aug 2015 16:03:44 +0000 (12:03 -0400)]
Merge pull request #1989 from esdrubal/local_tz_from_link
Local tz id from symbolic link
Zoltan Varga [Sat, 22 Aug 2015 02:00:41 +0000 (22:00 -0400)]
[runtime] Fix native backtraces with lldb by closing stdin.
Zoltan Varga [Fri, 21 Aug 2015 22:04:10 +0000 (18:04 -0400)]
Fix the build.
Zoltan Varga [Fri, 21 Aug 2015 21:46:55 +0000 (17:46 -0400)]
[runtime] Implement support for dynamic methods in stack traces in a different way: instead of constructing the stack trace eagerly when it contains a dynamic method, save the list of dynamic methods into the Exception object so they are kept alive.
Marek Safar [Fri, 21 Aug 2015 19:36:52 +0000 (21:36 +0200)]
[runtime] Remove eager exception stack construction when it contains dynamic method. Fixes #33064
We used to construct exception stack traces as string at throw site (for dynamic methods) but
that does not work correctly because exception stack trace can be decomposed via
new StackTrace (exception) or merged via ExceptionDispatchInfo both of them need the exception
stack in raw form and not as a string.
Further the format used by local stack builder was not same as format used by
System.Diagnostics.StackTrace.
The orignal reason for the specialization was that dynamic method can be collected
before stack is rendered which leads to stack frame to be reported as
at <unknown method> instead of
at (wrapper dynamic-method)
That should be addressed by gc-link between dynamic method and exception or
stack-frame.
Zoltan Varga [Fri, 21 Aug 2015 18:15:24 +0000 (14:15 -0400)]
[arm64] Add gc_safe_point to cpu-arm64.md.
Rodrigo Kumpera [Fri, 21 Aug 2015 17:48:47 +0000 (13:48 -0400)]
[jit] Enable OP_GC_SAFE_POINT on ARM64
Rodrigo Kumpera [Fri, 21 Aug 2015 17:19:17 +0000 (13:19 -0400)]
[Facades] xammac_net_4_5 needs the reflection facades.
Rodrigo Kumpera [Fri, 21 Aug 2015 00:07:46 +0000 (20:07 -0400)]
[BCL] Fix xammac_4_5 build of the Facades.
Rodrigo Kumpera [Thu, 20 Aug 2015 23:48:15 +0000 (19:48 -0400)]
[BCL] Partial compilation fix for xammac_4_5. Facades still busted.
Rodrigo Kumpera [Thu, 20 Aug 2015 21:23:53 +0000 (17:23 -0400)]
[arm64] Fix MONO_CONTEXT_GET_CURRENT so it can be used multiple times in the same compilation unit.
Marek Safar [Thu, 20 Aug 2015 21:25:24 +0000 (23:25 +0200)]
Fixes build of xammac new facades
Zoltan Varga [Thu, 20 Aug 2015 20:46:22 +0000 (16:46 -0400)]
[coop] Avoid polling in the mono_thread_interruption_checkpoint () icall wrapper, it could lead to infinite recursion if the polling flag is not cleared fast enough.
Zoltan Varga [Mon, 17 Aug 2015 19:21:25 +0000 (15:21 -0400)]
[coop] Avoid taking the gc lock when rehashing mono_g_hash tables, its not needed with the coop gc since the gc cannot preempnt that code.
Zoltan Varga [Thu, 20 Aug 2015 17:37:16 +0000 (13:37 -0400)]
[coop] Enter blocking mode before waiting on a condvar in the threadpool code.
Marek Safar [Thu, 20 Aug 2015 13:40:26 +0000 (15:40 +0200)]
Fixes mobile build
BogdanovKirill [Thu, 20 Aug 2015 10:51:35 +0000 (15:51 +0500)]
[ChunkStream] CPU and memory leak fix when writing and reading infinitely
The problem is connected with "chunks" field in ChunkStream class. As you can see in "ReadFromChunks" method, the number of elements of this array continuously grows, because array's elements are not removed but just set to null. So, every subsequent call of this method will be slower than previous and will use additional memory more and more infinitely. Yes, we have "ResetBuffer" method than could clear "chunks" array, but nobody call it when the connection is infinite.
This change is released under the MIT license.
Marek Safar [Thu, 20 Aug 2015 08:10:05 +0000 (10:10 +0200)]
Merge pull request #1990 from akoeplinger/fix-getsystemtimezone-reflection
[corlib] Rename private method in TimeZoneInfo to avoid conflict with public one via reflection
Alexander Köplinger [Thu, 20 Aug 2015 02:40:58 +0000 (04:40 +0200)]
[corlib] Rename private method in TimeZoneInfo to avoid conflict with public one via reflection
A private overload of the public GetSystemTimeZones() method was added in
4dc9a90d7f23f0f5a7a31f7357ea782408d3d9b5.
This broke code that tried to access that method via reflection and expected that there be only one.
Fixing this by renaming the private method to GetSystemTimeZonesCore (which is also more aligned with FindSystemTimeZoneByIdCore).
Rodrigo Kumpera [Wed, 19 Aug 2015 23:22:28 +0000 (19:22 -0400)]
[coop] We call into the GC holding the appdomain mutex. Suspend around locking.
João Matos [Wed, 19 Aug 2015 23:09:34 +0000 (00:09 +0100)]
[System] Remove MonoSyncFileStream.cs from mobile sources.
Zoltan Varga [Wed, 19 Aug 2015 22:32:17 +0000 (18:32 -0400)]
Revert "[coop] Disable exception checks in mono_threads_state_poll (), it could lead to infinite recursion."
This reverts commit
2790501f696a74ca7fb4bfb64c05385138d758de.
Revert this as it causes corlib tests to hang.
Rodrigo Kumpera [Wed, 19 Aug 2015 21:14:38 +0000 (17:14 -0400)]
[coop] mono_gc_register_for_finalization does block, so guard against it.
Zoltan Varga [Wed, 19 Aug 2015 21:03:42 +0000 (17:03 -0400)]
[coop] Avoid doing polling in native-to-managed wrappers, the poll can trigger before reset_blocking is executed.
Rodrigo Kumpera [Wed, 19 Aug 2015 19:32:22 +0000 (15:32 -0400)]
[coop] Add stress test. It still beats me.
Rodrigo Kumpera [Wed, 19 Aug 2015 19:31:39 +0000 (15:31 -0400)]
[coop] The sgen_interruption mutex can be taken in unsafe mode, so we need to suspend around it.
Marek Safar [Wed, 19 Aug 2015 15:18:54 +0000 (17:18 +0200)]
[corlib] Add underlying Console stream specialization to FileStream
João Matos [Wed, 19 Aug 2015 13:54:43 +0000 (14:54 +0100)]
[runtime] Fixed AArch64 Android cross-compilation build.
This was introduced by https://github.com/mono/mono/commit/
5604e0b5940a1df7059d11158b36fbde9a3c056d.
For some reason we were getting duplicate assembly labels, this fixes it.
```[8:45:15] /var/folders/hv/lh9y7pps1vbfsc737h_nl4mh0000gp/T//cczYhnuB.s: Assembler messages:
[8:45:15] /var/folders/hv/lh9y7pps1vbfsc737h_nl4mh0000gp/T//cczYhnuB.s:9012: Error: symbol `L0' is already defined
[8:45:15] make[7]: *** [libmini_la-mini-exceptions.lo] Error 1
[8:45:15] make[7]: *** Waiting for unfinished jobs....```
Marek Safar [Wed, 19 Aug 2015 12:12:33 +0000 (14:12 +0200)]
[corlib] Remove unused icall
Marek Safar [Wed, 19 Aug 2015 09:51:38 +0000 (11:51 +0200)]
[corlib] Remove unused file
Marek Safar [Wed, 19 Aug 2015 09:49:31 +0000 (11:49 +0200)]
[system] Add a workaround for redirected StandardInput writes. Fixes #32905
Marek Safar [Wed, 19 Aug 2015 09:34:17 +0000 (11:34 +0200)]
[System] Refactor Process start to better control pipes flow
Marek Safar [Tue, 18 Aug 2015 09:39:16 +0000 (11:39 +0200)]
[system] Simplify process redirection initialization
Marek Safar [Tue, 18 Aug 2015 09:38:19 +0000 (11:38 +0200)]
[corlib] Add FileStream safe handle argument check
Martin Baulig [Wed, 19 Aug 2015 11:16:59 +0000 (13:16 +0200)]
[WFC]: Fix yesterday's commit.
We actually don't need the length check here. The only place where
the 'ref parameters' could possibly be replaced is at the end of the
private Request() method - to remove the 'IAsyncResult' argument from
and End*() method.
This fixes commit
0b1360c8e35f483c69a3bfef8b3c133e4932da9e and bug #32886.
(cherry picked from commit
1d2c58215fa00192d6306b4474ea4487df4b38e3)
Zoltan Varga [Wed, 19 Aug 2015 00:00:53 +0000 (20:00 -0400)]
Rodrigo Kumpera [Tue, 18 Aug 2015 22:52:10 +0000 (18:52 -0400)]
[coop] On OSX, set native_handle to the mac port.
Rodrigo Kumpera [Tue, 18 Aug 2015 22:25:02 +0000 (18:25 -0400)]
[jit] Print thread information when doing a gdb crash dump
Rodrigo Kumpera [Tue, 18 Aug 2015 21:42:46 +0000 (17:42 -0400)]
[build] Add execv to configure.ac, the runtime now needs it.
Zoltan Varga [Tue, 18 Aug 2015 21:18:25 +0000 (17:18 -0400)]
[sdb] Fix the handling of strings with embedded null values. Fixes #33066.
Zoltan Varga [Tue, 18 Aug 2015 18:44:42 +0000 (14:44 -0400)]
[jit] Emit the results of the jit regressions tests in nunit format only when running under jenkins.
Zoltan Varga [Tue, 18 Aug 2015 18:38:45 +0000 (14:38 -0400)]
Merge pull request #1983 from saper/noeglibstatic
Do not build libeglib-static.a
Zoltan Varga [Tue, 18 Aug 2015 18:38:29 +0000 (14:38 -0400)]
[runtime] Use the thread_get_tid () in more places.
Zoltan Varga [Tue, 18 Aug 2015 18:30:21 +0000 (14:30 -0400)]
Revert "[coop] Avoid taking the gc lock when rehashing mono_g_hash tables, its not needed with the coop gc since the gc cannot preempnt that code."
This reverts commit
ab7929448c37a5caa4e2891d10c929b164eaeaba.
Revert this to see if it fixes wrench failures.
Martin Baulig [Tue, 18 Aug 2015 14:09:11 +0000 (16:09 +0200)]
[WCF]: Fix non-byref parameters; bug #32886.
(cherry picked from commit
0b1360c8e35f483c69a3bfef8b3c133e4932da9e)
Marcos Henrich [Tue, 18 Aug 2015 16:44:00 +0000 (17:44 +0100)]
Improved TimeZoneInfo.Local.Id
TimeZoneInfo.Local.Id now returns a Olson id when "/etc/localtime" is a
symbolicate link instead of "Local".
Fixes #24958.
Marcos Henrich [Tue, 18 Aug 2015 16:39:48 +0000 (17:39 +0100)]
Test TimeZoneInfo.Local.Id
Ideally TimeZoneInfo.Local.Id should not be equal to "Local" when
/etc/localtime is a symbolic link. Covers #24958.
Zoltan Varga [Tue, 18 Aug 2015 15:20:53 +0000 (11:20 -0400)]
Merge pull request #1988 from BillSeurer/master
[ppc] Basic changes to allow mono to build and run on power BE
Bill Seurer [Tue, 18 Aug 2015 14:36:23 +0000 (09:36 -0500)]
[ppc] Basic changes to allow mono to build and run on power BE
Marek Habersack [Tue, 18 Aug 2015 12:55:09 +0000 (14:55 +0200)]
[tests] Disable a Unix signal test on Android
The test causes the runtime to silently crash in fashion similar to what
real-time signals do to the runtime (a segfault without a single trace
of a crash, causing the process to just hang)
ash-lshift [Thu, 4 Sep 2014 13:03:41 +0000 (14:03 +0100)]
[WindowsBase] Fix PackagePart.GetRelationships for readonly files
Do not throw an exception when we are creating the PackageRelationship.
We should only do that if the user tries to add a new one.
Fixes https://bugzilla.novell.com/show_bug.cgi?id=675379
Rodrigo Kumpera [Tue, 18 Aug 2015 06:48:39 +0000 (02:48 -0400)]
[test-suite] Enable sgen test that forgot to be added.
Rodrigo Kumpera [Tue, 18 Aug 2015 06:39:50 +0000 (02:39 -0400)]
[coop] Wrap thread initialization start wait code in a GC safe block.
This is needed since the starting thread might block in the threads_lock
waiting for a GC to finish before posting to the completed semaphore.
This will cause the thread creating it to block indefinitely.
Rodrigo Kumpera [Tue, 18 Aug 2015 06:38:35 +0000 (02:38 -0400)]
[coop] Code calls into the GC while holding the handles lock. Wrap it around a MONO_TRY_BLOCKING.
Rodrigo Kumpera [Mon, 17 Aug 2015 23:56:47 +0000 (19:56 -0400)]
[checked-build] Adjust the assertof mono_runtime_class_init.
Rodrigo Kumpera [Mon, 17 Aug 2015 23:52:15 +0000 (19:52 -0400)]
[coop] mono_thread_info_suspend_lock is a non-leaf lock so we need to checkpoint around it so it works with coop.
mono_thread_info_suspend_lock is, on first sight, a leaf lock. But since it can suspend a thread that is holding other locks,
it has the same global effect of one.
Rodrigo Kumpera [Tue, 18 Aug 2015 05:19:43 +0000 (01:19 -0400)]
[checked-build] Add a check in mono-hash for the right GC mode.
Rodrigo Kumpera [Sun, 16 Aug 2015 05:59:32 +0000 (01:59 -0400)]
add some assets to reflection.c
Zoltan Varga [Mon, 17 Aug 2015 23:32:34 +0000 (19:32 -0400)]
[coop] Mark the locking in mono_thread_info_safe_suspend_and_run () as blocking, it can block during an stw.
Zoltan Varga [Mon, 17 Aug 2015 22:35:53 +0000 (18:35 -0400)]
[coop] Shorten the blocking section in threadpool cleanup.
Zoltan Varga [Mon, 17 Aug 2015 20:45:19 +0000 (16:45 -0400)]
[coop] Disable exception checks in mono_threads_state_poll (), it could lead to infinite recursion.
Alexis Christoforides [Sat, 15 Aug 2015 00:57:21 +0000 (20:57 -0400)]
[lock tracer] Initialize all of frame array
Zoltan Varga [Mon, 17 Aug 2015 19:21:25 +0000 (15:21 -0400)]
[coop] Avoid taking the gc lock when rehashing mono_g_hash tables, its not needed with the coop gc since the gc cannot preempnt that code.
triton [Mon, 17 Aug 2015 18:32:33 +0000 (19:32 +0100)]
[msvc] Remove 64-bit/SGen build specific DLL export definition file.
triton [Mon, 17 Aug 2015 18:31:04 +0000 (19:31 +0100)]
[msvc] Update the DLL export definition files.
triton [Mon, 17 Aug 2015 18:30:20 +0000 (19:30 +0100)]
[runtime] Fixed Valgrind support to compile against Win64.
triton [Mon, 17 Aug 2015 18:28:44 +0000 (19:28 +0100)]
[runtime] Fixed sgen_suspend_thread to work with Win64 MonoContext.
João Matos [Mon, 17 Aug 2015 17:05:35 +0000 (18:05 +0100)]
Merge pull request #1967 from D-POWER/master
Fixed MSVC solution to compile straight out of the box
Marek Safar [Mon, 17 Aug 2015 16:46:45 +0000 (18:46 +0200)]
[system] Keep excluded socket mobile tests in sync
Marek Safar [Mon, 17 Aug 2015 14:30:03 +0000 (16:30 +0200)]
[corlib] Update incorrect test
Marek Safar [Mon, 17 Aug 2015 14:25:04 +0000 (16:25 +0200)]
[corlib] Propagate captured ExceptionDispatchInfo to user's StackTrace copies. Fixes #32918
Rodrigo Kumpera [Mon, 17 Aug 2015 13:39:49 +0000 (09:39 -0400)]
Merge pull request #1870 from saper/langinfo_h
[eglib] Prefer <langinfo.h> to <localcharset.h>
Marek Safar [Mon, 17 Aug 2015 09:42:43 +0000 (11:42 +0200)]
[mcs] Reduced statement expressions can still be used as statements. Fixes #33142
Zoltan Varga [Sun, 16 Aug 2015 23:41:04 +0000 (19:41 -0400)]
[jit] Avoid taking the domain lock in mono_icall_get_wrapper_full (), do most work outside the loader lock.
Zoltan Varga [Sun, 16 Aug 2015 23:32:07 +0000 (19:32 -0400)]
[runtime] Remove unused mono_delegate_section variable.
Zoltan Varga [Sun, 16 Aug 2015 23:22:27 +0000 (19:22 -0400)]
[runtime] Change a few g_assert (foo != NULL) to g_assert (foo).
Zoltan Varga [Sun, 16 Aug 2015 21:02:45 +0000 (17:02 -0400)]
[coop] Make type_initialization_lock () a blocking lock, since some critical sections protected by it can block. Reorganize mono_runtime_class_init_full (), avoid putting the majority of the function inside an if.
Zoltan Varga [Sun, 16 Aug 2015 21:01:39 +0000 (17:01 -0400)]
[coop] Make threadpool->active_threads_lock a blocking lock, since some critical sections protected by it can block.