Marek Safar [Mon, 22 Jul 2013 11:44:11 +0000 (13:44 +0200)]
Don't crash when metadata contains private top level type.
Marek Safar [Mon, 22 Jul 2013 06:21:47 +0000 (08:21 +0200)]
Adds async handling to binary:emitbranchable. Fixes #13362
Marek Safar [Sat, 20 Jul 2013 16:52:56 +0000 (18:52 +0200)]
Fixes duplicate error message
Marek Safar [Sat, 20 Jul 2013 16:15:00 +0000 (18:15 +0200)]
Add field target for automatic properties
Zoltan Varga [Mon, 22 Jul 2013 01:49:25 +0000 (03:49 +0200)]
Generate the push/pop LMF code as IR on x86.
Zoltan Varga [Mon, 22 Jul 2013 01:45:06 +0000 (03:45 +0200)]
Fix a problem in emit_pop_lmf (), it no longer needs to change the current bblock.
Zoltan Varga [Sun, 21 Jul 2013 23:48:24 +0000 (01:48 +0200)]
Get rid of the MONO_ARCH_ENABLE_LMF_IR define added by
0938c69a52654e02bbb8f0c2107183404516dec6, use flags in MonoCompile instead.
Rodrigo Kumpera [Sun, 21 Jul 2013 22:22:57 +0000 (18:22 -0400)]
Handle property with default values. Fix part of #13336.
Rodrigo Kumpera [Sun, 21 Jul 2013 19:21:29 +0000 (12:21 -0700)]
Merge pull request #600 from tr8dr/master
Fix for bug 9250 (critical bug for embedded mono)
Cameron Taggart [Sat, 20 Jul 2013 22:19:34 +0000 (17:19 -0500)]
fixes ctaggart/mono#2 cpuid() now compiles in VS 2012
Alex Rønne Petersen [Sun, 21 Jul 2013 17:56:06 +0000 (19:56 +0200)]
Fix a "mixed decls and code" warning.
i59 [Tue, 25 Jun 2013 13:30:18 +0000 (15:30 +0200)]
Added mono-mutex.h & c to libmonoutils.vcxproj
Signed-off-by: Alex Rønne Petersen <alexrp@xamarin.com>
i59 [Tue, 25 Jun 2013 13:32:37 +0000 (15:32 +0200)]
mono-mutex.c: Don't include sys/time.h on Windows;
Signed-off-by: Alex Rønne Petersen <alexrp@xamarin.com>
Alex Rønne Petersen [Sun, 21 Jul 2013 06:06:41 +0000 (23:06 -0700)]
Merge pull request #707 from LHCGreg/12752-windows_nul_isredirected
Improve detecting if a handle is a console on Windows.
Alex Rønne Petersen [Sun, 21 Jul 2013 05:59:19 +0000 (07:59 +0200)]
libgc: Use GCC atomics on ARM.
This is to ensure that if the runtime is compiled for e.g.
ARM v4 or v5, it will use the correct atomics on v6 and v7.
Zoltan Varga [Sat, 20 Jul 2013 15:32:11 +0000 (17:32 +0200)]
Rework the x86 lmf code to use stores instead of pushes, and to be more consistent with the code on other platforms.
Zoltan Varga [Sat, 20 Jul 2013 14:05:38 +0000 (16:05 +0200)]
Generate the push/pop LMF code as IR on architectures which support it. Currently only used on amd64.
Marek Safar [Sat, 20 Jul 2013 09:15:06 +0000 (11:15 +0200)]
Fix indexer member formating
Marek Safar [Sat, 20 Jul 2013 07:18:20 +0000 (09:18 +0200)]
Fixes failing tests
Marek Safar [Sat, 20 Jul 2013 07:05:53 +0000 (09:05 +0200)]
Schedule internal delay task on default scheduler only. Fixes #13318
Marek Safar [Sat, 20 Jul 2013 06:52:23 +0000 (08:52 +0200)]
Lazy initialization of type parameters expanded interfaces. Fixes #13324
Zoltan Varga [Sat, 20 Jul 2013 04:05:49 +0000 (06:05 +0200)]
Another attempt at fixing mono_atomic_load_acquire() on MSVC. Fixes #13340.
Alex Rønne Petersen [Fri, 19 Jul 2013 15:34:55 +0000 (17:34 +0200)]
Enable GCC atomics on mips.
Alex Rønne Petersen [Sat, 20 Jul 2013 00:47:32 +0000 (02:47 +0200)]
Enable GCC atomics on arm.
Alex Rønne Petersen [Sat, 20 Jul 2013 00:44:31 +0000 (02:44 +0200)]
Enable GCC atomics on ppc and ppc64.
Alex Rønne Petersen [Fri, 19 Jul 2013 01:20:14 +0000 (03:20 +0200)]
Enable GCC atomics on x86 and amd64.
Alex Rønne Petersen [Fri, 19 Jul 2013 01:19:38 +0000 (03:19 +0200)]
Use GCC atomics when USE_GCC_ATOMIC_OPS is defined.
We still prefer Windows.h functions when compiling for Windows, and
MSVC intrinsics for memory barriers when compiling with MSVC.
Alex Rønne Petersen [Fri, 19 Jul 2013 04:48:16 +0000 (06:48 +0200)]
PowerPC build fix in mono-hwcap-ppc.
Alex Rønne Petersen [Fri, 19 Jul 2013 00:09:30 +0000 (02:09 +0200)]
configure: Remove obsolete FIXME comment.
Alex Rønne Petersen [Thu, 18 Jul 2013 23:59:48 +0000 (01:59 +0200)]
Add a MONO_VERBOSE_HWCAP environment variable.
This causes detected hardware features to be printed to stdout.
Alex Rønne Petersen [Thu, 18 Jul 2013 23:42:39 +0000 (01:42 +0200)]
Remove now-unneeded mono_aot_only guard around mono_hwcap_init ().
We no longer use the code manager in any of the hwcap implementations,
so we don't need to disable the hwcap infrastructure in full-aot mode.
Alex Rønne Petersen [Thu, 18 Jul 2013 23:38:23 +0000 (01:38 +0200)]
Remove the JIT-ed CPUID hack from mono-hwcap-x86.
A proper workaround for the 32-bit PIC issue exists: Using xchg to
unclobber EBX which is used by the compiler. This means we can just
use inline assembly to issue the instruction, eliminating the hack
where we JIT-compiled a function to do the CPUID.
This patch also makes it so that we use MSVC's __cpuid intrinsic
on both 32-bit and 64-bit x86 since it's available on both.
Alex Rønne Petersen [Thu, 18 Jul 2013 22:43:25 +0000 (00:43 +0200)]
Check for sys/auxv.h and only use it if available.
Alex Rønne Petersen [Thu, 18 Jul 2013 22:38:32 +0000 (00:38 +0200)]
Make all Mini back ends use mono-hwcap for CPU feature detection.
Also some related cleanup as a result of this.
Zoltan Varga [Fri, 19 Jul 2013 18:53:16 +0000 (20:53 +0200)]
Remove the async hacks from the gsharedvt code, gsharedvt can now handle async methods, and the infrastructure methods they use.
Zoltan Varga [Fri, 19 Jul 2013 18:52:12 +0000 (20:52 +0200)]
Share byref arguments in runtime invoke signatures with int&. Remove the restrictions on sharing runtime invoke wrappers of valuetype instance methods, its not longer needed.
Zoltan Varga [Fri, 19 Jul 2013 15:55:11 +0000 (17:55 +0200)]
Properly null terminate strings in mono_dwarf_escape_path (). Fixes #13050.
Sebastien Pouliot [Fri, 19 Jul 2013 13:38:58 +0000 (09:38 -0400)]
Disable TestDisposeOnCallback for MONOTOUCH, the test does not really work as the state is null (and throws in a separate thread)
Zoltan Varga [Thu, 18 Jul 2013 17:44:58 +0000 (19:44 +0200)]
Avoid calling mono_domain_free () in a cross-compiler, it causes a GC, and the unwind infrastructure is not properly set up when cross-compiling.
Mark Probst [Thu, 18 Jul 2013 17:37:47 +0000 (10:37 -0700)]
Simplify emit_write_barrier().
We have two ways of passing in the value - by MonoInst* and by register.
Remove the second and always pass a MonoInst*.
Marek Safar [Thu, 18 Jul 2013 12:42:12 +0000 (14:42 +0200)]
Add nested partial types inside nested partial types to AST. Fixes #13316
Marek Safar [Thu, 18 Jul 2013 08:53:33 +0000 (10:53 +0200)]
Nested partial type inside generic class can have base type defined later than current type inflation happens. Fixes #13289
Marek Safar [Wed, 17 Jul 2013 15:14:55 +0000 (17:14 +0200)]
Don't try to match lifted equality operators on same reference types
Zoltan Varga [Thu, 18 Jul 2013 03:36:50 +0000 (05:36 +0200)]
Fix an overflow if MONO_ZERO_LEN_ARRAY is not 0. Fixes #13233.
Alex Rønne Petersen [Thu, 18 Jul 2013 02:15:32 +0000 (04:15 +0200)]
Add a mono_hwcap_init () call to parse_optimizations ().
This is necessary because we need hardware features to be
detected by the time we call mono_arch_cpu_optimizations ().
Alex Rønne Petersen [Thu, 18 Jul 2013 01:38:04 +0000 (03:38 +0200)]
Make mono_hwcap_init () only perform initialization if not already done.
This moves arch-specific initialization to mono_hwcap_arch_init ().
Mark Probst [Wed, 17 Jul 2013 23:26:46 +0000 (16:26 -0700)]
Weaken a race condition in object initialization.
It's still there in a different form, but it's not easy to fix.
Mark Probst [Wed, 17 Jul 2013 22:28:59 +0000 (15:28 -0700)]
[sgen] Binary protocol improvements.
Protocol domain unloads, and allow greping for vtable.
Zoltan Varga [Wed, 17 Jul 2013 21:54:16 +0000 (23:54 +0200)]
Add support for constrained calls with one ref parameter to gsharedvt, enought to support AsyncMethodBuilder methods.
Zoltan Varga [Wed, 17 Jul 2013 21:10:41 +0000 (23:10 +0200)]
Fix a warning.
Zoltan Varga [Wed, 17 Jul 2013 21:07:30 +0000 (23:07 +0200)]
Add support for a simple form of constrained calls to gsharedvt, enough to support AsyncMethodBuilder.Start ().
Zoltan Varga [Wed, 17 Jul 2013 00:58:13 +0000 (02:58 +0200)]
Fix a warning.
Rodrigo Kumpera [Wed, 17 Jul 2013 18:09:18 +0000 (11:09 -0700)]
Merge pull request #706 from elijahtaylor/fixdyncode
Fix nacl_dyncode include
Marek Safar [Wed, 17 Jul 2013 06:18:55 +0000 (23:18 -0700)]
Merge pull request #705 from alesliehughes/master
Allow TrySetApartmentState to set the same state multiple times.
Alistair Leslie-Hughes [Wed, 17 Jul 2013 05:22:54 +0000 (15:22 +1000)]
Allow TrySetApartmentState to set the same state multiple times.
License: This patch is under the MIT/X11 license.
Alex Rønne Petersen [Wed, 17 Jul 2013 02:59:23 +0000 (04:59 +0200)]
mono-hwcap: Add ARM version detection for iOS.
Zoltan Varga [Tue, 16 Jul 2013 21:45:10 +0000 (23:45 +0200)]
Avoid printing an extra newline when printing fp results while tracing.
Mark Probst [Thu, 11 Jul 2013 20:25:42 +0000 (13:25 -0700)]
Fix race conditions in finalizer/weak link staging.
Elijah Taylor [Tue, 16 Jul 2013 21:14:31 +0000 (14:14 -0700)]
Fix nacl_dyncode include
Zoltan Varga [Tue, 16 Jul 2013 16:54:14 +0000 (18:54 +0200)]
Fix MONO_GC_DEBUG=collect-before-allocs. mono_gc_alloc_obj_nolock () was not called for the majority of allocations.
Zoltan Varga [Tue, 16 Jul 2013 14:16:51 +0000 (16:16 +0200)]
Fix the dependencies of the corlib test suite so the test suite is not rebuilt every time.
Zoltan Varga [Mon, 15 Jul 2013 21:44:48 +0000 (23:44 +0200)]
Fix a crash in thread_suspend_func () if the thread has no tls set.
Marek Safar [Tue, 16 Jul 2013 08:13:07 +0000 (10:13 +0200)]
Remove redundant status capturing
Marek Safar [Tue, 16 Jul 2013 07:59:33 +0000 (09:59 +0200)]
Fixes scheduling of non-inlined sychronous continuations.
Zoltan Varga [Mon, 15 Jul 2013 20:15:06 +0000 (22:15 +0200)]
Avoid an assert in mono_save_seq_point_info () if no seq points are generated for a method, as in wrappers in android. Hopefully fixes #12995.
Zoltan Varga [Mon, 15 Jul 2013 18:54:09 +0000 (20:54 +0200)]
Make wrappers whose signature is static static.
Zoltan Varga [Mon, 15 Jul 2013 18:34:39 +0000 (20:34 +0200)]
Fix synchronized_generic_cache.
Sebastien Pouliot [Thu, 11 Jul 2013 19:37:43 +0000 (15:37 -0400)]
Escape the .file path name generated in the asembly code. clang does not mind, but gcc does
Zoltan Varga [Mon, 15 Jul 2013 18:09:45 +0000 (20:09 +0200)]
Put the unbox_trampolines table into the .text segment instead of .rodata on mt since it contains code.
Rodrigo Kumpera [Mon, 15 Jul 2013 16:30:03 +0000 (12:30 -0400)]
[runtime] Add a fallback on the TLS probing code that does a range scan in the pthread structure.
Rodrigo Kumpera [Wed, 10 Jul 2013 22:50:49 +0000 (18:50 -0400)]
Bump master version to 3.3.0.
Alex Rønne Petersen [Mon, 15 Jul 2013 14:48:13 +0000 (16:48 +0200)]
Avoid using dmb/dsb/dib instructions on ARM v6.
This only worked by accident before the HAVE_ARMV<N>
changes because __ARM_ARCH_6__ is never defined by
any compiler.
Zoltan Varga [Mon, 15 Jul 2013 14:36:53 +0000 (16:36 +0200)]
Remove test-sgen from make check in tests/, it takes too much time.
Zoltan Varga [Mon, 15 Jul 2013 14:36:25 +0000 (16:36 +0200)]
Fix gshared synchronized wrappers for static methods.
Marek Safar [Sat, 13 Jul 2013 15:58:56 +0000 (17:58 +0200)]
Implement webrequest cancellation. Fixes #13200
Alex Rønne Petersen [Sun, 14 Jul 2013 20:56:16 +0000 (13:56 -0700)]
Merge pull request #700 from jack-pappas/patch-1
Call 'awk' instead of 'gawk' for cross-platform compatibility.
Atsushi Eno [Sat, 13 Jul 2013 14:56:59 +0000 (23:56 +0900)]
Revert "Merge pull request #622 from killabytenow/master"
This reverts commit
392bae3c453763e8f887f447678ab0202a36228a, reversing
changes made to
61cd9ee8b63bdd34fd3b5ebd58f2de3fce507a61.
Jack Pappas [Sat, 13 Jul 2013 11:56:24 +0000 (07:56 -0400)]
Call 'awk' instead of 'gawk' for cross-platform compatibility.
Call `awk` instead of `gawk` for cross-platform compatibility. Linux systems normally have a symbolic link from `awk` to `gawk`, so there should be no difference in the functionality on those systems.
Alex Rønne Petersen [Fri, 12 Jul 2013 18:39:02 +0000 (20:39 +0200)]
configure: Also consider __ARM_ARCH_7S__ when checking for ARM v7.
This is defined by Apple's iOS gcc with -arch armv7s.
Jeffrey Stedfast [Fri, 12 Jul 2013 18:05:55 +0000 (14:05 -0400)]
Prevent potential integer overflows in SortedList's binary search midpoint calculation
Marek Safar [Fri, 12 Jul 2013 15:44:53 +0000 (17:44 +0200)]
Don't eat exception from timer handler (this is system timer not SWF timer)
Marek Safar [Fri, 12 Jul 2013 14:23:01 +0000 (16:23 +0200)]
Prefer user operators over predefined operators for binary enum operations too. Fixes #13202
Marek Safar [Fri, 12 Jul 2013 13:13:42 +0000 (15:13 +0200)]
Allow async for explicitly implemented interface methods. Fixes #13197
Martin Baulig [Fri, 12 Jul 2013 08:42:12 +0000 (10:42 +0200)]
.spec file, again.
Atsushi Eno [Fri, 12 Jul 2013 05:17:05 +0000 (22:17 -0700)]
Merge pull request #622 from killabytenow/master
UTF8 encoding/decoding improvements
Alex Rønne Petersen [Thu, 11 Jul 2013 22:03:02 +0000 (00:03 +0200)]
Replace more __ARM_ARCH_... checks with HAVE_ARMV<N>.
Gerardo García Peña [Thu, 11 Jul 2013 21:52:35 +0000 (23:52 +0200)]
Gerardo García Peña [Thu, 11 Jul 2013 21:49:47 +0000 (23:49 +0200)]
Better and more homogeneous error handling.
Alex Rønne Petersen [Thu, 11 Jul 2013 19:19:34 +0000 (21:19 +0200)]
Add ARM version detection to configure and use the resulting macros.
This defines ARM_VERSION_{5,6,7}. Several of these can be
defined at once. For example ARM_VERSION_5 and ARM_VERSION_6
will both be defined if the target is an ARM v6 CPU.
Previously, we defined HAVE_ARMV6 based on running a program.
This obviously didn't work for cross-compilation. This new
approach does, and detects more cases (v5, v6, v7) than the
previous check (v6).
Alex Rønne Petersen [Thu, 11 Jul 2013 18:12:01 +0000 (20:12 +0200)]
Add a mono-hwcap module to utils.
This is an attempt to unify all the ad-hoc CPU feature
detection we do all over the codebase (mostly in Mini
back ends). It will also be used to detect and use SMP
instructions on older ARM devices (we need this info in
utils/, not just in mini/).
Each architecture has a mono-hwcap-$TARGET.h header if
it has specified one. So for example, if you want to
find out if a VFP unit is available on ARM, you would
include mono-hwcap-arm.h and read mono_hwcap_arm_has_vfp.
Remember to guard inclusions of these files with a check
along the lines of:
#ifdef TARGET_ARM
#include "mono/utils/mono-hwcap-arm.h"
/* ... */
#endif
Architectures that don't specify a file simply get an
empty implementation with no feature variables. This
empty implementation is also used if Mono itself is
compiled as a cross compiler.
Initialization of the mono-hwcap module is done in the
mini_init () function in mini/mini.c, very early in the
startup process. So in general, calling it is not needed.
Alex Rønne Petersen [Thu, 11 Jul 2013 17:54:35 +0000 (19:54 +0200)]
Fix the tests makefile.
Gerardo García Peña [Thu, 11 Jul 2013 16:54:11 +0000 (18:54 +0200)]
If 'flush' flag is enabled when calling decoding/encoding function, flush buffer when input run out (satisfies test 'SufficientByteArray').
Alex Rønne Petersen [Thu, 11 Jul 2013 16:42:18 +0000 (18:42 +0200)]
Fix (hopefully) the last architecture casing inconsistency.
Alex Rønne Petersen [Thu, 11 Jul 2013 16:38:36 +0000 (18:38 +0200)]
Remove an m68k check from configure.
Alex Rønne Petersen [Thu, 11 Jul 2013 16:37:51 +0000 (18:37 +0200)]
Alex Rønne Petersen [Thu, 11 Jul 2013 16:36:31 +0000 (18:36 +0200)]
Add missing TARGET_* defines for SPARC and Itanium.
Martin Baulig [Wed, 10 Jul 2013 16:09:14 +0000 (18:09 +0200)]
Oops, remove extra %endif in .spec file.
Martin Baulig [Wed, 10 Jul 2013 14:51:53 +0000 (16:51 +0200)]
[PCL]: Add System.Linq.Expressions type-forwarders.
Martin Baulig [Wed, 10 Jul 2013 14:46:02 +0000 (16:46 +0200)]
Add libmonoboehm package to the spec file.
Marek Safar [Wed, 10 Jul 2013 14:26:26 +0000 (16:26 +0200)]
Ignore only local Makefile