Zoltan Varga [Thu, 28 Nov 2013 12:10:50 +0000 (13:10 +0100)]
[jit] Avoid emitting two AOT_CONST instructions for managed TLS access.
Zoltan Varga [Thu, 28 Nov 2013 12:00:59 +0000 (13:00 +0100)]
[x86] Implement OP_TLS_SET/OP_TLS_SET_REG opcodes.
Zoltan Varga [Thu, 28 Nov 2013 10:58:03 +0000 (11:58 +0100)]
[x86] Disable fast tls access in the push/pop LMF code in AOT mode, the TLS offsets are not constant and we cannot load them from the GOT since the GOT address is not computed yet.
Zoltan Varga [Thu, 28 Nov 2013 10:51:14 +0000 (11:51 +0100)]
[x86] Remove some dead code.
Zoltan Varga [Thu, 28 Nov 2013 01:59:19 +0000 (20:59 -0500)]
[x86] Fix the epilog tls access on linux too.
Zoltan Varga [Thu, 28 Nov 2013 09:56:22 +0000 (10:56 +0100)]
[runtime] Fix the windows build.
Zoltan Varga [Thu, 28 Nov 2013 09:46:22 +0000 (10:46 +0100)]
[x86] Fix tls access in epilogs in AOT code.
Zoltan Varga [Wed, 27 Nov 2013 22:29:10 +0000 (23:29 +0100)]
Rework the x86 lmf code to use stores instead of pushes, and to be more consistent with the code on other platforms.
Zoltan Varga [Wed, 27 Nov 2013 21:13:58 +0000 (22:13 +0100)]
Revert "Rework the x86 lmf code to use stores instead of pushes, and to be more consistent with the code on other platforms."
This reverts commit
4f562893b741b0c9b636691d8b0937aa86100acd.
Revert this as it breaks many tests.
Zoltan Varga [Wed, 27 Nov 2013 19:46:59 +0000 (20:46 +0100)]
[runtime] Really fix the windows build.
Zoltan Varga [Wed, 27 Nov 2013 19:44:58 +0000 (20:44 +0100)]
Rework the x86 lmf code to use stores instead of pushes, and to be more consistent with the code on other platforms.
Zoltan Varga [Wed, 27 Nov 2013 18:38:28 +0000 (19:38 +0100)]
[runtime] Fix the windows build.
Marek Safar [Wed, 27 Nov 2013 17:24:20 +0000 (18:24 +0100)]
[corlib] Better exception message for unexpected task result
Alex Rønne Petersen [Wed, 27 Nov 2013 17:44:14 +0000 (09:44 -0800)]
Merge pull request #812 from ColdPie1/master
Fix getting current system locale
Rodrigo Kumpera [Wed, 27 Nov 2013 13:44:36 +0000 (05:44 -0800)]
Merge pull request #815 from tmds/master
socket-io: interface index handling
Marek Safar [Wed, 27 Nov 2013 13:10:35 +0000 (14:10 +0100)]
[mcs] Emit this initializer for structs. Fixes #16430
Rolf Bjarne Kvinge [Wed, 27 Nov 2013 10:23:56 +0000 (11:23 +0100)]
Ignore generated files.
Zoltan Varga [Wed, 27 Nov 2013 09:11:27 +0000 (10:11 +0100)]
[runtime] Avoid busy waiting when using the MONO_DEBUG=suspend-on-sigsegv option.
Alex Rønne Petersen [Wed, 27 Nov 2013 02:45:00 +0000 (03:45 +0100)]
Unbreak the amd64 build.
Alex Rønne Petersen [Wed, 27 Nov 2013 02:23:41 +0000 (03:23 +0100)]
Remove mdb stuff from configure.in.
Master T [Tue, 26 Nov 2013 23:18:46 +0000 (00:18 +0100)]
SocketTest: added tests for multicast index handling for MulticastOption class and MulticastInterface socket option
This commit is under the MIT license.
Rodrigo Kumpera [Tue, 26 Nov 2013 16:45:54 +0000 (11:45 -0500)]
[runtime] Remove the old debugger interface.
Rodrigo Kumpera [Tue, 26 Nov 2013 16:04:48 +0000 (11:04 -0500)]
[jit] Remove mono_debug_add_icall_wrapper as it doesn't do anything.
Rodrigo Kumpera [Tue, 26 Nov 2013 15:48:49 +0000 (10:48 -0500)]
[runtime]Hide public fields and kill MONO_DEBUG_FORMAT_DEBUGGER.
Rodrigo Kumpera [Tue, 26 Nov 2013 15:26:31 +0000 (10:26 -0500)]
[jit]Remove the last uses of MONO_DEBUGGER_SUPPORTED.
Rodrigo Kumpera [Tue, 26 Nov 2013 15:13:38 +0000 (10:13 -0500)]
[runtime] Mark all symbols in mono-debug-debugger as private as we don't install that header.
Rodrigo Kumpera [Mon, 25 Nov 2013 23:50:40 +0000 (18:50 -0500)]
[runtime] Remove mono_debug_using_mono_debugger. This would only return true under mdb.
Rodrigo Kumpera [Mon, 25 Nov 2013 23:38:36 +0000 (18:38 -0500)]
[jit] Kill the debug-mini.h header.
Rodrigo Kumpera [Mon, 25 Nov 2013 23:36:06 +0000 (18:36 -0500)]
[jit] Remove some unused definitions.
Rodrigo Kumpera [Mon, 25 Nov 2013 23:32:56 +0000 (18:32 -0500)]
[jit] Remove the rest of the API exposed by debug-mini.h.
Rodrigo Kumpera [Mon, 25 Nov 2013 23:22:03 +0000 (18:22 -0500)]
[jit] Remove mono_debugger_handle_exception, which was only used by mdb.
Rodrigo Kumpera [Mon, 25 Nov 2013 22:59:24 +0000 (17:59 -0500)]
[jit] Remove the exception handling code of the old debugger.
Rodrigo Kumpera [Mon, 25 Nov 2013 22:00:13 +0000 (17:00 -0500)]
[jit] Kill more of mdb.
Rodrigo Kumpera [Mon, 25 Nov 2013 20:42:34 +0000 (15:42 -0500)]
[jit] Kill debug-debugger.c
Rodrigo Kumpera [Mon, 25 Nov 2013 19:41:06 +0000 (14:41 -0500)]
[jit] Remove the mdb debug-info files.
Marek Safar [Tue, 26 Nov 2013 18:00:20 +0000 (19:00 +0100)]
[mcs] Don't merge unreachable if blocks
Alex Rønne Petersen [Tue, 26 Nov 2013 15:37:34 +0000 (07:37 -0800)]
Merge pull request #818 from hanswolff/patch-1
fixed some warnings in mono-proclib.c
Marek Safar [Tue, 26 Nov 2013 14:16:37 +0000 (15:16 +0100)]
[mcs] Fix flow analysis of infinite for statement with breaks
Marek Safar [Tue, 26 Nov 2013 13:25:01 +0000 (14:25 +0100)]
[mcs] Run struct field assignment check on every exit point.
Marek Safar [Tue, 26 Nov 2013 12:08:31 +0000 (13:08 +0100)]
[mcs] Reachability analysis of constant switch
Hans Wolff [Tue, 26 Nov 2013 11:38:24 +0000 (11:38 +0000)]
fixed some warnings in mono-proclib.c
mono-proclib.c: In function ‘get_cpu_times’:
mono-proclib.c:600:24: warning: ‘sirq_ticks’ may be used uninitialized in this function [-Wmaybe-uninitialized]
*sirq = (sirq_ticks) *
10000000 / hz;
^
mono-proclib.c:598:22: warning: ‘irq_ticks’ may be used uninitialized in this function [-Wmaybe-uninitialized]
*irq = (irq_ticks) *
10000000 / hz;
^
mono-proclib.c:602:24: warning: ‘idle_ticks’ may be used uninitialized in this function [-Wmaybe-uninitialized]
*idle = (idle_ticks) *
10000000 / hz;
^
mono-proclib.c:596:29: warning: ‘system_ticks’ may be used uninitialized in this function [-Wmaybe-uninitialized]
*systemt = (system_ticks) *
10000000 / hz;
^
mono-proclib.c:594:23: warning: ‘nice_ticks’ may be used uninitialized in this function [-Wmaybe-uninitialized]
*user = (user_ticks + nice_ticks) *
10000000 / hz;
^
mono-proclib.c:594:23: warning: ‘user_ticks’ may be used uninitialized in this function [-Wmaybe-uninitialized]
Marek Safar [Mon, 25 Nov 2013 16:51:34 +0000 (17:51 +0100)]
[mcs] Excluded methods should not take a part in flow analysis
Marek Safar [Mon, 25 Nov 2013 14:56:46 +0000 (15:56 +0100)]
[mcs] Arguments flow analysis needs to ignore out modifier.
Marek Safar [Mon, 25 Nov 2013 13:05:35 +0000 (14:05 +0100)]
[mcs] Optimize DefiniteAssignmentBitSet
Mark Probst [Mon, 25 Nov 2013 14:22:08 +0000 (15:22 +0100)]
[sgen] Implement our own qsort() so as not do deadlock.
qsort() may call malloc(), which can lead to a deadlock when the
world is stopped.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=16432.
Mark Probst [Mon, 25 Nov 2013 14:20:36 +0000 (15:20 +0100)]
[sgen] Improve describe_ptr().
Don’t try to print the vtable if the major allocator knows it’s invalid.
Print bridge information.
Zoltan Varga [Mon, 25 Nov 2013 09:33:46 +0000 (10:33 +0100)]
[amd64] Unify the register saving/restoring code for the fp/no-fp cases.
Master T [Mon, 25 Nov 2013 07:56:49 +0000 (08:56 +0100)]
socket-io.c: merge #ifdef HAVE_STRUCT_IP_MREQN of network interface index and address
This commit and the related commits
11b2e351d887ef439ac377bc8137ba409965a8fb and
af9fc5f16f4358d016d73a82684beacabadfe10c) are under the MIT license.
Zoltan Varga [Sun, 24 Nov 2013 19:56:32 +0000 (20:56 +0100)]
[amd64] Simplify the push/pop LMF code a bit more.
Zoltan Varga [Sun, 24 Nov 2013 19:41:42 +0000 (20:41 +0100)]
Fix a warning.
Zoltan Varga [Sun, 24 Nov 2013 18:35:00 +0000 (13:35 -0500)]
Fix a warning.
Zoltan Varga [Sun, 24 Nov 2013 18:33:48 +0000 (13:33 -0500)]
[amd64] Use the IR based push/pop LMF code on all platforms except windows.
Marek Safar [Sun, 24 Nov 2013 13:13:48 +0000 (14:13 +0100)]
[mcs] Dynamically calculate size of flow-analysis bitset. Fixes #4210
Master T [Sun, 24 Nov 2013 09:27:06 +0000 (10:27 +0100)]
socket-io: pass MulticastOption InterfaceIndex into ip_mreqn imr_ifindex
Master T [Sun, 24 Nov 2013 09:23:36 +0000 (10:23 +0100)]
socket-io: make it possible to specify an interface index as a MulticastInterface SocketOption on linux.
On windows, a value to IP_MULTICAST_IF with a most significant byte of zero is interpreted as an interface index instead of an ip address.
This makes it possible to set the interface index from .NET as follows:
socket.SetSocketOption(SocketOptionLevel.IP,
SocketOptionName.MulticastInterface, IPAddress.HostToNetworkOrder(ifindex));
For this to work on other platforms, we need to detect this case and handle it with an ip_mreqn struct.
Jeffrey Stedfast [Sat, 23 Nov 2013 20:56:42 +0000 (15:56 -0500)]
[Mono.Data.Sqlite] Fixed for Windows .NET 4.0
Thanks to Joe for the patch.
Fixes bug #2148
Zoltan Varga [Sat, 23 Nov 2013 19:01:07 +0000 (20:01 +0100)]
[sgen] Add minimal mingw64 support.
Zoltan Varga [Sat, 23 Nov 2013 16:50:28 +0000 (17:50 +0100)]
Disable a corlib test which hangs on windows.
Alex Rønne Petersen [Sat, 23 Nov 2013 17:26:55 +0000 (18:26 +0100)]
Fix the encoding of x86_imul_reg_mem_imm.
Jérémie Laval [Fri, 22 Nov 2013 21:35:42 +0000 (13:35 -0800)]
Merge pull request #811 from criteo/16334-ConcurrentBag
[Bug 16334] Fix ConcurrentBag.TryTake and TryPeek
Maxime Brugidou [Fri, 22 Nov 2013 14:33:26 +0000 (15:33 +0100)]
Add Unit tests
Marek Safar [Thu, 21 Nov 2013 20:06:20 +0000 (21:06 +0100)]
[mcs] Flow analysis of conditional expression
Marek Safar [Thu, 21 Nov 2013 20:05:14 +0000 (21:05 +0100)]
Update failing tests
Zoltan Varga [Thu, 21 Nov 2013 15:32:26 +0000 (16:32 +0100)]
[jit] Implement the optimized variant of the push/pop LMF code on amd64.
Zoltan Varga [Thu, 21 Nov 2013 15:31:08 +0000 (16:31 +0100)]
[jit] Fix the optimized variant of push/pop LMF code.
Marek Safar [Thu, 21 Nov 2013 14:06:15 +0000 (15:06 +0100)]
Add more tests
Marek Safar [Thu, 21 Nov 2013 13:59:32 +0000 (14:59 +0100)]
[mcs] Better error message for expected return expression in async Task<T> block
Marek Safar [Thu, 21 Nov 2013 13:41:58 +0000 (14:41 +0100)]
[mcs] Reachability and flow analysis rewrite to work on resolved statements and expressions
Zoltan Varga [Thu, 21 Nov 2013 10:47:41 +0000 (11:47 +0100)]
[jit] Emit the push/pop LMF code as IR on amd64.
Zoltan Varga [Thu, 21 Nov 2013 10:47:04 +0000 (11:47 +0100)]
[jit] Avoid pushing the lmf in inlined methods. Allow the variable holding the lmf address to be allocated to a global register.
Miguel de Icaza [Wed, 20 Nov 2013 18:00:03 +0000 (10:00 -0800)]
Merge pull request #780 from miniBill/master
Fix off-by-one error in ArraySegment
Miguel de Icaza [Wed, 20 Nov 2013 17:34:34 +0000 (09:34 -0800)]
Merge pull request #814 from ranma42/fix-monop
[monop] Fix handling of private and filter-obsolete flags when rendering...
Miguel de Icaza [Wed, 20 Nov 2013 17:34:07 +0000 (09:34 -0800)]
Merge pull request #802 from alistair/universaltime_at_boundary_end
TimeZone.GetUtcOffset daylight savings improvements
Andrea Canciani [Wed, 20 Nov 2013 16:39:03 +0000 (17:39 +0100)]
[monop] Fix handling of private and filter-obsolete flags when rendering all types
They were simply swapped.
Alex Rønne Petersen [Wed, 20 Nov 2013 05:03:07 +0000 (21:03 -0800)]
Merge pull request #807 from akoeplinger/fix-fonttest
Fixed a test failure that occurs when the specified font is not installed
Alex Rønne Petersen [Wed, 20 Nov 2013 05:02:33 +0000 (21:02 -0800)]
Merge pull request #810 from criteo/16267-SemaphoreSlim
[Bug 16267] SemaphoreSlim.Wait fix when no timeout
Alex Rønne Petersen [Wed, 20 Nov 2013 04:58:11 +0000 (20:58 -0800)]
Merge pull request #813 from ColdPie1/mingw64fix
Check for __readfsdword at configure-time
Rodrigo Kumpera [Tue, 19 Nov 2013 21:35:03 +0000 (16:35 -0500)]
Bump mono to 3.2.7.
Andrew Eikum [Wed, 13 Nov 2013 19:24:46 +0000 (13:24 -0600)]
Check for __readfsdword at configure-time
Recent versions of mingw-w64 have moved this definition to a header
included by this file, so checking simply for GCC would cause a multiple
definition error. We should instead check for this function's
availability at configure-time.
These changes are released under MIT/X11 license.
Andrew Eikum [Tue, 19 Nov 2013 19:03:31 +0000 (13:03 -0600)]
Replace underscores with hyphens when reading system locale
The locale descriptions in
<mono/metadata/culture-info-tables.h:culture_name_entries> use 'xx-yy'
format, where most current systems use 'xx_YY', including Mono itself in
<eglib/src/gmisc-win32.c:g_win32_getlocale>. In normalizing the system
locale for comparison, we should switch any underscores for dashes.
Mono used to do this, but commit
be532638f5e2160272ccf32e7a39ba7b2301a65b removed this behavior, which
causes System.Globalization.CultureInfo.CurrentCultureInfo to always
point to the invariant culture on systems with LANG similar to xx_YY.
These changes are released under MIT/X11 license.
Miguel de Icaza [Tue, 19 Nov 2013 18:54:44 +0000 (13:54 -0500)]
Update for coverity
Miguel de Icaza [Tue, 19 Nov 2013 18:53:59 +0000 (13:53 -0500)]
List maintainer, for scan.coverity.com
Zoltan Varga [Tue, 19 Nov 2013 16:14:32 +0000 (17:14 +0100)]
[sdb] Move the setup of the sdb invoke LMF structure to an arch-specific function mono_arch_init_lmf_ext ().
Zoltan Varga [Tue, 19 Nov 2013 15:21:00 +0000 (16:21 +0100)]
[amd64] Instead of saving callee saved registers in the LMF in trampoline frames, save a pointer to the register array inside the trampoline frame.
Rodrigo Kumpera [Tue, 19 Nov 2013 15:51:06 +0000 (10:51 -0500)]
[bcl]CultureInfo.DefaultThreadCurrentUICulture has now been implemented. Remove [MonoTODO]
Zoltan Varga [Tue, 19 Nov 2013 14:24:46 +0000 (15:24 +0100)]
[amd64] Remove the unused 'method' field from MonoLMF.
Sebastien Pouliot [Tue, 19 Nov 2013 13:41:33 +0000 (08:41 -0500)]
[linker] Allow overriding MarkCustomAttribute and expose the MarkDefaultConstructor feature to subclasses
Maxime Brugidou [Tue, 19 Nov 2013 12:55:03 +0000 (13:55 +0100)]
ConcurrentBag staging could become empty
after all items have been removed from a bag, the staging dictionary
is cleaned up but never filled again.
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.
Maxime Brugidou [Tue, 19 Nov 2013 10:09:35 +0000 (11:09 +0100)]
[Bug 16334] Fix ConcurrentBag.TryTake and TryPeek
Should return false if no result in all cases
see https://bugzilla.xamarin.com/show_bug.cgi?id=16334
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.