platform/upstream/coreclr.git
8 years ago[ARM64/Linux] Fix 'error: 109 enumeration values not handled in switch' (#5493)
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]
```

8 years agoLinux/ARM: Adding rpath for shared library of exception_handling.pal_sxs.test1 (...
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>
8 years agoFix allocation failure handling (#5473)
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.

8 years agoFix for #5275 Delegate Invocation On ARM Soft FP (#5362)
papaslavik [Sat, 4 Jun 2016 07:46:15 +0000 (10:46 +0300)]
Fix for #5275 Delegate Invocation On ARM Soft FP (#5362)

8 years agoUpdate new struct versioning rule (#5429)
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.

8 years agoMerge pull request #5468 from dotnet-bot/from-tfs
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

8 years agoAdd more opcodes to x86 stack unwinder (#5491)
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.

8 years agoRemove all usages of CONTRACTS_FULL from mscorlib (#5454)
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

8 years agoMerge pull request #5486 from jashook/x86_cc_fix
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

8 years agoFix encoding of gccover.cpp. (#5458)
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.

8 years agoAdded JIT_Stelem_Ref helper function for Linux (#5390)
Xiangyang (Mark) Guo [Sat, 4 Jun 2016 01:51:17 +0000 (18:51 -0700)]
Added JIT_Stelem_Ref helper function for Linux (#5390)

8 years agoUse explicit calling convention for coredistools
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

8 years agoFix for issue #5467: [R2R] InvalidCastException in timer tests. (#5478)
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

8 years agoLimit exports on debugger modules. (#5442)
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.

8 years agoMerge pull request #5462 from pefoley2/uname_p
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

8 years agoMerge pull request #5247 from davmason/master
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

8 years agoMerge pull request #5382 from davmason/filtering
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

8 years agoMerge pull request #5432 from RussKeldorph/fix5428
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

8 years agoFix failing tests on Ubuntu R2R configuration (#5435)
Fadi Hanna [Fri, 3 Jun 2016 18:29:54 +0000 (11:29 -0700)]
Fix failing tests on Ubuntu R2R configuration (#5435)

8 years agoFix desktop NGen break caused by CoreCLR change, and add a missing contract
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]

8 years agoMerge pull request #5453 from dotnet-bot/from-tfs
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

8 years agoMerge pull request #5436 from joperezr/DisableNativeResourceCompileForManagedCode
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

8 years agoProperly handle uname -p output that contains spaces
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

8 years agoFix readytorun tests asking for user input (#5459)
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.

8 years agoFix CFI annotation of AMD64 assembler helpers on Unix (#5446)
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.

8 years agoAvoid calling prestub through wrong MethodDesc (#5439)
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.

8 years agoSome types were only supposed to be present when FEATURE_COMINTEROP was set.
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]

8 years agoLinux/ARM: Support -O3 optimization level in release build (#5396)
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>
8 years agoMerge pull request #5443 from swaroop-sridhar/CDTver
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

8 years agoMerge pull request #5402 from AndyAyersMS/InlineAllowCpBlk
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

8 years agoCoreDisTools Package: Make minor version generic
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.

8 years agoIntroduce additional types to the reference assembly for mscorlib and typeforwards...
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]

8 years agoMerge pull request #5433 from jashook/abs_single
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

8 years agoDisabling NativeResourceCompile Target for Managed libraries
Jose Perez Rodriguez [Thu, 2 Jun 2016 22:38:59 +0000 (15:38 -0700)]
Disabling NativeResourceCompile Target for Managed libraries

8 years agoDisable perf_codequality_math_functions
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.

8 years agoRemove unnecessary dependencies from JIT tests causing R2R failures
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

8 years agoMerge pull request #5411 from pgavlin/RVAStaticsUnix
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.

8 years agoMerge pull request #5417 from kyulee1/fixdetail
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

8 years agoFixing GUID_NULL. (#5415)
Rajkumar Janakiraman [Thu, 2 Jun 2016 19:10:13 +0000 (12:10 -0700)]
Fixing GUID_NULL. (#5415)

8 years agoMerge pull request #5356 from swaroop-sridhar/Trap
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

8 years agoMerge pull request #5394 from erozenfeld/TailCallBug5164
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

8 years agoFixing an error in PAL_pow that caused it to return an incorrect value for a couple...
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.

8 years agoFix Details for ILAsm/ILDasm/ClrJit Binaries
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

8 years agoMerge pull request #5409 from gkhanna79/FixDetails
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

8 years agoMerge pull request #5400 from weshaggard/FixPackageLicenseFiles
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

8 years agoDisable RVA statics tests outside Windows.
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.

8 years agoFix details for CoreCLR binary
Gaurav Khanna [Thu, 2 Jun 2016 14:07:50 +0000 (07:07 -0700)]
Fix details for CoreCLR binary

8 years agoEnable FEATURE_HIJACK for ARM (#5404)
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.

8 years agoValidate new object construction in Ready to Run (#5398)
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.

8 years agoInclude license files into the packages
Wes Haggard [Thu, 2 Jun 2016 06:14:13 +0000 (23:14 -0700)]
Include license files into the packages

8 years agoAdd filtering logic to XplatEventLogger
David Mason [Tue, 31 May 2016 22:07:09 +0000 (15:07 -0700)]
Add filtering logic to XplatEventLogger

8 years agoMerge pull request #5386 from briansull/arm32-hfa-fix
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

8 years agoAdd limit to number of generics methods to compile by CrossGen (#5383)
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.

8 years agoAdded additional fix for ARM32 in lvHfaSlots
Brian Sullivan [Thu, 2 Jun 2016 01:27:30 +0000 (18:27 -0700)]
Added additional fix for ARM32 in lvHfaSlots

8 years agoImprovements to System.Math InternalCall code. (#4847)
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.

8 years agoJIT_TailCall helper has an implicit assumption that all tail call arguments live
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.

8 years agoImport `new` multi-dimmensional array using the non-vararg helper (#5313)
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

8 years agoMerge pull request #5375 from pgavlin/CSECleanup
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.

8 years agoGCStress: Fix a race-condition
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

8 years agoMerge pull request #5365 from kouvel/NamedMutexTests
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

8 years agoMerge pull request #5384 from wtgodbe/publishing
William Godbe [Wed, 1 Jun 2016 22:11:37 +0000 (15:11 -0700)]
Merge pull request #5384 from wtgodbe/publishing

Publish pkg/symbolpkg folders within Release/Debug folders

8 years agoPublish pkg/symbolpkg folders within Release/Debug folders
wtgodbe [Wed, 1 Jun 2016 22:04:46 +0000 (15:04 -0700)]
Publish pkg/symbolpkg folders within Release/Debug folders

8 years agoProposed fix for HFA args on ARM32
Brian Sullivan [Wed, 1 Jun 2016 20:50:55 +0000 (13:50 -0700)]
Proposed fix for HFA args on ARM32

8 years agoRemove some lexical-CSE-related code.
Pat Gavlin [Wed, 1 Jun 2016 18:11:26 +0000 (11:11 -0700)]
Remove some lexical-CSE-related code.

Lexical CSE is no more; remove some related code:
- Remove the `lexicalCSE` parameter and related checks from `optConfigDisableCSE`.
- Remove the `VALNUM_CSE_ENABLED` symbol: this symbol is unconditionally
  set to 1 and doesn't control much other than the behavior of
  `optConfigDisableCSE`

8 years agoSpeed up CreateComparer in Comparer/EqualityComparer (#5315)
James Ko [Wed, 1 Jun 2016 20:19:47 +0000 (16:19 -0400)]
Speed up CreateComparer in Comparer/EqualityComparer (#5315)

8 years agoFix for issue 5343: Assert Failure: !"Cannot take the address of an uninstantiated...
Fadi Hanna [Wed, 1 Jun 2016 20:05:45 +0000 (13:05 -0700)]
Fix for issue 5343: Assert Failure: !"Cannot take the address of an uninstantiated generic method." (#5347)

The problem was that the delegates code base was not correctly instantiating interface GVMs on target types
(after finding the target method on the target type using slot numbers), and ended up calling uninstantiated
generic method definitions on delegate invokes.

8 years agoMerge pull request #5372 from kyulee1/eh11
Kyungwoo Lee [Wed, 1 Jun 2016 19:37:34 +0000 (12:37 -0700)]
Merge pull request #5372 from kyulee1/eh11

ARM64: eh11_large exclusion

8 years agoMerge pull request #5376 from wtgodbe/publishFix
William Godbe [Wed, 1 Jun 2016 19:19:32 +0000 (12:19 -0700)]
Merge pull request #5376 from wtgodbe/publishFix

Publish packages into folders named for their configuration

8 years agoPublish packages into folders named for their configuration
wtgodbe [Wed, 1 Jun 2016 19:18:33 +0000 (12:18 -0700)]
Publish packages into folders named for their configuration

8 years agoMerge pull request #5306 from jamesqo/jitdump-docs
Andy Ayers [Wed, 1 Jun 2016 19:02:21 +0000 (12:02 -0700)]
Merge pull request #5306 from jamesqo/jitdump-docs

Add new document on how to setup/view JIT dumps

8 years agoSquashed commit of the following:
David Mason [Thu, 26 May 2016 02:20:54 +0000 (19:20 -0700)]
Squashed commit of the following:

commit 45d11dde6acdc3def0a13302c527e3c7a662b009
Author: David Mason <davmason@microsoft.com>
Date:   Wed May 25 19:00:10 2016 -0700

    Squashed commit of the following:

    commit f586c5552d8225f13b5a0476f5bdf9362ba9ee8d
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Wed May 25 14:17:45 2016 -0700

        Fix heap dump GC type to be Induced

        Previously we didn't set the GC type to be "Induced" when collecting a heap dump.  This would cause perfview to ignore the GC.

    commit 78866dfdcc15ebade0a2faeb6af9a5b7f5e0a170
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Wed May 25 13:18:41 2016 -0700

        Enable LTTng events for creating a gcdump

        There were a handful of events that were not properly enabled on linux.  This change adds enables the remaining events to allow heap dumps.

    commit 04d3d6c3d9a1c87e88bc1db91f717481f21874bc
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Tue May 24 12:57:16 2016 -0700

        Fix BulkTypeEvents

        The buffer used for BulkTypeEvents was defined as a BYTE** instead of BYTE*.  This lead to incorrectly written BulkTypeEvents.

    commit 8ceab5828e8101b134beb0175b1842487607636c
    Author: David Mason <davmason@microsoft.com>
    Date:   Wed May 18 11:21:12 2016 -0700

        Add logic for finalizer thread to check to see if a heap dump is required.

    commit cd64b4884d639ce90e4192975533f5e873bd1cb3
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Thu May 19 14:24:01 2016 -0700

        Special case BulkType LTTng event

        The BulkType LTTng event does not have a real element size.  Instead each element is variable length.  This change updates the FireBulkType method to allow us to pass the correct size to LTTng.

    commit f8ab762106188bc124af802ec0490ef8375412b5
    Merge: 77495aa f0d9ab4
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Thu May 19 13:49:43 2016 -0700

        Merge branch 'gc-events' of github.com:leculver/coreclr into gc-events

    commit f0d9ab4e52c69b45d2d169983c23ab5263edb5c0
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Thu May 19 12:51:01 2016 -0700

        Enable BulkType LTTng events on linux

        Emit calls to FireBulkType events on linux.  This commit enables the code, but currently the wrong size is used in the etw subsystem (this function must be special cased).

    commit 25c682ce49f51298f011046faa50443c569943b7
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Wed May 18 12:06:05 2016 -0700

        Fix multiple LTTng issues

        - Only emit LTTng events when LTTng is enabled.  We now use the tracepoint_enabled macro to check if an event is enabled...when the version of lttng is installed that supports it.
        - Unsplit LTTng events.  Previously we split LTTng events when they exceeded the field limit of LTTng.  Now we emit those events as a raw byte array so that it matches their windows ETW counterparts byte-for-byte.
        - Emit any event with a struct or embedded array as a raw byte array too.  The structure of memory that LTTng emits is incompatible with our ETW parsing.  Changing events with struct/array fields greatly simplifies the parsing of events.

    commit 77495aa1b3415dcee8d4b6e8eb1d0b5cb921f821
    Merge: 754596d f77577c
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Tue May 17 18:24:55 2016 -0700

        Merge branch 'master' of github.com:leculver/coreclr

    commit 754596d9c51d07db9267148a20f81c786f719312
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Tue May 17 18:21:54 2016 -0700

        Squashed commit of the following:

        commit f77577c1d7c552de9e75f6fb98a656a1d09bf8b2
        Author: Lee Culver <leculver@microsoft.com>
        Date:   Tue May 17 18:04:18 2016 -0700

            Properly handle arrays in LTTng

            Arrays were not being properly handled by the LTTng code generator.

        commit 390e998719e050a4e61b29bef4c8f8ecbff3423f
        Author: Lee Culver <leculver@microsoft.com>
        Date:   Tue May 17 11:21:07 2016 -0700

            Manually write events with structs

            Manually write events to LTTng which have structs embedded in them.

        commit 54ae7c79f3c96987504cece302513ac9215afbfe
        Author: Lee Culver <leculver@microsoft.com>
        Date:   Tue May 17 09:12:45 2016 -0700

            Fix issue with struct sizes

            Struct sizes were not properly calculated for manually saved events.

        commit d4e59b1b8b18822e551e585ebe006e5b66066bf8
        Author: Lee Culver <leculver@microsoft.com>
        Date:   Mon May 16 20:57:33 2016 -0700

            Fix tests

            Tests were not being generated properly, as they skipped a parameter.
            This is now fixed.

        commit 91d68c7ee36f28b1d9de8d0242edcd078416dc80
        Author: Lee Culver <leculver@microsoft.com>
        Date:   Wed May 11 17:41:23 2016 -0700

            Remove excess fields in LTTng stream

            Extra fields were inserted into LTTng to calculate the size of struct
            pointers.  Now this calculation is done natively without needing to
            insert the extra fields.

        commit 3bf826f5e36637ff5188d0205510d7236458075a
        Author: Lee Culver <leculver@microsoft.com>
        Date:   Tue May 10 10:00:39 2016 -0700

            Re-enable dynamic linking to fix a load issue

            Was getting a loader issue on startup, disabling static linking for now.

        commit aacb45ff675d2299df938493416f875096ec446c
        Author: Lee Culver <leculver@microsoft.com>
        Date:   Thu Apr 28 20:56:01 2016 -0700

            Unsplit lttng events

            LTTng has a limitation in that it cannot emit events with more than 9
            parameters.  Previously we would split these events into multiple
            events.  However this proves to be very difficult to consume with
            TraceEvent.  Instead we now pack the parameters into a byte array an
            emit the byte array + length as a single event, avoiding the need to
            recombine events later.

        commit a9a630da28d42132c2e8929909e86545fbe630c9
        Author: Lee Culver <leculver@microsoft.com>
        Date:   Wed Apr 20 13:31:33 2016 -0700

            Only emit LTTng events when they are enabeld.

            This changes adds a check for tracepoint_enabled (when that feature is available).
            This change also statically compiles against the LTTng libraries (instead of dynamically) to avoid using entrypoints that may not be there if compiled against a different lttng that lacks the tracepoint_enabled entrypoint.

    commit f77577c1d7c552de9e75f6fb98a656a1d09bf8b2
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Tue May 17 18:04:18 2016 -0700

        Properly handle arrays in LTTng

        Arrays were not being properly handled by the LTTng code generator.

    commit 390e998719e050a4e61b29bef4c8f8ecbff3423f
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Tue May 17 11:21:07 2016 -0700

        Manually write events with structs

        Manually write events to LTTng which have structs embedded in them.

    commit 54ae7c79f3c96987504cece302513ac9215afbfe
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Tue May 17 09:12:45 2016 -0700

        Fix issue with struct sizes

        Struct sizes were not properly calculated for manually saved events.

    commit d4e59b1b8b18822e551e585ebe006e5b66066bf8
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Mon May 16 20:57:33 2016 -0700

        Fix tests

        Tests were not being generated properly, as they skipped a parameter.
        This is now fixed.

    commit 91d68c7ee36f28b1d9de8d0242edcd078416dc80
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Wed May 11 17:41:23 2016 -0700

        Remove excess fields in LTTng stream

        Extra fields were inserted into LTTng to calculate the size of struct
        pointers.  Now this calculation is done natively without needing to
        insert the extra fields.

    commit 3bf826f5e36637ff5188d0205510d7236458075a
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Tue May 10 10:00:39 2016 -0700

        Re-enable dynamic linking to fix a load issue

        Was getting a loader issue on startup, disabling static linking for now.

    commit aacb45ff675d2299df938493416f875096ec446c
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Thu Apr 28 20:56:01 2016 -0700

        Unsplit lttng events

        LTTng has a limitation in that it cannot emit events with more than 9
        parameters.  Previously we would split these events into multiple
        events.  However this proves to be very difficult to consume with
        TraceEvent.  Instead we now pack the parameters into a byte array an
        emit the byte array + length as a single event, avoiding the need to
        recombine events later.

    commit a9a630da28d42132c2e8929909e86545fbe630c9
    Author: Lee Culver <leculver@microsoft.com>
    Date:   Wed Apr 20 13:31:33 2016 -0700

        Only emit LTTng events when they are enabeld.

        This changes adds a check for tracepoint_enabled (when that feature is available).
        This change also statically compiles against the LTTng libraries (instead of dynamically) to avoid using entrypoints that may not be there if compiled against a different lttng that lacks the tracepoint_enabled entrypoint.

8 years agoARM64: eh11_large exclusion
Kyungwoo Lee [Wed, 1 Jun 2016 17:24:39 +0000 (10:24 -0700)]
ARM64: eh11_large exclusion

This test often fails in release run.

8 years agoMerge pull request #4918 from stephentoub/task_parent_size
Stephen Toub [Wed, 1 Jun 2016 17:24:34 +0000 (13:24 -0400)]
Merge pull request #4918 from stephentoub/task_parent_size

Shrink Task size by 10%

8 years agoAdd new document on how to setup/view JIT dumps
James Ko [Wed, 1 Jun 2016 17:19:22 +0000 (17:19 +0000)]
Add new document on how to setup/view JIT dumps

8 years agoRemove duplicate avoid in comments from a few files (#5363)
James Singleton [Wed, 1 Jun 2016 16:27:43 +0000 (17:27 +0100)]
Remove duplicate avoid in comments from a few files (#5363)

Remove double avoid in comments

8 years agoMerge pull request #4909 from lemmaa/unit-test-enhancement
Aditya Mandaleeka [Wed, 1 Jun 2016 16:15:10 +0000 (09:15 -0700)]
Merge pull request #4909 from lemmaa/unit-test-enhancement

Add extra options to 'runtest.sh' for effective test monitoring.

8 years agoAdd more Ready-to-Run generics tests (#5190)
John Chen [Wed, 1 Jun 2016 14:59:52 +0000 (07:59 -0700)]
Add more Ready-to-Run generics tests (#5190)

8 years agoAdd named mutex stress tests
Koundinya Veluri [Mon, 23 May 2016 17:42:08 +0000 (10:42 -0700)]
Add named mutex stress tests

- The existing PAL tests are run in parallel, each in a separate thread, for a specified duration

8 years agoFix handle leak when creating or opening named mutex fails
Koundinya Veluri [Mon, 23 May 2016 17:42:08 +0000 (10:42 -0700)]
Fix handle leak when creating or opening named mutex fails

- After the pal object is registered, it gets a second reference from the handle. Upon an error after that, the handle needs to be revoked in addition to releasing the initial reference.

8 years agoARM/Linux: Fix Exception Handler PAL Test Fail (#5360)
MyungJoo Ham [Wed, 1 Jun 2016 10:22:10 +0000 (19:22 +0900)]
ARM/Linux: Fix Exception Handler PAL Test Fail (#5360)

The return address should be kept intact, not recovered
just yet. It is going to be recovered by libgcc's
rescore_core_regs much later, few instructions before
heading back to "catch".

Fixes #5358

8 years agoComment typo fix: removed double word (#5359)
Kurt Aadnoy [Wed, 1 Jun 2016 10:20:54 +0000 (12:20 +0200)]
Comment typo fix: removed double word (#5359)

The overflow check comment for AllocateStringFastMP_InlineGetThread contained an extra "avoid".

8 years agoFix JIT PInvoke Check Failure on Linux/ARM (#5322)
Jonghyun Park [Wed, 1 Jun 2016 10:19:55 +0000 (19:19 +0900)]
Fix JIT PInvoke Check Failure on Linux/ARM (#5322)

Disable SP check on ARM

8 years agoMerge pull request #5350 from pgavlin/gh5292and5286
Pat Gavlin [Wed, 1 Jun 2016 03:50:35 +0000 (03:50 +0000)]
Merge pull request #5350 from pgavlin/gh5292and5286

Mark two tests as always optimized and exclude two others from x86/JI…

8 years agoAdd options to 'runtest.sh'
Sung-Jae Lee [Wed, 11 May 2016 10:42:50 +0000 (19:42 +0900)]
Add options to 'runtest.sh'

- '--show-time'
   display execution sequence and approximate running time for each
   test cases.
- '--no-lf-conversion'
   skip LF conversion for each test case script.

Note: `date` on Mac OS X doesn't support `%N` format specifiler.
In this case, we don't need precise time, so just ignore the time
less then a second.

8 years agoMerge pull request #5353 from ramarag/windowsr2r
Rama krishnan Raghupathy [Wed, 1 Jun 2016 01:02:34 +0000 (18:02 -0700)]
Merge pull request #5353 from ramarag/windowsr2r

Refactoring Arguments passed to runtest.cmd

8 years agoInliner: enable inlining of methods with cpblk
Andy Ayers [Sun, 29 May 2016 05:42:39 +0000 (22:42 -0700)]
Inliner: enable inlining of methods with cpblk

Allow jit to inline methods with the cpblk IL opcode. Add a test case
where such an inline happens.

8 years agoRefactoring Arguments passed to runtest.cmd
Rama Krishnan Raghupathy [Wed, 1 Jun 2016 00:35:36 +0000 (17:35 -0700)]
Refactoring Arguments passed to runtest.cmd

8 years agoMerge pull request #5340 from pgavlin/ComputeFPlvls
Pat Gavlin [Tue, 31 May 2016 22:29:42 +0000 (22:29 +0000)]
Merge pull request #5340 from pgavlin/ComputeFPlvls

Refactor fgComputeFPlvls

8 years agoMark two tests as always optimized and exclude two others from x86/JIT32.
Pat Gavlin [Tue, 31 May 2016 22:27:05 +0000 (15:27 -0700)]
Mark two tests as always optimized and exclude two others from x86/JIT32.

The former tests require optimization in order to pass and the latter require further
deliberation re: the appropriate fix (see #5286 for more info).

Fixes #5292.

8 years agoMerge pull request #5339 from kyulee1/fixmemset
Kyungwoo Lee [Tue, 31 May 2016 21:44:51 +0000 (14:44 -0700)]
Merge pull request #5339 from kyulee1/fixmemset

ARM64: Fix JIT_MemSet

8 years agoMerge pull request #5335 from swgillespie/gcstress-disable
Sean Gillespie [Tue, 31 May 2016 21:22:09 +0000 (14:22 -0700)]
Merge pull request #5335 from swgillespie/gcstress-disable

Disable a large number of GC tests from running under GCStress

8 years agoMerge pull request #5294 from ellismg/enable-other-distros-for-building
Matt Ellis [Tue, 31 May 2016 21:07:44 +0000 (14:07 -0700)]
Merge pull request #5294 from ellismg/enable-other-distros-for-building

Enable other distros for building

8 years agoMerge pull request #5334 from pgavlin/LongMathRegparam
Pat Gavlin [Tue, 31 May 2016 20:50:54 +0000 (20:50 +0000)]
Merge pull request #5334 from pgavlin/LongMathRegparam

Remove LONG_MATH_REGPARAM from the JIT.

8 years agoFix for issue 5241: [RTM] Interop\ICastable\Castable\Castable.cmd CONTRACT VIOLATION...
Fadi Hanna [Tue, 31 May 2016 19:58:02 +0000 (12:58 -0700)]
Fix for issue 5241: [RTM] Interop\ICastable\Castable\Castable.cmd CONTRACT VIOLATION by ReadyToRunInfo::TryLookupTypeTokenFromName (#5296)

8 years agoMerge pull request #5301 from RussKeldorph/try2
Russ Keldorph [Tue, 31 May 2016 19:47:07 +0000 (12:47 -0700)]
Merge pull request #5301 from RussKeldorph/try2

Second attempt to properly modify environment for stress test modes

8 years agoSupport building on all supported distros
Matt Ellis [Fri, 27 May 2016 21:59:43 +0000 (14:59 -0700)]
Support building on all supported distros

With the updated buildtools, we should now be able to build on all the supported distros:

 - Centos 7
 - Fedora 23
 - openSUSE 13.2
 - RHEL 7.2
 - Ubuntu 14.04
 - Ubuntu 16.06

I also cleaned up how we compute the RID for the tools to restore.

8 years agoMove gtComputeFPlvls next to gtSetEvalOrder.
Pat Gavlin [Tue, 31 May 2016 18:38:30 +0000 (11:38 -0700)]
Move gtComputeFPlvls next to gtSetEvalOrder.

8 years agoRename fg{FPstLvlRedo,ComputeFPlvls} to gt*.
Pat Gavlin [Tue, 31 May 2016 18:35:31 +0000 (11:35 -0700)]
Rename fg{FPstLvlRedo,ComputeFPlvls} to gt*.

This variable and function are more appropriately grouped with the GenTree-related
funcaionality, as they are peers of gtSetEvalOrder.

8 years agoARM64: Fix JIT_MemSet
Kyungwoo Lee [Tue, 31 May 2016 18:20:35 +0000 (11:20 -0700)]
ARM64: Fix JIT_MemSet

Init value should be treated as an unsigned char.

8 years agoDisable a large number of GC tests from running under GCStress
Sean Gillespie [Tue, 31 May 2016 18:05:40 +0000 (11:05 -0700)]
Disable a large number of GC tests from running under GCStress