Sebastien Pouliot [Thu, 5 Feb 2015 20:19:46 +0000 (15:19 -0500)]
[linker] Preserve types given to custom attributes - even if they are inside an array [#26030]
Sebastien Pouliot [Thu, 5 Feb 2015 20:18:47 +0000 (15:18 -0500)]
[linker] Do not process custom attribute fields unless there are some (avoids memory allocation for collections)
Mark Probst [Thu, 5 Feb 2015 19:55:26 +0000 (11:55 -0800)]
Merge pull request #1546 from evincarofautumn/faster-binprot
Make sgen-grep-binprot faster.
Jon Purdy [Thu, 5 Feb 2015 01:36:42 +0000 (17:36 -0800)]
[sgen] Make sgen-grep-binprot faster.
fread() spent a great deal of time locking, and we called malloc() once for
each entry. Replacing fread() with read() plus manual buffering, as well
as replacing malloc() with a static buffer, improves throughput by an
order of magnitude.
This also adds an '--input' option for reading from a stream other than
standard input.
Neale Ferguson [Thu, 5 Feb 2015 19:36:14 +0000 (14:36 -0500)]
Use float<->integer instructions for move operations
Jeffrey Stedfast [Thu, 5 Feb 2015 18:43:14 +0000 (13:43 -0500)]
[Microsoft.Build.Utilities] Fixed MSBuildErrorParser to be more robust
Marek Safar [Thu, 5 Feb 2015 17:25:18 +0000 (18:25 +0100)]
[mcs] Prefer not missing type for ambiguous imported types. Fixes #26753
Marek Safar [Thu, 5 Feb 2015 12:25:49 +0000 (07:25 -0500)]
[corlib] TimeZoneInfo.ConvertTimeToUtc maximum datetime handling
Marek Safar [Thu, 5 Feb 2015 11:34:16 +0000 (12:34 +0100)]
[runtime] Fixes setting FileVersionInfo managed booleans
Marek Safar [Thu, 5 Feb 2015 10:49:59 +0000 (11:49 +0100)]
[xbuild] Fix When Condition with a user comment
Marek Safar [Thu, 5 Feb 2015 10:28:40 +0000 (11:28 +0100)]
[build] remove unused defines
Marek Safar [Thu, 5 Feb 2015 09:48:29 +0000 (10:48 +0100)]
[corlib] BitConverter from reference sources
Alex Rønne Petersen [Thu, 5 Feb 2015 03:58:23 +0000 (04:58 +0100)]
[mini] Really fix the float <-> int data transfer instructions on arm.
The ARM_CVTS/ARM_CVTD macros have somewhat deceptive names: They
describe the source data type, not the target data type.
Alex Rønne Petersen [Thu, 5 Feb 2015 02:13:59 +0000 (03:13 +0100)]
Merge pull request #1541 from alexrp/mcs-build-cleanup
Clean up mcs build system
Miguel de Icaza [Thu, 5 Feb 2015 02:05:18 +0000 (21:05 -0500)]
Start work to generate dependencies
Alex Rønne Petersen [Thu, 5 Feb 2015 01:03:15 +0000 (02:03 +0100)]
[mini] Implement float <-> int data transfer instructions in the LLVM backend.
Rodrigo Kumpera [Wed, 4 Feb 2015 22:08:47 +0000 (17:08 -0500)]
[test] Add verifier test for cgt_un and valuetypes.
Rodrigo Kumpera [Wed, 4 Feb 2015 22:06:38 +0000 (17:06 -0500)]
[verifier] Properly verify CGT_UN when used with reference value and the null literal.
Zoltan Varga [Wed, 4 Feb 2015 19:00:17 +0000 (14:00 -0500)]
[jit] Avoid live range indexes overflowing for large basic blocks in the liveness pass. Fixes #26732.
Zoltan Varga [Wed, 4 Feb 2015 18:22:18 +0000 (13:22 -0500)]
[runtime] Enable the new interrupt code on arm64.
Marek Safar [Wed, 4 Feb 2015 18:09:14 +0000 (19:09 +0100)]
Move TimeZoneInfo tests to corlib
Marek Safar [Wed, 4 Feb 2015 17:46:30 +0000 (18:46 +0100)]
[system.xml] Disable failing test, requires reference source implementation
Marek Safar [Wed, 4 Feb 2015 16:54:35 +0000 (17:54 +0100)]
[corlib] Fix overflow in TimeZoneInfo utc conversion
Marek Safar [Wed, 4 Feb 2015 16:23:08 +0000 (17:23 +0100)]
[mcs] update error message
Marek Safar [Wed, 4 Feb 2015 15:49:53 +0000 (16:49 +0100)]
[corlib] Boolean from reference sources
Radek Doulik [Wed, 4 Feb 2015 16:09:17 +0000 (17:09 +0100)]
[android] disable TLS on android/x86_64
- otherwise we assert in sgen allocator
in sgen-gc.h:EMIT_TLS_ACCESS_NEXT_ADDR
thru sgen-alloc.c:create_allocator
- note that it is also disabled for ARM[64] and X86
on android
Marek Safar [Wed, 4 Feb 2015 14:49:41 +0000 (15:49 +0100)]
[System] More TypeDescriptor tests
Marek Safar [Wed, 4 Feb 2015 14:36:10 +0000 (15:36 +0100)]
[corlib] Add test for #17626
Marek Safar [Wed, 4 Feb 2015 14:30:44 +0000 (15:30 +0100)]
[corlib] DateTime from reference sources
Alex Rønne Petersen [Wed, 4 Feb 2015 14:28:44 +0000 (15:28 +0100)]
Revert "[runtime] Fixed allowing non-object complex arguments to cgt.un"
This reverts commit
38f878ce9d480e2f9ba8a00ac699bed98d71354c.
This broke the build: http://wrench.mono-project.com/Wrench/WebServices/Download.aspx?workfile_id=
3704132
Alex Rønne Petersen [Wed, 4 Feb 2015 13:58:03 +0000 (14:58 +0100)]
[mini] Hopefully fix float <-> int data transfer instructions on x86. x87 sucks.
Alex Rønne Petersen [Wed, 4 Feb 2015 13:16:27 +0000 (14:16 +0100)]
[mini] Fix float <-> int data transfer instructions on arm/mips.
Alex Rønne Petersen [Wed, 4 Feb 2015 13:13:00 +0000 (14:13 +0100)]
[mini] Fix x86/arm build.
João Matos [Wed, 4 Feb 2015 13:13:02 +0000 (13:13 +0000)]
Fixed System.Net.NetworkInformation tests to work with MonoTouch.NUnitLite.
João Matos [Wed, 4 Feb 2015 13:07:20 +0000 (13:07 +0000)]
[runtime] Added autoconf support for AMD64 Android cross compilation.
Alex Rønne Petersen [Wed, 4 Feb 2015 12:14:15 +0000 (13:14 +0100)]
[mini] Implement atomic exchange with xchg on x86/amd64.
Alex Rønne Petersen [Wed, 4 Feb 2015 11:05:06 +0000 (12:05 +0100)]
[mini] Use new float <-> int move opcodes to implement r4/r8 CAS/Exchange.
Alex Rønne Petersen [Wed, 4 Feb 2015 11:04:20 +0000 (12:04 +0100)]
[mini] Add new instructions for moving data between float and int regs.
These perform no conversions (other than any necessary single <-> double
conversions). They simply copy the raw data back and forth.
Alex Rønne Petersen [Wed, 4 Feb 2015 11:02:21 +0000 (12:02 +0100)]
[mini] Apply the dreg != sreg1 optimization to OP_(F)MOVE in all backends.
Alex Rønne Petersen [Wed, 4 Feb 2015 02:31:26 +0000 (03:31 +0100)]
[mini] Fix some cases where intrinsics did not have a stack type set.
Radek Doulik [Wed, 4 Feb 2015 08:52:01 +0000 (09:52 +0100)]
[android] do not use tkill on android/amd64(x86_64) as well
Alex Rønne Petersen [Wed, 4 Feb 2015 03:53:29 +0000 (04:53 +0100)]
Merge pull request #1543 from alexanderkyte/master
[runtime] Fixed allowing non-object complex arguments to cgt.un
Alexander Kyte [Mon, 2 Feb 2015 17:55:46 +0000 (12:55 -0500)]
[runtime] Fixed allowing non-object complex arguments to cgt.un
Zoltan Varga [Wed, 4 Feb 2015 01:44:18 +0000 (20:44 -0500)]
[amd64] Add missing amd64_sse_cvtss2si_reg_reg_size() codegen macro.
Zoltan Varga [Tue, 3 Feb 2015 20:58:12 +0000 (15:58 -0500)]
Merge pull request #1545 from akoeplinger/fix-windows-build
Fix Windows build
Alexander Köplinger [Tue, 3 Feb 2015 18:35:25 +0000 (10:35 -0800)]
Miguel de Icaza [Tue, 3 Feb 2015 16:48:28 +0000 (11:48 -0500)]
Updated the order file generated by following the instructions in msvc/scripts/README
Marek Safar [Tue, 3 Feb 2015 15:20:39 +0000 (16:20 +0100)]
[corlib] TimeSpan from reference sources
João Matos [Tue, 3 Feb 2015 14:10:46 +0000 (14:10 +0000)]
[corlib] Fixed tests to work with NET_2_1 define.
Marek Safar [Tue, 3 Feb 2015 10:58:48 +0000 (11:58 +0100)]
[corlib] DateTimeOffset from reference sources
Marek Safar [Tue, 3 Feb 2015 09:30:30 +0000 (10:30 +0100)]
[corlib] DateTimeFormatInfo and friends from reference sources
Marek Safar [Tue, 3 Feb 2015 09:23:19 +0000 (10:23 +0100)]
[system] Add support for redirected http web-request with disabled AllowWriteStreamBuffering (empty streams only). Fixes #26640
Rodrigo Kumpera [Mon, 2 Feb 2015 03:41:16 +0000 (22:41 -0500)]
[runtime] Replace a call to mono_get_method_full to mono_get_method_checked.
Alex Rønne Petersen [Fri, 30 Jan 2015 17:57:11 +0000 (18:57 +0100)]
Remove old centum tests stuff.
Despite what the makefiles would have you believe, this was never
actually used when running the test suites. Don't ask me why - my
make-fu isn't good enough. Regardless, it's a bad idea to only
run tests for a specific set of assemblies. If some tests fail or
are unstable, they should be fixed, or disabled and have a bug
filed. Sweeping them under the rug like this is the wrong thing
to do. Incidentally, this commit doesn't add any new failures.
Alex Rønne Petersen [Mon, 2 Feb 2015 18:37:19 +0000 (19:37 +0100)]
Remove now-obsolete System.Web.Extensions(.Design)_1.0 assemblies.
These are no longer built in the newer profiles.
Alex Rønne Petersen [Fri, 30 Jan 2015 14:52:01 +0000 (15:52 +0100)]
Remove obsolete profiles and profile checks from the build system.
* Removed all old profiles from VALID_PROFILE checks.
* Removed most logic under checks like ifeq (net_2_0), $(PROFILE)) as
it is dead code now that those old profiles are gone.
* Simplified the list of assemblies in mcs/class/Makefile now that we
only have one profile.
* LIBRARY_NEEDS_POSTPROCESSING has been removed as it was only used by
old 1.x assemblies that no longer exist.
* Build logic that sets MONO_PATH now points to mcs/class/lib/net_4_5
instead of mcs/class/lib/net_2_0.
Alex Rønne Petersen [Fri, 30 Jan 2015 14:45:43 +0000 (15:45 +0100)]
Remove some leftover old 1.x, 2.x, 3.x profile ifdefs.
We no longer support these profiles so these code paths are dead.
Zoltan Varga [Tue, 3 Feb 2015 00:30:30 +0000 (19:30 -0500)]
Avoid recompiling a test on every run.
Zoltan Varga [Mon, 2 Feb 2015 23:20:45 +0000 (18:20 -0500)]
Revert "Switch System.Web.ApplicationServices to referencesource"
This reverts commit
ea88432e494b578a6f67a5b8d0a259f85fab166f.
Revert this as it breaks the System.Web tests.
Zoltan Varga [Mon, 2 Feb 2015 23:20:23 +0000 (18:20 -0500)]
Revert "Include hard-coded strings (SR.cs-style) rather than using AppliCationServicesStrings.Designer.cs"
This reverts commit
b88fc966107f2f57084771968d770a01bf806ead.
Revert this as it breaks the System.Web tests.
Rodrigo Kumpera [Mon, 2 Feb 2015 22:39:38 +0000 (17:39 -0500)]
[io-layer] Small portability fix.
Jonathan Pryor [Mon, 2 Feb 2015 20:19:02 +0000 (15:19 -0500)]
[System.Core/Android] Update TimeZone database self test.
The `make tzi.exe` target had bitrotted, and the
`make android-dump-tzdata` target generated inadvertent/unintentional
errors. Fix the makefile so that things build and run.
Marek Safar [Mon, 2 Feb 2015 19:26:08 +0000 (20:26 +0100)]
[corlib] Makes AggregateException output visible
João Matos [Mon, 2 Feb 2015 15:53:02 +0000 (15:53 +0000)]
[corlib] Fixed xammac build.
João Matos [Mon, 2 Feb 2015 15:51:50 +0000 (15:51 +0000)]
[corlib] Fixed build with NET_2_1 define.
Rolf Bjarne Kvinge [Mon, 2 Feb 2015 12:50:44 +0000 (13:50 +0100)]
[System.Xml] Overwrite instead of append so that subsequent executions doesn't end up with garbage in the output.
Rodrigo Kumpera [Mon, 2 Feb 2015 00:20:05 +0000 (19:20 -0500)]
[jit] Fix bad_method_regression_2 when SSA is enabled on 32bits.
Zoltan Varga [Sat, 31 Jan 2015 07:42:34 +0000 (02:42 -0500)]
Merge pull request #1540 from esdrubal/marshallingcache
[runtime] Added native_func_wrapper_cache.
Zoltan Varga [Sat, 31 Jan 2015 04:50:28 +0000 (23:50 -0500)]
[jit] Increase the inline memcpy/memset cutoff to 8 machine words.
Zoltan Varga [Sat, 31 Jan 2015 01:59:55 +0000 (20:59 -0500)]
[llvm] Add a new LLVMArgAsFpArgs argument passing convention which means an argument is passed as a set of fp scalar arguments, i.e. HFAs on arm64.
Zoltan Varga [Sat, 31 Jan 2015 00:15:24 +0000 (19:15 -0500)]
Fix a warning.
Zoltan Varga [Fri, 30 Jan 2015 22:46:38 +0000 (17:46 -0500)]
[arm] Enable llvm for methods with struct arguments larger than 2 words.
Zoltan Varga [Fri, 30 Jan 2015 20:43:10 +0000 (15:43 -0500)]
[runtime] Disable a test which fails with llvm/gcc.
Rodrigo Kumpera [Fri, 30 Jan 2015 19:07:43 +0000 (14:07 -0500)]
Don't include the poll backed directly into the threadpool source code.
Rodrigo Kumpera [Thu, 29 Jan 2015 22:25:30 +0000 (17:25 -0500)]
[runtime] Skip the finalizer thread while it's sleeping.
Marcos Henrich [Fri, 30 Jan 2015 15:40:33 +0000 (15:40 +0000)]
[runtime] Added native_func_wrapper_cache.
mono_marshal_get_native_func_wrapper now uses native_func_wrapper_cache indexed by SignaturePointerPair,
Using SignaturePointerPair index instead of MonoMethod index avoids problems when one native function needs multiple wrappers.
e.g: when the managed code creates delegates for function pointers with parameters that require different marshallings.
This fixes bug 26127.
Marcos Henrich [Fri, 30 Jan 2015 15:26:03 +0000 (15:26 +0000)]
[runtime] Renamed SignatureMethodPair to SignaturePointerPair.
Changed field MonoMethod* method to gpointer pointer.
This change was done because we need in some cases to use a signature pointer pair.
Marek Safar [Fri, 30 Jan 2015 14:13:37 +0000 (15:13 +0100)]
Merge pull request #1539 from directhex/use-referencesource-for-System.Web.ApplicationServices
Include hard-coded strings (SR.cs-style) rather than using AppliCationServicesStrings.Designer.cs
Jo Shields [Fri, 30 Jan 2015 14:06:36 +0000 (14:06 +0000)]
Include hard-coded strings (SR.cs-style) rather than using AppliCationServicesStrings.Designer.cs
This avoids depending on a missing .resources file with string translations in it
João Matos [Fri, 30 Jan 2015 12:45:38 +0000 (12:45 +0000)]
Merge pull request #1538 from directhex/use-referencesource-for-System.Web.ApplicationServices
Switch System.Web.ApplicationServices to ReferenceSource.
Jo Shields [Fri, 30 Jan 2015 12:12:51 +0000 (12:12 +0000)]
Switch System.Web.ApplicationServices to referencesource
Due to the removal of the net_2_0 profile, the files in ../System.Web/System.Web.Security aren't included in make dist anymore since they aren't used in System.Web (the classes got moved to System.Web.ApplicationServices.dll in .NET 4).
This breaks the tarball builds, as System.Web.ApplicationServices relies
on those files, so we now include the ReferenceSource equivalents instead.
Rodrigo Kumpera [Fri, 30 Jan 2015 06:03:01 +0000 (01:03 -0500)]
[runtime] Use MonoError instead of loader error with signature parsing.
Sebastien Pouliot [Fri, 30 Jan 2015 00:58:45 +0000 (19:58 -0500)]
Bump referencesource to disable CAS calls on System.Componentmodel.TypeDescriptor [#26554]
Alex Rønne Petersen [Thu, 29 Jan 2015 23:55:49 +0000 (00:55 +0100)]
[mini] Fix Enum.HasFlag () intrinsic emitting a bad OP_LCEQ on 32-bit.
Zoltan Varga [Fri, 30 Jan 2015 00:09:36 +0000 (19:09 -0500)]
Fix the dreg op the long_ccc instructions, those instructions return ints.
Mark Probst [Thu, 29 Jan 2015 22:09:14 +0000 (14:09 -0800)]
Merge pull request #1537 from evincarofautumn/color-binprot
Add color mode to sgen-grep-binprot.
Jon Purdy [Thu, 29 Jan 2015 21:11:19 +0000 (13:11 -0800)]
[runtime] Add color mode to sgen-grep-binprot.
When searching for a pointer with '--color' or '-c', the field in a
protocol entry that matched will be highlighted; when searching for
multiple pointers, they will be highlighted in different colors
according to their order on the command line. When highlighting more
than six pointers, colors will be reused.
Jon Purdy [Thu, 29 Jan 2015 20:50:10 +0000 (12:50 -0800)]
[runtime] Fix incorrect labels in sgen-grep-binprot output.
Miguel de Icaza [Thu, 29 Jan 2015 20:39:59 +0000 (15:39 -0500)]
Add more detail
Miguel de Icaza [Thu, 29 Jan 2015 20:33:37 +0000 (15:33 -0500)]
[lldb] Document and install the mono.py file for LLDB
Zoltan Varga [Thu, 29 Jan 2015 20:29:28 +0000 (15:29 -0500)]
Fix a warning.
Alex Rønne Petersen [Thu, 29 Jan 2015 15:08:30 +0000 (16:08 +0100)]
[mini] Fix decomposition of long opcodes in VolatileRead ()/VolatileWrite () intrinsics.
Alex Rønne Petersen [Thu, 29 Jan 2015 00:17:14 +0000 (01:17 +0100)]
Optimize Enum.HasFlag () implementation and recognize it in the JIT.
The previous implementation did a ton of reflection and boxing making
it about 4x slower than it should be. This new (native) implementation
simply memcpy ()s the values out of the Enum objects and then does the
bitwise AND.
In addition, the JIT now recognizes this common IL pattern:
<push int or long ptr>
<push int or long>
box MyFlagsEnum
constrained. MyFlagsEnum
callvirt instace bool class [mscorlib] System.Enum::HasFlag (class [mscorlib] System.Enum)
This is generated from C# code such as:
MyFlagsEnum a = ..., b = ...;
a.HasFlag (b);
When the operand types of the `box` and `constrained.` instructions are
the same, we can skip all the slow stuff that HasFlag () normally does
and simply turn the whole thing into this IR:
<this> = loadi4_membase <this_ptr>
<temp> = int_and <this> <flag>
icompare <temp> <flag>
<result> = int_ceq
This is about 60x faster than the old HasFlag () without any JIT support
and about 15x faster than the new HasFlag () native implementation.
Also, added missing argument checks to HasFlag ().
João Matos [Thu, 29 Jan 2015 17:01:11 +0000 (17:01 +0000)]
[build] Updated the class library MSBuild projects.
Rodrigo Kumpera [Thu, 29 Jan 2015 16:15:05 +0000 (10:15 -0600)]
Merge pull request #1536 from esdrubal/noreuse
[runtime] MonoIO methods using SafeHandle now prevent handle reuse.
João Matos [Thu, 29 Jan 2015 16:11:29 +0000 (16:11 +0000)]
[System.Core] Fixed interpreter build.
Miguel de Icaza [Thu, 29 Jan 2015 15:45:59 +0000 (10:45 -0500)]
[FtpWebRequest] Add test for bug #26312, issue was fixed by bringing .NET's implementation
Marcos Henrich [Thu, 29 Jan 2015 14:31:26 +0000 (14:31 +0000)]
[runtime] MonoIO methods using SafeHandle now prevent handle reuse.
This reverts partially commit
753229c72dd9f2b63beb097700e350164b887c2.
Marshallers are not called for ICalls parameters so the change of ICalls parameters to SafeHandle did not prevents handle reuse.
To prevent handle reuse ICalls are no longer called directly.
Instead we call a method that receives a SafeHandle and wraps the ICall call with safeHandle.DangerousAddRef and safeHandle.DangerousReleaseRef.
This guarantees that the safe handle reference countererence does not reach zero before or while the ICall, thus avoiding the handle beeing released and possibly reused.
Marek Safar [Thu, 29 Jan 2015 14:54:28 +0000 (15:54 +0100)]
[system.core] Fixes MT build
Marcos Henrich [Thu, 29 Jan 2015 13:11:56 +0000 (13:11 +0000)]
[symbolicate] Added tool README.