mono.git
10 years agoIgnore .dirstamp files.
Alex Rønne Petersen [Sat, 26 Oct 2013 23:15:00 +0000 (01:15 +0200)]
Ignore .dirstamp files.

10 years agoDon't assert in Interlocked.Add () icalls on 64-bit systems.
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.

10 years agoDefine WIN32_LEAN_AND_MEAN before including windows.h.
Alex Rønne Petersen [Sat, 26 Oct 2013 19:34:42 +0000 (21:34 +0200)]
Define WIN32_LEAN_AND_MEAN before including windows.h.

10 years agoMerge pull request #790 from akoeplinger/fixtests
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

10 years agoRemove dead s390(x) code from mono-membar.h.
Alex Rønne Petersen [Sat, 26 Oct 2013 03:07:54 +0000 (05:07 +0200)]
Remove dead s390(x) code from mono-membar.h.

10 years agoEnable GCC atomics on sparc32/64.
Alex Rønne Petersen [Sat, 26 Oct 2013 03:07:08 +0000 (05:07 +0200)]
Enable GCC atomics on sparc32/64.

10 years agoCorrect VFP detection in mono-hwcap-arm.
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.

10 years ago[runtime]Add a wrapper around signal handlers to ease porting work.
Rodrigo Kumpera [Fri, 25 Oct 2013 19:49:10 +0000 (15:49 -0400)]
[runtime]Add a wrapper around signal handlers to ease porting work.

10 years agoFixed a test issue where net45 methods were used in net40 profile
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

10 years agoAdd LLDB support to mono_gdb_render_native_backtraces () on POSIX.
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.

10 years ago[runtime] Improve the docs on reference queues a bit.
Rodrigo Kumpera [Fri, 25 Oct 2013 15:41:08 +0000 (11:41 -0400)]
[runtime] Improve the docs on reference queues a bit.

10 years ago[runtime] Promote the reference queue API to the public.
Rodrigo Kumpera [Fri, 25 Oct 2013 15:40:51 +0000 (11:40 -0400)]
[runtime] Promote the reference queue API to the public.

10 years ago[linker]: Also reference all type-references for LinkAction.Link and Save.
Martin Baulig [Fri, 25 Oct 2013 13:15:18 +0000 (15:15 +0200)]
[linker]: Also reference all type-references for LinkAction.Link and Save.

10 years agoTests update
Marek Safar [Fri, 25 Oct 2013 10:25:49 +0000 (12:25 +0200)]
Tests update

10 years agoWhen looking for base implementation of generic MVAR methods use non-inflated paramet...
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

10 years agoAdd new tests
Marek Safar [Fri, 25 Oct 2013 08:40:44 +0000 (10:40 +0200)]
Add new tests

10 years ago[runtime] Fix the windows build.
Zoltan Varga [Thu, 24 Oct 2013 20:47:45 +0000 (22:47 +0200)]
[runtime] Fix the windows build.

10 years ago[runtime] Fix the sparc build.
Zoltan Varga [Thu, 24 Oct 2013 17:37:03 +0000 (19:37 +0200)]
[runtime] Fix the sparc build.

10 years agoPrefix internal variables with `mono_`.
Alex Rønne Petersen [Thu, 24 Oct 2013 15:19:56 +0000 (17:19 +0200)]
Prefix internal variables with `mono_`.

10 years agoAdd OrderedDictionary to the mobile profile.
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.

10 years agoMove mono_get_optimizations_for_method to mini.c, since driver.c is only included...
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.

10 years agoAdd a --with-llvm=<llvm prefix> argument to configure to make the location of llvm...
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.

10 years ago[runtime]Properly calculate the bitmap of valuetype [ThreadStatic] variables.
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.

10 years agoFix mono_gc_wbarrier_generic_store_atomic semantics.
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.

10 years agoFix the semantics for System.Threading.Volatile methods.
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.

10 years agoAdd Interlocked{Read,Write}{8,16,Pointer} functions.
Alex Rønne Petersen [Wed, 23 Oct 2013 20:24:53 +0000 (22:24 +0200)]
Add Interlocked{Read,Write}{8,16,Pointer} functions.

10 years agoMerge pull request #787 from directhex/master
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

10 years agoDon'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

10 years agoMerge pull request #786 from xplicit/master
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()

10 years agoProvide more public API to inspect MonoTypes, MonoClasses and MonoMethodSignatures.
Rolf Bjarne Kvinge [Tue, 22 Oct 2013 21:59:28 +0000 (23:59 +0200)]
Provide more public API to inspect MonoTypes, MonoClasses and MonoMethodSignatures.

10 years agofix DivideByZeroException in Random.Next()
xplicit [Wed, 23 Oct 2013 20:30:08 +0000 (03:30 +0700)]
fix DivideByZeroException in Random.Next()

10 years ago[runtime] Fix a warning.
Zoltan Varga [Wed, 23 Oct 2013 19:18:45 +0000 (21:18 +0200)]
[runtime] Fix a warning.

10 years ago[runtime] Fix the windows build.
Zoltan Varga [Wed, 23 Oct 2013 19:18:36 +0000 (21:18 +0200)]
[runtime] Fix the windows build.

10 years agoAdd more missing atomic functions for MinGW.
Alex Rønne Petersen [Wed, 23 Oct 2013 17:46:47 +0000 (19:46 +0200)]
Add more missing atomic functions for MinGW.

10 years agoAdd separate icall for System.Threading.VolatileRead (object&).
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.

10 years ago[runtime] Fix the DISABLE_JIT build on ARM.
Zoltan Varga [Wed, 23 Oct 2013 15:46:18 +0000 (17:46 +0200)]
[runtime] Fix the DISABLE_JIT build on ARM.

10 years agoAdd InterlockedExchange64 () based on GCC intrinsics for MinGW.
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.

10 years agoDisable ClientWebSocketTest.cs (for mobile) until the type itself is added to the...
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

10 years agoMerge pull request #784 from alesliehughes/master
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

10 years agoImplement ObjectQuery
Alistair Leslie-Hughes [Mon, 26 Aug 2013 01:57:54 +0000 (11:57 +1000)]
Implement ObjectQuery

10 years agoImplement ManagementQuery QueryString
Alistair Leslie-Hughes [Mon, 26 Aug 2013 01:47:09 +0000 (11:47 +1000)]
Implement ManagementQuery QueryString

10 years agoImplement ManagementQuery QueryLanguage
Alistair Leslie-Hughes [Mon, 26 Aug 2013 01:46:04 +0000 (11:46 +1000)]
Implement ManagementQuery QueryLanguage

10 years agoUse THREAD_INFO_TYPE consistently in mono-threads.h.
Alex Rønne Petersen [Tue, 22 Oct 2013 21:09:14 +0000 (23:09 +0200)]
Use THREAD_INFO_TYPE consistently in mono-threads.h.

10 years ago[runtime] Add a missing TLS key for LMF addr.
Zoltan Varga [Tue, 22 Oct 2013 17:43:52 +0000 (19:43 +0200)]
[runtime] Add a missing TLS key for LMF addr.

10 years agoFix this test to work on 2.0.
Rodrigo Kumpera [Tue, 22 Oct 2013 17:12:05 +0000 (13:12 -0400)]
Fix this test to work on 2.0.

10 years ago[runtime] Fix the interlocked increment/decrement/add functions.
Zoltan Varga [Tue, 22 Oct 2013 13:11:44 +0000 (15:11 +0200)]
[runtime] Fix the interlocked increment/decrement/add functions.

10 years ago[runtime] Centralize the processing of MonoTrampInfo structures into the mono_tramp_i...
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.

10 years ago[runtime] Use mono_restore_context () to reduce code duplication in the back ends.
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.

10 years ago[runtime] Use mini_exception_id_by_name () on ARM.
Zoltan Varga [Tue, 22 Oct 2013 12:05:43 +0000 (14:05 +0200)]
[runtime] Use mini_exception_id_by_name () on ARM.

10 years ago[runtime] Use mini_get_nullified_class_init_trampoline () to reduce code duplication...
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.

10 years ago[runtime] Add a mini_get_nullified_class_init_trampoline () helper function.
Zoltan Varga [Tue, 22 Oct 2013 11:33:41 +0000 (07:33 -0400)]
[runtime] Add a mini_get_nullified_class_init_trampoline () helper function.

10 years ago[runtime] Fix gsharedvt support in mono_helper_compile_generic_method ().
Zoltan Varga [Tue, 22 Oct 2013 11:31:26 +0000 (07:31 -0400)]
[runtime] Fix gsharedvt support in mono_helper_compile_generic_method ().

10 years ago[runtime] Add a mono_restore_context () helper function.
Zoltan Varga [Tue, 22 Oct 2013 11:28:56 +0000 (07:28 -0400)]
[runtime] Add a mono_restore_context () helper function.

10 years ago[runtime] Avoid crashing in mini_jit_info_table_find () if the current thread is...
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.

10 years ago[jit] Add a mini_exception_id_by_name () helper function.
Zoltan Varga [Tue, 22 Oct 2013 11:26:01 +0000 (07:26 -0400)]
[jit] Add a mini_exception_id_by_name () helper function.

10 years ago[jit] Add a MONO_TRAMPOLINE_TYPE_HAS_ARG macro which determines whenever a given...
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.

10 years ago[jit] Add a 'relocation' field to MonoJumpInfo which contains an architecture specifi...
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.

10 years ago[jit] Add a 'call_info' field to MonoCallInst so the OP_CALL_... opcodes have access...
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 ().

10 years agoruntime] Print unwind information in the JIT debug output.
Zoltan Varga [Tue, 22 Oct 2013 11:16:02 +0000 (07:16 -0400)]
runtime] Print unwind information in the JIT debug output.

10 years ago[jit] Add a MONO_ARCH_EMULATE_LONG_MUL_OVF_OPTS define for architectures which have...
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.

10 years ago[runtime] Make --regression work when a domain is not yet setup during porting.
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.

10 years ago[sdb] Fix support of vtypes passed by ref.
Zoltan Varga [Tue, 22 Oct 2013 10:47:58 +0000 (06:47 -0400)]
[sdb] Fix support of vtypes passed by ref.

10 years ago[runtime] Avoid running tests using AC_TRY_RUN () when cross-compiling.
Zoltan Varga [Tue, 22 Oct 2013 10:45:43 +0000 (06:45 -0400)]
[runtime] Avoid running tests using AC_TRY_RUN () when cross-compiling.

10 years ago[runtime] Use a cache in mono_create_rgctx_lazy_fetch_trampoline () in the full-aot...
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.

10 years ago[sdb] Add an IncludeSubclasses property to ExceptionEventRequest, to control whenever...
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

10 years agoMerge pull request #730 from LogosBible/locale-changes
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.

10 years agoFix condition (for MOBILE) that excluded System.Xml.Schema/Extensions.cs. Removed...
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]

10 years agoFixed a some compiler warnings
Jeffrey Stedfast [Mon, 21 Oct 2013 21:14:31 +0000 (17:14 -0400)]
Fixed a some compiler warnings

10 years agoAdd comment explaining the TARGET_OSX oddity in atomic.c.
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.

10 years agoAdd a couple of casts to scan_thread_data () to shut GCC up.
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]'

10 years agoBump mono to 3.2.5
Rodrigo Kumpera [Mon, 21 Oct 2013 19:25:46 +0000 (15:25 -0400)]
Bump mono to 3.2.5

10 years ago[mkbundle] New mkbundle options for better handling integration with native libs.
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.

10 years agoMerge pull request #717 from mono/client_websockets_impl
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

10 years agoMerge pull request #268 from pcc/menudeactivate
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

10 years agoMerge pull request #260 from pcc/topmost
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

10 years agoMerge pull request #565 from rneatherway/master
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

10 years agoMerge pull request #587 from madewokherd/gdipdllmap
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.

10 years agoRemove commented-out irix path from configure.in.
Alex Rønne Petersen [Mon, 21 Oct 2013 16:17:10 +0000 (18:17 +0200)]
Remove commented-out irix path from configure.in.

10 years agoAdd mono_gc_wbarrier_generic_store_atomic () function.
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.

10 years agoAdd an extension point in atomic.c.
Alex Rønne Petersen [Fri, 18 Oct 2013 00:29:02 +0000 (02:29 +0200)]
Add an extension point in atomic.c.

10 years agoUse slow 64-bit cmpxchg for 32-bit ARM, MIPS, and PowerPC.
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.

10 years agoCorrect our implementation of Thread.VolatileRead ()/VolatileWrite ().
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

10 years agoUse InterlockedAdd64 () for Interlocked.Add (long&, long).
Alex Rønne Petersen [Wed, 25 Sep 2013 18:31:18 +0000 (20:31 +0200)]
Use InterlockedAdd64 () for Interlocked.Add (long&, long).

10 years agoUse InterlockedAdd () for Interlocked.Add (int&, int).
Alex Rønne Petersen [Wed, 25 Sep 2013 18:31:06 +0000 (20:31 +0200)]
Use InterlockedAdd () for Interlocked.Add (int&, int).

10 years agoUse InterlockedExchange64 () for Interlocked.Exchange (double&, double).
Alex Rønne Petersen [Wed, 25 Sep 2013 18:23:36 +0000 (20:23 +0200)]
Use InterlockedExchange64 () for Interlocked.Exchange (double&, double).

10 years agoUse InterlockedExchange64 () for Interlocked.Exchange (long&, long).
Alex Rønne Petersen [Wed, 25 Sep 2013 18:22:36 +0000 (20:22 +0200)]
Use InterlockedExchange64 () for Interlocked.Exchange (long&, long).

10 years agoUse InterlockedDecrement64 () for Interlocked.Decrement (long&).
Alex Rønne Petersen [Wed, 25 Sep 2013 18:20:53 +0000 (20:20 +0200)]
Use InterlockedDecrement64 () for Interlocked.Decrement (long&).

10 years agoUse InterlockedIncrement64 () for Interlocked.Increment (long&).
Alex Rønne Petersen [Wed, 25 Sep 2013 18:20:20 +0000 (20:20 +0200)]
Use InterlockedIncrement64 () for Interlocked.Increment (long&).

10 years agoUse InterlockedRead64 () for Interlocked.Read (long&).
Alex Rønne Petersen [Wed, 25 Sep 2013 18:19:18 +0000 (20:19 +0200)]
Use InterlockedRead64 () for Interlocked.Read (long&).

10 years agoUse __sync_sub_and_fetch () for atomic decrements for clarity.
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.

10 years agoMove definition of NEED_64BIT_CMPXCHG_FALLBACK to top of atomic.c.
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.

10 years agoAdd interlocked read/write functions to atomic.c/.h.
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.

10 years agoAdd implementations of various interlocked functions to atomic.c/.h.
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 ().

10 years agoUse mono_memory_barrier () for Thread.MemoryBarrier ().
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.

10 years agoKill the Cygwin hack in mono-membar.h.
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.

10 years agoRemove MONO_ARCH_SAVE_REGS from threading icalls.
Alex Rønne Petersen [Wed, 25 Sep 2013 17:00:57 +0000 (19:00 +0200)]
Remove MONO_ARCH_SAVE_REGS from threading icalls.

10 years agoUse GCC atomics on s390x.
Alex Rønne Petersen [Tue, 24 Sep 2013 15:27:01 +0000 (17:27 +0200)]
Use GCC atomics on s390x.

10 years agoRemove unneeded ARM code from atomic.c.
Alex Rønne Petersen [Tue, 24 Sep 2013 15:20:13 +0000 (17:20 +0200)]
Remove unneeded ARM code from atomic.c.

10 years agoUse host preprocessor identifiers in atomic.c, not target.
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.

10 years agoSimplify the ifdeffery in atomic.c/.h a bit.
Alex Rønne Petersen [Tue, 24 Sep 2013 15:14:55 +0000 (17:14 +0200)]
Simplify the ifdeffery in atomic.c/.h a bit.