Gaurav Khanna [Tue, 7 Jun 2016 21:41:53 +0000 (14:41 -0700)]
Update VS dependency details (#5578)
Carol Eidt [Tue, 7 Jun 2016 20:26:18 +0000 (13:26 -0700)]
Update first-class-structs.md
Add a link to Issue #5556, and correct some formatting issues.
Pat Gavlin [Tue, 7 Jun 2016 17:35:51 +0000 (17:35 +0000)]
Merge pull request #5525 from pgavlin/gh5484
Skip reloads and copies in `gcIsWriteBarrierCandidate`.
Gaurav Khanna [Tue, 7 Jun 2016 17:28:16 +0000 (10:28 -0700)]
Merge pull request #5554 from yizhang82/rtlzeromemory-fix
Use Ntdll!RtlZeroMemory instead of kernel32!RtlZeroMemory to support NanoServer
William Godbe [Tue, 7 Jun 2016 17:23:05 +0000 (10:23 -0700)]
Merge pull request #5533 from wtgodbe/groovyFXFix
Copy linux builds from the right place
Rahul Kumar [Tue, 7 Jun 2016 16:59:09 +0000 (09:59 -0700)]
Merge pull request #5480 from rahku/arm64EnableR2R
ARM64: R2R - Implement CreateDictionaryLookupHelper stub
Fadi Hanna [Tue, 7 Jun 2016 16:32:01 +0000 (09:32 -0700)]
Fix for issue 3146: dotnet build is slower on Linux than Windows (#5524)
Fixing the loader logic on Unix to mimic the behavior on Windows,
in order to be able to successfully load and use R2R images on
Unix where the file extension does not have the ".ni." portion.
James Ko [Tue, 7 Jun 2016 16:26:39 +0000 (12:26 -0400)]
Use cached empty arrays for "".ToCharArray (#5504)
Jan Kotas [Tue, 7 Jun 2016 16:26:19 +0000 (09:26 -0700)]
Update GC from CoreRT (#5522)
https://github.com/dotnet/corert/tree/master/src/Native/gc
3bd148c2089a781458b99d787395377a25bd23d0
papaslavik [Tue, 7 Jun 2016 16:25:58 +0000 (19:25 +0300)]
Delegate ABI Test (#5507)
Detects issue #5275
John Chen [Tue, 7 Jun 2016 16:10:24 +0000 (09:10 -0700)]
Merge pull request #5539 from JohnChen0/r2r
Add config switch to selectively disable R2R images
Jiyoung Giuliana Yun [Tue, 7 Jun 2016 14:10:35 +0000 (23:10 +0900)]
Update wrong newline behavior for callipinvoke tests (#5553)
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
Jonghyun Park [Tue, 7 Jun 2016 13:31:59 +0000 (22:31 +0900)]
Disable HeapDump on Linux if FEATURE_EVENT_TRACE is not set (#5550)
This commit tries to disable heap dump on linux if FEATURE_EVENT_TRACE
is not set in order to fix #5546.
Jan Vorlicek [Tue, 7 Jun 2016 05:52:50 +0000 (07:52 +0200)]
Fix GC references reporting in tailcalls with helpers on Windows (#5538)
This change fixes a problem with reporting a range of exactly 3 continuous
GC references in tailcall with helper. The code was asserting in that case
in debug build and generating incorrect offsets in release build.
The problem was that the offset generation and assert was off by 1. It was
supposed to generate offset of the last reference in the range, but instead
generated offset after the last reference.
Jan Kotas [Tue, 7 Jun 2016 05:47:18 +0000 (22:47 -0700)]
Merge pull request #5545 from dotnet-bot/from-tfs
Merge changes from TFS
Carol Eidt [Tue, 7 Jun 2016 05:15:36 +0000 (22:15 -0700)]
Merge pull request #5528 from CarolEidt/IsLclVarUpdate
Factor out method to check for a lclVar update tree
Yi Zhang [Tue, 7 Jun 2016 03:15:46 +0000 (20:15 -0700)]
Use Ntdll!RtlZeroMemory instead of kernel32!RtlZeroMemory to support Nano Server
Aditya Mandaleeka [Tue, 7 Jun 2016 02:36:31 +0000 (19:36 -0700)]
Merge pull request #5548 from adityamandaleeka/remove_mmap_ignores_hint
Remove MMAP_IGNORES_HINT
John Chen (CLR) [Mon, 6 Jun 2016 23:00:42 +0000 (16:00 -0700)]
Add config switch to selectively disable R2R images
New config switch ReadyToRunExcludeList can be used to specify a
list of assembly simple names (separated by ';') that cannot use
Ready to Run images.
Carol Eidt [Mon, 6 Jun 2016 21:24:05 +0000 (14:24 -0700)]
Factor out method to check for a lclVar update tree
This is functionality currently incorporated in optIsLoopIncrTree(),
but which is also useful for the RyuJIT tutorial.
Aditya Mandaleeka [Tue, 7 Jun 2016 01:09:21 +0000 (18:09 -0700)]
Remove MMAP_IGNORES_HINT.
Alex Ghiondea [Tue, 7 Jun 2016 00:31:43 +0000 (17:31 -0700)]
Introduce explicity typeforwards to internal types that are needed by WinRT
GenFacades does not correcty create the type forwards for internal types even if there are internalsvisibleto attributes setup.
[tfs-changeset:
1610866]
Mike McLaughlin [Mon, 6 Jun 2016 23:14:07 +0000 (16:14 -0700)]
Fixed issue #5391 "libsosplugin.so getting an RPATH of /usr/lib/llvm on RHEL" (#5482)
Rahul Kumar [Mon, 6 Jun 2016 22:29:46 +0000 (15:29 -0700)]
Merge pull request #5452 from seanshpark/fixgccover
ARM64/Linux: fix compile error 'cannot be narrowed to type int'
wtgodbe [Mon, 6 Jun 2016 22:18:23 +0000 (15:18 -0700)]
Copy linux builds from the right place
Rahul Kumar [Fri, 3 Jun 2016 20:30:04 +0000 (13:30 -0700)]
ARM64: R2R - Implement CreateDictionaryLookupHelper stub
Brian Robbins [Mon, 6 Jun 2016 22:01:49 +0000 (15:01 -0700)]
Merge pull request #5529 from brianrob/spellcheck
Fix Incorrect URLs in Linux Tracing HOWTO
Mike McLaughlin [Mon, 6 Jun 2016 21:55:30 +0000 (14:55 -0700)]
Add doc on how to building lldb for OS X. (#5520)
Brian Robbins [Mon, 6 Jun 2016 21:50:11 +0000 (14:50 -0700)]
Fix incorrect URL.
Pat Gavlin [Mon, 6 Jun 2016 20:07:20 +0000 (13:07 -0700)]
Skip reloads and copies in `gcIsWriteBarrierCandidate`.
The change is actually in `gcWriteBarrierFormFromTargetAddress`. Because copies/reloads
may be placed inside of address-forming trees and because such operations are
transparent w.r.t. the GC-ness of their operand, these nodes should be skipped during
the check for write barriers.
Fixes #5484.
Pat Gavlin [Mon, 6 Jun 2016 20:29:54 +0000 (20:29 +0000)]
Merge pull request #5513 from pgavlin/RemoveOldJITPackaging
Remove the deprecated JIT packaging tools.
Pat Gavlin [Mon, 6 Jun 2016 20:28:47 +0000 (20:28 +0000)]
Merge pull request #5512 from pgavlin/ToplevelPrereleaseLabel
Use top level PreReleaseLabel
Brian Robbins [Mon, 6 Jun 2016 20:03:34 +0000 (13:03 -0700)]
Merge pull request #5511 from brianrob/linuxperf
Add Performance Tracing Documentation for Windows and Linux
Brian Robbins [Tue, 31 May 2016 21:59:47 +0000 (14:59 -0700)]
Add performance tracing documentation for Windows and Linux.
Peter Jas [Mon, 6 Jun 2016 19:56:21 +0000 (22:56 +0300)]
Remove Mono section from OS X build docs (#5499)
With some minor formatting changes.
Rahul Kumar [Mon, 6 Jun 2016 17:49:58 +0000 (10:49 -0700)]
Merge pull request #5448 from lemmaa/arm64-test-build-3
[ARM64/Linux] Fix wrong filename for case sensitive filesystem.
Pat Gavlin [Mon, 6 Jun 2016 15:58:39 +0000 (08:58 -0700)]
Remove the deprecated JIT packaging tools.
Matt Ellis [Sun, 5 Jun 2016 08:38:54 +0000 (01:38 -0700)]
Use top level PreReleaseLabel
Some projects were overriding PreReleaseLabel instead of inheriting the
parent one in the top level dir.props. In addition, some projects had
the value set to 'rc4' instead of 'rc3'.
Clean this up so we always use the label in the root dir.props
Sung-Jae Lee [Sun, 5 Jun 2016 15:01:58 +0000 (00:01 +0900)]
[ARM64/Linux] Fix 'error: 109 enumeration values not handled in switch' (#5493)
This fixes ARM64 Linux compilation error
```
/home/sjlee/git/coreclr/src/jit/emit.h:988:61: error: 109 enumeration
values not handled in switch: 'IF_NONE', 'IF_LABEL', 'IF_EN9'...
[-Werror,-Wswitch]
```
Geunsik Lim [Sat, 4 Jun 2016 15:07:05 +0000 (00:07 +0900)]
Linux/ARM: Adding rpath for shared library of exception_handling.pal_sxs.test1 (#5328)
Let's add the 'rpath' in order to fix error happened while
'paltest_pal_sxs_test1' (ELF) of PAL test is loading a shared library.
This 'rpath' statement is derived from the existing files such as
./ToolBox/SOS/Strike/CMakeLists.txt and dlls/mscordbi/CMakeLists.txt.
Ver2:
Apply 'rpath' in case of the Linux platform only
Ver1:
Let's add 'rpath' statement to the Linux platform environment
that we have experienced issue.
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
CC: Mike McLaughlin <mikem@microsoft.com>
Jan Vorlicek [Sat, 4 Jun 2016 08:26:48 +0000 (10:26 +0200)]
Fix allocation failure handling (#5473)
While investigating OOM related issues, I have hit two places where we were
not handling correctly the case when memory allocation failed.
In the StackString::OpenStringBuffer, when the Resize failed to allocate
properly sized buffer, we were returning the small internal buffer instead
of NULL. So the caller expected that the full requested size was prepared
and filled it with data, overwriting memory.
In CorUnix::InternalMapViewOfFile, when we have failed to allocate the
PMAPPED_VIEW_LIST to hold information on the mapping, we have unmapped
the memory again, but we have still returned the address of the now
unmapped mapping. The caller, MapViewOfFileEx, then returned this
address to its caller, since it didn't expect the CorUnix::InternalMapViewOfFile
to set its output parameter in the case of failure.
papaslavik [Sat, 4 Jun 2016 07:46:15 +0000 (10:46 +0300)]
Fix for #5275 Delegate Invocation On ARM Soft FP (#5362)
kingces95 [Sat, 4 Jun 2016 05:07:56 +0000 (22:07 -0700)]
Update new struct versioning rule (#5429)
If I understand this document, any change to a struct that invalidates its layout in other versioning bubbles would be considered a breaking change. I believe this would include adding or removing a field or changing the type of a field in an internal struct if that struct is included as a (possible non-public) field in a public struct; just because a struct is internal doesn't mean it's not subject to the new versioning rule.
Jan Kotas [Sat, 4 Jun 2016 05:04:45 +0000 (22:04 -0700)]
Merge pull request #5468 from dotnet-bot/from-tfs
Merge changes from TFS
John Chen [Sat, 4 Jun 2016 05:01:13 +0000 (22:01 -0700)]
Add more opcodes to x86 stack unwinder (#5491)
Add x86 opcodes 0x01 and 0x03 (ADD instruction) to stack unwinder.
These instructions are generated by C++ compiler as part of the
JIT_StaticFieldAddress_Dynamic method, triggering issue #5464.
James Ko [Sat, 4 Jun 2016 04:59:49 +0000 (00:59 -0400)]
Remove all usages of CONTRACTS_FULL from mscorlib (#5454)
* Remove CONTRACTS_FULL from Array
* Remove CONTRACTS_FULL from ArraySortHelper
* Remove CONTRACTS_FULL from ICollection
* Remove CONTRACTS_FULL from IDictionary
* Remove CONTRACTS_FULL from IEnumerable
* Remove CONTRACTS_FULL from IList
* Remove CONTRACTS_FULL from IReadOnlyCollection
* Remove CONTRACTS_FULL from IReadOnlyDictionary
* Remove CONTRACTS_FULL from IReadOnlyList
* Remove CONTRACTS_FULL from the nongeneric collections
* Remove CONTRACTS_FULL from IConvertible and IFormattable
* Remove CONTRACTS_FULL from System.IO
* Remove CONTRACTS_FULL from System.Reflection
Jarret Shook [Sat, 4 Jun 2016 04:28:56 +0000 (21:28 -0700)]
Merge pull request #5486 from jashook/x86_cc_fix
Use explicit calling convention for coredistools
Austin Wise [Sat, 4 Jun 2016 01:53:29 +0000 (18:53 -0700)]
Fix encoding of gccover.cpp. (#5458)
This file fails to compile while under codepage 932 (Shift JIS).
This commits removes or replaces the offending chacters with ASCII.
Xiangyang (Mark) Guo [Sat, 4 Jun 2016 01:51:17 +0000 (18:51 -0700)]
Added JIT_Stelem_Ref helper function for Linux (#5390)
Jarret Shook [Fri, 3 Jun 2016 23:36:17 +0000 (16:36 -0700)]
Use explicit calling convention for coredistools
coreclr is built with /Gz (stdcall), explicitly use __cdecl calling
convention for calling functions in coredistools
Fadi Hanna [Fri, 3 Jun 2016 23:30:37 +0000 (16:30 -0700)]
Fix for issue #5467: [R2R] InvalidCastException in timer tests. (#5478)
We were not using the correct MethodTable pointer when constructing delegate objects to interface methods
Mike McLaughlin [Fri, 3 Jun 2016 21:15:43 +0000 (14:15 -0700)]
Limit exports on debugger modules. (#5442)
Remove obsolete ExecuteAssembly hosting API from coreclr.
Needed to add palrt to dbi instead of trying to export from palrt.
Didn't end up adding the --no-allow-shlib-undefined linker option because Centos
and FreeBSD link with lots of undefined symbols from the C++ runtime libraries.
Aditya Mandaleeka [Fri, 3 Jun 2016 20:13:47 +0000 (13:13 -0700)]
Merge pull request #5462 from pefoley2/uname_p
Properly handle uname -p output that contains spaces
David Mason [Fri, 3 Jun 2016 19:02:29 +0000 (12:02 -0700)]
Merge pull request #5247 from davmason/master
Enable managed heap dumps on Linux
David Mason [Fri, 3 Jun 2016 19:02:08 +0000 (12:02 -0700)]
Merge pull request #5382 from davmason/filtering
Add filtering logic to XplatEventLogger
Russ Keldorph [Fri, 3 Jun 2016 18:47:49 +0000 (11:47 -0700)]
Merge pull request #5432 from RussKeldorph/fix5428
Remove unnecessary dependencies from JIT tests causing R2R failures
Fadi Hanna [Fri, 3 Jun 2016 18:29:54 +0000 (11:29 -0700)]
Fix failing tests on Ubuntu R2R configuration (#5435)
John Chen [Fri, 3 Jun 2016 17:18:37 +0000 (10:18 -0700)]
Fix desktop NGen break caused by CoreCLR change, and add a missing contract
[tfs-changeset:
1610323]
Matt Ellis [Fri, 3 Jun 2016 16:10:15 +0000 (09:10 -0700)]
Merge pull request #5453 from dotnet-bot/from-tfs
Merge changes from TFS
Jose Perez Rodriguez [Fri, 3 Jun 2016 16:09:15 +0000 (09:09 -0700)]
Merge pull request #5436 from joperezr/DisableNativeResourceCompileForManagedCode
Disabling NativeResourceCompile Target for Managed libraries
Peter Foley [Fri, 3 Jun 2016 15:11:59 +0000 (11:11 -0400)]
Properly handle uname -p output that contains spaces
e.g. Intel(R) Xeon(R) CPU E5-2603 0 @ 1.80GHz
mkborg [Fri, 3 Jun 2016 14:20:06 +0000 (18:20 +0400)]
Fix readytorun tests asking for user input (#5459)
'readytorun/mainv1' and 'readytorun/mainv2' tests on Linux wait for human
response asking permission to remove write-protected file:
rm: remove write-protected regular file 'test.dll'?
'rm' command shall be used with '-f' flag to make it non-interactive.
Jan Vorlicek [Fri, 3 Jun 2016 10:57:16 +0000 (12:57 +0200)]
Fix CFI annotation of AMD64 assembler helpers on Unix (#5446)
This change fixes annotations of AMD64 assembler helpers on Unix. The helpers that
don't use RBP as a stack frame were missing setting the RSP as a CFA register and
unwinding through them was failing.
This was hit in R2R scenarios, with the DelayLoad_Helper_Obj not being unwindable.
John Chen [Fri, 3 Jun 2016 04:59:01 +0000 (21:59 -0700)]
Avoid calling prestub through wrong MethodDesc (#5439)
While fixing up a call from a Ready-to-Run method, we don't always
have the right implementation MethodDesc for the target of the call.
Thus it is potentially unsafe to DoPrestub using the MethodDesc we have,
causing a test failue (Loader.classloader_regressions_429802_CMain)
in issue #5366. This is fixed by not calling DoPrestub from
ExternalMethodFixupWorker.
Alex Ghiondea [Fri, 3 Jun 2016 02:31:04 +0000 (19:31 -0700)]
Some types were only supposed to be present when FEATURE_COMINTEROP was set.
This change fixes that.
[tfs-changeset:
1610157]
Geunsik Lim [Fri, 3 Jun 2016 01:43:31 +0000 (10:43 +0900)]
Linux/ARM: Support -O3 optimization level in release build (#5396)
Currently, we can build coreclr with -O1 flag of clang in release
build mode for Linux/ARM. This instruction is to enable -O3 optimization
level of clang on ARM/Linux by fixing the bug of llvm.
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
SaeHie Park [Fri, 3 Jun 2016 01:40:51 +0000 (10:40 +0900)]
ARM64/Linux: fix compile error 'cannot be narrowed to type int'
This fixes ARM64 Linux compilation error
```
src/vm/gccover.cpp:1219:14: error: case value evaluates to
3134983650, which cannot be narrowed to type 'int' [-Wc++11-narrowing]
case INTERRUPT_INSTR_PROTECT_RET:
^
src/vm/gccover.h:105:41: note: expanded from macro 'INTERRUPT_INSTR_PROTECT_RET'
```
Swaroop Sridhar [Fri, 3 Jun 2016 01:40:43 +0000 (18:40 -0700)]
Merge pull request #5443 from swaroop-sridhar/CDTver
CoreDisTools Package: Make minor version generic
Andy Ayers [Fri, 3 Jun 2016 01:23:05 +0000 (18:23 -0700)]
Merge pull request #5402 from AndyAyersMS/InlineAllowCpBlk
Inliner: enable inlining of methods with cpblk
Sung-Jae Lee [Thu, 2 Jun 2016 23:59:49 +0000 (08:59 +0900)]
Fix wrong filename for case sensitive filesystem.
Swaroop Sridhar [Thu, 2 Jun 2016 23:29:11 +0000 (16:29 -0700)]
CoreDisTools Package: Make minor version generic
Change the version requirement of CoreDisTools package
from 1.0.1-prerelease-00001 to 1.0.1-prerelease-*
so that the test infrastructure picks up the latest
available version.
If only the 1.0.1-prerelease-xxxxx number changes,
there is no change in the library API. There may be
a change in the implementation.
The current need for this change is that we need to pick up
a new version of the CoreDisTools package (with an
implementation fix) for X86 testing.
Alex Ghiondea [Thu, 2 Jun 2016 23:20:39 +0000 (16:20 -0700)]
Introduce additional types to the reference assembly for mscorlib and typeforwards for those type to the right assembly.
[tfs-changeset:
1610086]
Jarret Shook [Thu, 2 Jun 2016 22:39:43 +0000 (15:39 -0700)]
Merge pull request #5433 from jashook/abs_single
Disable perf_codequality_math_functions
Jose Perez Rodriguez [Thu, 2 Jun 2016 22:38:59 +0000 (15:38 -0700)]
Disabling NativeResourceCompile Target for Managed libraries
Jarret Shook [Thu, 2 Jun 2016 22:22:29 +0000 (15:22 -0700)]
Disable perf_codequality_math_functions
abssingle relies on a certain level of floating point precision and fails if the diff is outside of that precision.
Russ Keldorph [Thu, 2 Jun 2016 22:09:28 +0000 (15:09 -0700)]
Remove unnecessary dependencies from JIT tests causing R2R failures
b05623 did basically nothing so I deleted it.
I removed a presumably useless VisualBasic attribute and other unnecessary
assembly references from the other two tests.
Fixes #5428
Pat Gavlin [Thu, 2 Jun 2016 20:03:59 +0000 (20:03 +0000)]
Merge pull request #5411 from pgavlin/RVAStaticsUnix
Disable RVA statics tests outside Windows.
Kyungwoo Lee [Thu, 2 Jun 2016 19:46:45 +0000 (12:46 -0700)]
Merge pull request #5417 from kyulee1/fixdetail
Fix Details for ILAsm/ILDasm/ClrJit Binaries
Rajkumar Janakiraman [Thu, 2 Jun 2016 19:10:13 +0000 (12:10 -0700)]
Fixing GUID_NULL. (#5415)
Swaroop Sridhar [Thu, 2 Jun 2016 19:01:57 +0000 (12:01 -0700)]
Merge pull request #5356 from swaroop-sridhar/Trap
GCStress: Fix a race-condition
Eugene Rozenfeld [Thu, 2 Jun 2016 18:46:43 +0000 (11:46 -0700)]
Merge pull request #5394 from erozenfeld/TailCallBug5164
Fix for methods that tail call via helpers
Tanner Gooding [Thu, 2 Jun 2016 18:29:59 +0000 (11:29 -0700)]
Fixing an error in PAL_pow that caused it to return an incorrect value for a couple scenarios. (#5399)
* Fixing an error in PAL_pow that caused it to return an incorrect value for a couple scenarios.
* Adding additional PAL_pow tests.
Kyungwoo Lee [Thu, 2 Jun 2016 17:02:58 +0000 (10:02 -0700)]
Fix Details for ILAsm/ILDasm/ClrJit Binaries
Fixes https://github.com/dotnet/coreclr/issues/5408
Gaurav Khanna [Thu, 2 Jun 2016 16:21:07 +0000 (09:21 -0700)]
Merge pull request #5409 from gkhanna79/FixDetails
Fix details for CoreCLR binary
Wes Haggard [Thu, 2 Jun 2016 15:38:14 +0000 (08:38 -0700)]
Merge pull request #5400 from weshaggard/FixPackageLicenseFiles
Include license files into the packages
Pat Gavlin [Thu, 2 Jun 2016 15:21:13 +0000 (08:21 -0700)]
Disable RVA statics tests outside Windows.
These tests are not supported in general and are already disabled
for Windows. Disable them for *nix as well.
Gaurav Khanna [Thu, 2 Jun 2016 14:07:50 +0000 (07:07 -0700)]
Fix details for CoreCLR binary
Jonghyun Park [Thu, 2 Jun 2016 13:57:13 +0000 (22:57 +0900)]
Enable FEATURE_HIJACK for ARM (#5404)
Currently, FEATURE_HIJACK is disabled for ARM, and thus CoreCLR got
stuck if GC is invoked from JITed code.
This commit attempts to port FEATURE_HIJACK from ARM (windows) in order
to fix #5403.
John Chen [Thu, 2 Jun 2016 13:43:23 +0000 (06:43 -0700)]
Validate new object construction in Ready to Run (#5398)
Existing Ready to Run implementation doesn't fully validate requests
to create object instances, and allows some invalidate requests (e.g.,
to create an instance of an abstract class). This causes failure of
test case Loader.classloader_generics_Instantiation_Negative_abstract01
in issue #5366.
Wes Haggard [Thu, 2 Jun 2016 06:14:13 +0000 (23:14 -0700)]
Include license files into the packages
David Mason [Tue, 31 May 2016 22:07:09 +0000 (15:07 -0700)]
Add filtering logic to XplatEventLogger
Brian Sullivan [Thu, 2 Jun 2016 02:49:53 +0000 (19:49 -0700)]
Merge pull request #5386 from briansull/arm32-hfa-fix
Fix for HFA args on ARM32
John Chen [Thu, 2 Jun 2016 01:36:23 +0000 (18:36 -0700)]
Add limit to number of generics methods to compile by CrossGen (#5383)
Recursive generic definitions can easily make CrossGen take very
long time to complete. This is the cause of a failure in issue #5366.
This is fixed by limiting the number of methods to compile by CrossGen.
Brian Sullivan [Thu, 2 Jun 2016 01:27:30 +0000 (18:27 -0700)]
Added additional fix for ARM32 in lvHfaSlots
Tanner Gooding [Thu, 2 Jun 2016 01:17:24 +0000 (18:17 -0700)]
Improvements to System.Math InternalCall code. (#4847)
* Adding some basic System.Math performance tests.
* Renaming 'floatnative' to 'floatdouble'.
* Removing outdated workarounds in the floatdouble interop code.
* Renaming 'finite.cpp' to 'math.cpp'
* Updating the double-precision math tests.
* Updating PAL_EPSILON to be more precise.
Eugene Rozenfeld [Thu, 2 Jun 2016 00:38:53 +0000 (17:38 -0700)]
JIT_TailCall helper has an implicit assumption that all tail call arguments live
on the caller's frame. If an argument lives on the caller caller's frame, it may get
overwritten if that frame is reused for the tail call. Therefore, we should always copy
struct parameters if they are passed as arguments to a tail call.
The simple il regression test has a scenario similar to that of the F# repro in #5164.
Closes #5164.
Jan Kotas [Thu, 2 Jun 2016 00:09:15 +0000 (17:09 -0700)]
Import `new` multi-dimmensional array using the non-vararg helper (#5313)
* Factor out import of `new` multi-dimmensional array
* Implement import of `new` multi-dimmensional array using the non-vararg helper
* Delete RETURN_TYPE_IS_COMPOSITE inlining observation because of it is never hit.
* Add R2R id for non-vararg helper
* Reformat affected code to follow coding conventions
Pat Gavlin [Wed, 1 Jun 2016 23:58:48 +0000 (23:58 +0000)]
Merge pull request #5375 from pgavlin/CSECleanup
Remove some lexical-CSE-related code.
Swaroop Sridhar [Wed, 1 Jun 2016 04:15:07 +0000 (21:15 -0700)]
GCStress: Fix a race-condition
This change ensures that calls to CORINFO_HELP_STOP_FOR_GC() themselves
are not converted to GC-Stress traps -- thus preventing the race between
the GC thread, and a managed thread under GCStress.
Identification of calls to CORINFO_HELP_STOP_FOR_GC():
Since this is a GCStress only requirement, its not worth special identification in the GcInfo
Since CORINFO_HELP_STOP_FOR_GC() calls are realized as indirect calls by the JIT, we cannot identify
them by address at the time of SprinkleBreakpoints().
So, we actually let the SprinkleBreakpoints() replace the call to CORINFO_HELP_STOP_FOR_GC()
with a trap, and revert it back to the original instruction the first time we hit the trap in
OnGcCoverageInterrupt().
Upside: No change to GCInfo or JIT is necessary
Downside: Need to decode a few bytes on every GCStress interrupt.
Fixes #4794
Koundinya Veluri [Wed, 1 Jun 2016 22:18:30 +0000 (15:18 -0700)]
Merge pull request #5365 from kouvel/NamedMutexTests
Named mutexes: fix handle leak, add stress tests