Alex Rønne Petersen [Wed, 23 Oct 2013 21:10:16 +0000 (23:10 +0200)]
Fix mono_gc_wbarrier_generic_store_atomic semantics.
It should ensure that stores are fully atomic with barriers.
Alex Rønne Petersen [Wed, 23 Oct 2013 21:05:36 +0000 (23:05 +0200)]
Fix the semantics for System.Threading.Volatile methods.
This is a bit tricky. The System.Threading.Thread.Volatile* methods
don't actually guarantee atomicity; all they guarantee is that the
runtime will insert acquire barriers for loads and release barriers
for stores. The methods in the System.Threading.Volatile class,
however, require both barriers *and* atomicity.
So, we need an entirely separate set of icalls for the Volatile
class in order to get the right semantics there.
These APIs are insane.
Alex Rønne Petersen [Wed, 23 Oct 2013 20:24:53 +0000 (22:24 +0200)]
Add Interlocked{Read,Write}{8,16,Pointer} functions.
Alex Rønne Petersen [Wed, 23 Oct 2013 22:01:46 +0000 (15:01 -0700)]
Merge pull request #787 from directhex/master
Don't redeclare desc in mini_create_ftnptr on ppc64
Jo Shields [Wed, 23 Oct 2013 21:58:41 +0000 (22:58 +0100)]
Don't redeclare desc in mini_create_ftnptr on ppc64
Sebastien Pouliot [Wed, 23 Oct 2013 21:42:48 +0000 (14:42 -0700)]
Merge pull request #786 from xplicit/master
fix DivideByZeroException in Random.Next()
Rolf Bjarne Kvinge [Tue, 22 Oct 2013 21:59:28 +0000 (23:59 +0200)]
Provide more public API to inspect MonoTypes, MonoClasses and MonoMethodSignatures.
xplicit [Wed, 23 Oct 2013 20:30:08 +0000 (03:30 +0700)]
fix DivideByZeroException in Random.Next()
Zoltan Varga [Wed, 23 Oct 2013 19:18:45 +0000 (21:18 +0200)]
[runtime] Fix a warning.
Zoltan Varga [Wed, 23 Oct 2013 19:18:36 +0000 (21:18 +0200)]
[runtime] Fix the windows build.
Alex Rønne Petersen [Wed, 23 Oct 2013 17:46:47 +0000 (19:46 +0200)]
Add more missing atomic functions for MinGW.
Alex Rønne Petersen [Wed, 23 Oct 2013 14:47:54 +0000 (16:47 +0200)]
Add separate icall for System.Threading.VolatileRead (object&).
Previously, the icall that was used for the IntPtr overload was
used for this overload as well. Having a separate icall is less
error-prone for future modification as the two types are no longer
conflated.
Zoltan Varga [Wed, 23 Oct 2013 15:46:18 +0000 (17:46 +0200)]
[runtime] Fix the DISABLE_JIT build on ARM.
Alex Rønne Petersen [Wed, 23 Oct 2013 13:04:39 +0000 (15:04 +0200)]
Add InterlockedExchange64 () based on GCC intrinsics for MinGW.
As with InterlockedCompareExchange64, MinGW appears to lack this
one from its Windows headers.
Sebastien Pouliot [Wed, 23 Oct 2013 12:22:25 +0000 (08:22 -0400)]
Disable ClientWebSocketTest.cs (for mobile) until the type itself is added to the mobile profile (i.e. added to mobile_System.dll.sources). Fix building/running System.dll unit tests
Marek Safar [Wed, 23 Oct 2013 07:17:22 +0000 (00:17 -0700)]
Merge pull request #784 from alesliehughes/master
Support for ManagementQuery and ObjectQuery classes
Alistair Leslie-Hughes [Mon, 26 Aug 2013 01:57:54 +0000 (11:57 +1000)]
Implement ObjectQuery
Alistair Leslie-Hughes [Mon, 26 Aug 2013 01:47:09 +0000 (11:47 +1000)]
Implement ManagementQuery QueryString
Alistair Leslie-Hughes [Mon, 26 Aug 2013 01:46:04 +0000 (11:46 +1000)]
Implement ManagementQuery QueryLanguage
Alex Rønne Petersen [Tue, 22 Oct 2013 21:09:14 +0000 (23:09 +0200)]
Use THREAD_INFO_TYPE consistently in mono-threads.h.
Zoltan Varga [Tue, 22 Oct 2013 17:43:52 +0000 (19:43 +0200)]
[runtime] Add a missing TLS key for LMF addr.
Rodrigo Kumpera [Tue, 22 Oct 2013 17:12:05 +0000 (13:12 -0400)]
Fix this test to work on 2.0.
Zoltan Varga [Tue, 22 Oct 2013 13:11:44 +0000 (15:11 +0200)]
[runtime] Fix the interlocked increment/decrement/add functions.
Zoltan Varga [Tue, 22 Oct 2013 12:35:42 +0000 (14:35 +0200)]
[runtime] Centralize the processing of MonoTrampInfo structures into the mono_tramp_info_register () function, to reduce code duplication.
Zoltan Varga [Tue, 22 Oct 2013 12:12:38 +0000 (14:12 +0200)]
[runtime] Use mono_restore_context () to reduce code duplication in the back ends.
Zoltan Varga [Tue, 22 Oct 2013 12:05:43 +0000 (14:05 +0200)]
[runtime] Use mini_exception_id_by_name () on ARM.
Zoltan Varga [Tue, 22 Oct 2013 12:04:50 +0000 (14:04 +0200)]
[runtime] Use mini_get_nullified_class_init_trampoline () to reduce code duplication in the back ends.
Zoltan Varga [Tue, 22 Oct 2013 11:33:41 +0000 (07:33 -0400)]
[runtime] Add a mini_get_nullified_class_init_trampoline () helper function.
Zoltan Varga [Tue, 22 Oct 2013 11:31:26 +0000 (07:31 -0400)]
[runtime] Fix gsharedvt support in mono_helper_compile_generic_method ().
Zoltan Varga [Tue, 22 Oct 2013 11:28:56 +0000 (07:28 -0400)]
[runtime] Add a mono_restore_context () helper function.
Zoltan Varga [Tue, 22 Oct 2013 11:27:35 +0000 (07:27 -0400)]
[runtime] Avoid crashing in mini_jit_info_table_find () if the current thread is not set.
Zoltan Varga [Tue, 22 Oct 2013 11:26:01 +0000 (07:26 -0400)]
[jit] Add a mini_exception_id_by_name () helper function.
Zoltan Varga [Tue, 22 Oct 2013 11:22:59 +0000 (07:22 -0400)]
[jit] Add a MONO_TRAMPOLINE_TYPE_HAS_ARG macro which determines whenever a given trampoline type receives its argument directly in a register.
Zoltan Varga [Tue, 22 Oct 2013 11:21:37 +0000 (07:21 -0400)]
[jit] Add a 'relocation' field to MonoJumpInfo which contains an architecture specific relocation constant so mono_arm_patch_code () doesn't have to decompile the patch site to determine the type of patching to do.
Zoltan Varga [Tue, 22 Oct 2013 11:18:28 +0000 (07:18 -0400)]
[jit] Add a 'call_info' field to MonoCallInst so the OP_CALL_... opcodes have access to the calling convention information computed in mono_arch_emit_call ().
Zoltan Varga [Tue, 22 Oct 2013 11:16:02 +0000 (07:16 -0400)]
runtime] Print unwind information in the JIT debug output.
Zoltan Varga [Tue, 22 Oct 2013 11:14:39 +0000 (07:14 -0400)]
[jit] Add a MONO_ARCH_EMULATE_LONG_MUL_OVF_OPTS define for architectures which have mul but not mul.ovf opcodes.
Zoltan Varga [Tue, 22 Oct 2013 10:51:14 +0000 (06:51 -0400)]
[runtime] Make --regression work when a domain is not yet setup during porting.
Zoltan Varga [Tue, 22 Oct 2013 10:47:58 +0000 (06:47 -0400)]
[sdb] Fix support of vtypes passed by ref.
Zoltan Varga [Tue, 22 Oct 2013 10:45:43 +0000 (06:45 -0400)]
[runtime] Avoid running tests using AC_TRY_RUN () when cross-compiling.
Zoltan Varga [Mon, 21 Oct 2013 22:25:15 +0000 (18:25 -0400)]
[runtime] Use a cache in mono_create_rgctx_lazy_fetch_trampoline () in the full-aot case as well.
Zoltan Varga [Tue, 22 Oct 2013 06:37:52 +0000 (08:37 +0200)]
[sdb] Add an IncludeSubclasses property to ExceptionEventRequest, to control whenever to include subclasses of the exception type. Fixes #15541
Sebastien Pouliot [Mon, 21 Oct 2013 21:19:26 +0000 (14:19 -0700)]
Merge pull request #730 from LogosBible/locale-changes
Improving the retrieval of the user's locale on Apple systems.
Sebastien Pouliot [Mon, 21 Oct 2013 21:15:36 +0000 (17:15 -0400)]
Fix condition (for MOBILE) that excluded System.Xml.Schema/Extensions.cs. Removed the condition since every profile we now support includes this [#15552]
Jeffrey Stedfast [Mon, 21 Oct 2013 21:14:31 +0000 (17:14 -0400)]
Fixed a some compiler warnings
Alex Rønne Petersen [Mon, 21 Oct 2013 21:10:44 +0000 (23:10 +0200)]
Add comment explaining the TARGET_OSX oddity in atomic.c.
Alex Rønne Petersen [Mon, 21 Oct 2013 19:33:59 +0000 (21:33 +0200)]
Add a couple of casts to scan_thread_data () to shut GCC up.
This would result in the following warnings on e.g. PowerPC:
sgen-gc.c: In function 'scan_thread_data':
sgen-gc.c:4045:6: warning: passing argument 1 of 'conservatively_pin_objects_from' from incompatible pointer type [enabled by default]
sgen-gc.c:1467:1: note: expected 'void **' but argument is of type 'void * (*)[32]'
sgen-gc.c:4045:6: warning: passing argument 2 of 'conservatively_pin_objects_from' from incompatible pointer type [enabled by default]
sgen-gc.c:1467:1: note: expected 'void **' but argument is of type 'void * (*)[32]'
Rodrigo Kumpera [Mon, 21 Oct 2013 19:25:46 +0000 (15:25 -0400)]
Bump mono to 3.2.5
Rodrigo Kumpera [Mon, 21 Oct 2013 19:22:47 +0000 (15:22 -0400)]
[mkbundle] New mkbundle options for better handling integration with native libs.
New --skip-scan flag allow us to handle resource assemblies as opaque data.
New --static-ctor flag allows us to better interop with weird C libraries requirements.
Miguel de Icaza [Mon, 21 Oct 2013 18:28:04 +0000 (11:28 -0700)]
Merge pull request #717 from mono/client_websockets_impl
Add implementation of ClientWebSocket
Alex Rønne Petersen [Mon, 21 Oct 2013 18:21:06 +0000 (11:21 -0700)]
Merge pull request #268 from pcc/menudeactivate
Cause MenuDeactivate event to be delivered when appropriate
Alex Rønne Petersen [Mon, 21 Oct 2013 18:19:47 +0000 (11:19 -0700)]
Merge pull request #260 from pcc/topmost
X11: improve handling of WS_EX_TOPMOST
Michael Hutchinson [Mon, 21 Oct 2013 18:09:23 +0000 (11:09 -0700)]
Merge pull request #565 from rneatherway/master
This is a possible fix for finding xml documentation files
Alex Rønne Petersen [Mon, 21 Oct 2013 17:00:26 +0000 (10:00 -0700)]
Merge pull request #587 from madewokherd/gdipdllmap
Ignore the gdiplus dllmap on Windows.
Alex Rønne Petersen [Mon, 21 Oct 2013 16:17:10 +0000 (18:17 +0200)]
Remove commented-out irix path from configure.in.
Alex Rønne Petersen [Mon, 21 Oct 2013 15:53:28 +0000 (17:53 +0200)]
Add mono_gc_wbarrier_generic_store_atomic () function.
This is used in place of mono_gc_wbarrier_generic_store () when
we need the store to be atomic with release semantics.
Alex Rønne Petersen [Fri, 18 Oct 2013 00:29:02 +0000 (02:29 +0200)]
Add an extension point in atomic.c.
Alex Rønne Petersen [Fri, 18 Oct 2013 00:26:58 +0000 (02:26 +0200)]
Use slow 64-bit cmpxchg for 32-bit ARM, MIPS, and PowerPC.
GCC doesn't provide a 64-bit __sync_val_compare_and_swap intrinsic
for these architectures.
Alex Rønne Petersen [Fri, 6 Sep 2013 02:16:21 +0000 (04:16 +0200)]
Correct our implementation of Thread.VolatileRead ()/VolatileWrite ().
We have various issues:
* All of the functions assumed that doing volatile loads/stores was
enough, when load-acquire, store-release semantics were actually
needed. This may have worked before purely by chance. We now use
proper memory barriers so that we don't have to hope for the
compiler and CPU to do the right thing.
* Removes the hack for 64-bit quantities on 32-bit systems. This is
no longer needed now that we use explicit memory barriers in
these functions. Also, these functions are not supposed to do
atomic reads/writes in the first place - they're purely about the
memory barrier semantics.
* The VolatileWrite (object&, object) overload was not using the
volatile qualifier at all, thus not getting volatile semantics
as per: http://gcc.gnu.org/onlinedocs/gcc/Volatiles.html
Alex Rønne Petersen [Wed, 25 Sep 2013 18:31:18 +0000 (20:31 +0200)]
Use InterlockedAdd64 () for Interlocked.Add (long&, long).
Alex Rønne Petersen [Wed, 25 Sep 2013 18:31:06 +0000 (20:31 +0200)]
Use InterlockedAdd () for Interlocked.Add (int&, int).
Alex Rønne Petersen [Wed, 25 Sep 2013 18:23:36 +0000 (20:23 +0200)]
Use InterlockedExchange64 () for Interlocked.Exchange (double&, double).
Alex Rønne Petersen [Wed, 25 Sep 2013 18:22:36 +0000 (20:22 +0200)]
Use InterlockedExchange64 () for Interlocked.Exchange (long&, long).
Alex Rønne Petersen [Wed, 25 Sep 2013 18:20:53 +0000 (20:20 +0200)]
Use InterlockedDecrement64 () for Interlocked.Decrement (long&).
Alex Rønne Petersen [Wed, 25 Sep 2013 18:20:20 +0000 (20:20 +0200)]
Use InterlockedIncrement64 () for Interlocked.Increment (long&).
Alex Rønne Petersen [Wed, 25 Sep 2013 18:19:18 +0000 (20:19 +0200)]
Use InterlockedRead64 () for Interlocked.Read (long&).
Alex Rønne Petersen [Wed, 25 Sep 2013 18:13:37 +0000 (20:13 +0200)]
Use __sync_sub_and_fetch () for atomic decrements for clarity.
Alex Rønne Petersen [Wed, 25 Sep 2013 18:00:46 +0000 (20:00 +0200)]
Move definition of NEED_64BIT_CMPXCHG_FALLBACK to top of atomic.c.
Alex Rønne Petersen [Wed, 25 Sep 2013 17:59:37 +0000 (19:59 +0200)]
Add interlocked read/write functions to atomic.c/.h.
These are guaranteed to have sequential consistency regardless
of the bitness of the machine they run on.
Alex Rønne Petersen [Wed, 25 Sep 2013 17:26:24 +0000 (19:26 +0200)]
Add implementations of various interlocked functions to atomic.c/.h.
Mainly 64-bit variants, but also InterlockedAdd ().
Alex Rønne Petersen [Wed, 25 Sep 2013 17:06:24 +0000 (19:06 +0200)]
Use mono_memory_barrier () for Thread.MemoryBarrier ().
This gets rid of the rather hacky lock-based barrier.
Alex Rønne Petersen [Wed, 25 Sep 2013 17:03:40 +0000 (19:03 +0200)]
Kill the Cygwin hack in mono-membar.h.
We only support GCC 4.x in Cygwin now.
Alex Rønne Petersen [Wed, 25 Sep 2013 17:00:57 +0000 (19:00 +0200)]
Remove MONO_ARCH_SAVE_REGS from threading icalls.
Alex Rønne Petersen [Tue, 24 Sep 2013 15:27:01 +0000 (17:27 +0200)]
Use GCC atomics on s390x.
Alex Rønne Petersen [Tue, 24 Sep 2013 15:20:13 +0000 (17:20 +0200)]
Remove unneeded ARM code from atomic.c.
Alex Rønne Petersen [Tue, 24 Sep 2013 15:16:17 +0000 (17:16 +0200)]
Use host preprocessor identifiers in atomic.c, not target.
Here we care about the system we run on, not the kind of
system that Mono is built to compile for.
Alex Rønne Petersen [Tue, 24 Sep 2013 15:14:55 +0000 (17:14 +0200)]
Simplify the ifdeffery in atomic.c/.h a bit.
Alex Rønne Petersen [Tue, 24 Sep 2013 14:59:11 +0000 (16:59 +0200)]
Remove unneeded NetBSD code path from atomic.h.
Marek Safar [Sat, 19 Oct 2013 15:34:26 +0000 (08:34 -0700)]
Merge pull request #783 from alistair/timezoneinfo_fix_for__convert_utc_to_local
Bug 15373: Return Local DateTime instead of Unspecified for >net_4_0
Alistair Bush [Sat, 19 Oct 2013 10:41:17 +0000 (23:41 +1300)]
Return Local DateTime instead of Unspecified for >net_4_0
Mark Probst [Fri, 18 Oct 2013 19:46:11 +0000 (12:46 -0700)]
[runtime] JIT debugging option to optimize only single methods.
The --single-method option run regression tests from an assembly, like
--regression. Instead of going through a list of optimizations,
however, it takes one optimization combination, runs all tests with
all optimizations turned off, while gathering a list of which methods
were jitted. Then, for each jitted method, it runs all tests again,
with the optimizations applied to only that one method, stopping as
soon as a test fails. Example:
mono --single-method=branch,peephole basic-float.exe
Zoltan Varga [Fri, 18 Oct 2013 20:23:54 +0000 (22:23 +0200)]
Disable a corlib test assertion which is no longer true.
Rodrigo Kumpera [Fri, 18 Oct 2013 18:09:11 +0000 (11:09 -0700)]
Merge pull request #768 from madewokherd/gcnotdll
Define GC_NOT_DLL for included boehm on win32.
Zoltan Varga [Fri, 18 Oct 2013 17:28:39 +0000 (19:28 +0200)]
[sgen] Set the TLS key offsets in one place in create_allocator ().
Zoltan Varga [Fri, 18 Oct 2013 17:25:09 +0000 (19:25 +0200)]
[aot] Add the JIT icall wrappers later, so it can pick up the JIT icalls registered by the managed allocators.
Zoltan Varga [Fri, 18 Oct 2013 16:32:28 +0000 (18:32 +0200)]
[runtime] Fix the build.
Zoltan Varga [Fri, 18 Oct 2013 16:14:25 +0000 (18:14 +0200)]
[runtime] Really fix the build.
Zoltan Varga [Fri, 18 Oct 2013 16:10:30 +0000 (18:10 +0200)]
[runtime] Fix the build.
Zoltan Varga [Fri, 18 Oct 2013 16:01:44 +0000 (18:01 +0200)]
[runtime] Add a missing file.
Zoltan Varga [Fri, 18 Oct 2013 15:54:01 +0000 (17:54 +0200)]
[runtime] Clean up the usage of the CEE_MONO_TLS opcode in wrappers. Instead of passing it the tls offset, pass one of the TLS_KEY_ constants defined in mono-tls.h, and resolve the offset in the JIT. This allows these wrappers to work with AOT.
Zoltan Varga [Fri, 18 Oct 2013 09:22:32 +0000 (02:22 -0700)]
Merge pull request #781 from directhex/master
SPARC build fixes
Jo Shields [Fri, 18 Oct 2013 08:36:00 +0000 (09:36 +0100)]
Define REG_SP on SPARC in sgen-archdep.h, if needed.
This definition is stolen from exceptions-sparc.c
Jonathan Lima [Thu, 26 Sep 2013 16:56:16 +0000 (13:56 -0300)]
Fix MSVC build.
Jo Shields [Fri, 18 Oct 2013 08:07:52 +0000 (09:07 +0100)]
Add missing ; characters to mono-hwcap-sparc.c. Fixes build failure.
Atsushi Eno [Fri, 18 Oct 2013 07:52:08 +0000 (00:52 -0700)]
Merge pull request #762 from echampet/wsdl
[FIX] Bug 267: wsdl fails with "Argument is out of range."
Atsushi Eno [Fri, 18 Oct 2013 07:49:51 +0000 (00:49 -0700)]
Merge pull request #766 from remobjects/resx-delete-on-clean
When generating resources, it intends to add the .resources file to the ...
Atsushi Eno [Fri, 18 Oct 2013 07:48:26 +0000 (00:48 -0700)]
Merge pull request #767 from ovatsus/Bug14922
Fix for #14922
Zoltan Varga [Thu, 17 Oct 2013 09:53:17 +0000 (11:53 +0200)]
Fill out AssemblyName.ProcessorArchitecture for assemblies. Fixes #15347.
Marek Safar [Wed, 16 Oct 2013 18:21:18 +0000 (20:21 +0200)]
Better check for open generic types in probing expression. Fixes #15422
Marek Safar [Wed, 16 Oct 2013 17:17:25 +0000 (19:17 +0200)]
Fixes too early optimization of binary &&/& bool constants. Fixes part of #15392