Alex Rønne Petersen [Sat, 26 Oct 2013 23:15:00 +0000 (01:15 +0200)]
Ignore .dirstamp files.
Alex Rønne Petersen [Sat, 26 Oct 2013 22:52:09 +0000 (00:52 +0200)]
Don't assert in Interlocked.Add () icalls on 64-bit systems.
The checks here were wrong in the first place; they should have
checked for MONO_ARCH_HAVE_ATOMIC_ADD rather than SIZEOF_VOID_P.
But regardless, these methods need to work when invoked via
reflection, which they wouldn't previously.
Alex Rønne Petersen [Sat, 26 Oct 2013 19:34:42 +0000 (21:34 +0200)]
Define WIN32_LEAN_AND_MEAN before including windows.h.
Marek Safar [Sat, 26 Oct 2013 07:11:19 +0000 (00:11 -0700)]
Merge pull request #790 from akoeplinger/fixtests
Fixed a test issue where net45 methods were used in net40 profile
Alex Rønne Petersen [Sat, 26 Oct 2013 03:07:54 +0000 (05:07 +0200)]
Remove dead s390(x) code from mono-membar.h.
Alex Rønne Petersen [Sat, 26 Oct 2013 03:07:08 +0000 (05:07 +0200)]
Enable GCC atomics on sparc32/64.
Alex Rønne Petersen [Fri, 25 Oct 2013 21:31:54 +0000 (23:31 +0200)]
Correct VFP detection in mono-hwcap-arm.
This is supposed to be the value 64, not 100.
Rodrigo Kumpera [Fri, 25 Oct 2013 19:49:10 +0000 (15:49 -0400)]
[runtime]Add a wrapper around signal handlers to ease porting work.
Alexander Köplinger [Tue, 22 Oct 2013 17:38:40 +0000 (19:38 +0200)]
Fixed a test issue where net45 methods were used in net40 profile
Alex Rønne Petersen [Fri, 25 Oct 2013 16:20:44 +0000 (18:20 +0200)]
Add LLDB support to mono_gdb_render_native_backtraces () on POSIX.
Rodrigo Kumpera [Fri, 25 Oct 2013 15:41:08 +0000 (11:41 -0400)]
[runtime] Improve the docs on reference queues a bit.
Rodrigo Kumpera [Fri, 25 Oct 2013 15:40:51 +0000 (11:40 -0400)]
[runtime] Promote the reference queue API to the public.
Martin Baulig [Fri, 25 Oct 2013 13:15:18 +0000 (15:15 +0200)]
[linker]: Also reference all type-references for LinkAction.Link and Save.
Marek Safar [Fri, 25 Oct 2013 10:25:49 +0000 (12:25 +0200)]
Tests update
Marek Safar [Fri, 25 Oct 2013 08:41:41 +0000 (10:41 +0200)]
When looking for base implementation of generic MVAR methods use non-inflated parameter types. Fixes #15523
Marek Safar [Fri, 25 Oct 2013 08:40:44 +0000 (10:40 +0200)]
Add new tests
Zoltan Varga [Thu, 24 Oct 2013 20:47:45 +0000 (22:47 +0200)]
[runtime] Fix the windows build.
Zoltan Varga [Thu, 24 Oct 2013 17:37:03 +0000 (19:37 +0200)]
[runtime] Fix the sparc build.
Alex Rønne Petersen [Thu, 24 Oct 2013 15:19:56 +0000 (17:19 +0200)]
Prefix internal variables with `mono_`.
Rolf Bjarne Kvinge [Thu, 24 Oct 2013 13:11:43 +0000 (15:11 +0200)]
Add OrderedDictionary to the mobile profile.
Requested in support case #49635.
Rolf Bjarne Kvinge [Thu, 24 Oct 2013 13:24:32 +0000 (15:24 +0200)]
Move mono_get_optimizations_for_method to mini.c, since driver.c is only included in binaries, not libraries.
Zoltan Varga [Wed, 23 Oct 2013 20:04:33 +0000 (22:04 +0200)]
Add a --with-llvm=<llvm prefix> argument to configure to make the location of llvm-config explicit, instead of reading it from the PATH, which might be different on a reconfigure.
Rodrigo Kumpera [Wed, 23 Oct 2013 22:06:55 +0000 (18:06 -0400)]
[runtime]Properly calculate the bitmap of valuetype [ThreadStatic] variables.
We must account that a valuetype field offset is relative to a boxed instance
and TLS memory stores a valuetype unboxed.
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.