platform/upstream/coreclr.git
8 years agoMerge pull request #3891 from JohnChen0/r2r
Jan Kotas [Thu, 24 Mar 2016 17:19:13 +0000 (10:19 -0700)]
Merge pull request #3891 from JohnChen0/r2r

Fix generic struct delegate in ReadyToRun (#3690)

8 years agoMerge pull request #3682 from mikedn/emplace
Bruce Forstall [Thu, 24 Mar 2016 16:24:38 +0000 (09:24 -0700)]
Merge pull request #3682 from mikedn/emplace

Avoid Interval and RefPosition unnecessary initialization and copying

8 years agoMerge pull request #3846 from brianrob/perftests
Brian Robbins [Thu, 24 Mar 2016 14:46:36 +0000 (07:46 -0700)]
Merge pull request #3846 from brianrob/perftests

Add Performance Tests from the CLR Perf Lab

8 years agoMerge pull request #3899 from manu-silicon/patch-2
Jan Kotas [Thu, 24 Mar 2016 14:25:54 +0000 (07:25 -0700)]
Merge pull request #3899 from manu-silicon/patch-2

Fix typo causing an "unary operator expected"

8 years agoMerge pull request #3897 from dotnet-bot/from-tfs
Jan Kotas [Thu, 24 Mar 2016 14:22:49 +0000 (07:22 -0700)]
Merge pull request #3897 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #3901 from myungjoo/trivial/fix1
Jan Kotas [Thu, 24 Mar 2016 14:22:32 +0000 (07:22 -0700)]
Merge pull request #3901 from myungjoo/trivial/fix1

Trivial Fix: macro usage of __linux__.

8 years agoFix: macro usage of __linux__.
MyungJoo Ham [Thu, 24 Mar 2016 08:36:17 +0000 (17:36 +0900)]
Fix: macro usage of __linux__.

Use #if define(__linux__) instead of if #if __linux__.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
8 years agoFix typo causing an "unary operator expected"
Emmanuel [Thu, 24 Mar 2016 06:35:03 +0000 (15:35 +0900)]
Fix typo causing an "unary operator expected"

The default initialization value for doCrossgen was mispelled causing a warning at
./tests/runtest.sh: line 351: [: ==: unary operator expected

8 years agoFix build break in full framework
Jan Kotas [Thu, 24 Mar 2016 04:31:08 +0000 (21:31 -0700)]
Fix build break in full framework

[tfs-changeset: 1589425]

8 years agoFix build break in nativeformatreader.h
Jan Kotas [Thu, 24 Mar 2016 04:30:37 +0000 (21:30 -0700)]
Fix build break in nativeformatreader.h

[tfs-changeset: 1589424]

8 years agoMerge pull request #3890 from kyulee1/removeryujitpack
Kyungwoo Lee [Thu, 24 Mar 2016 03:08:18 +0000 (20:08 -0700)]
Merge pull request #3890 from kyulee1/removeryujitpack

Remove Old NuGet RyuJit Package from Build

8 years agoMerge pull request #3888 from jkotas/platform-assemblies
Jan Kotas [Thu, 24 Mar 2016 02:31:27 +0000 (19:31 -0700)]
Merge pull request #3888 from jkotas/platform-assemblies

Remove special casing of platform assemblies

8 years agoFix generic struct delegate in ReadyToRun (#3690)
John Chen (JOCHEN7) [Wed, 23 Mar 2016 22:05:11 +0000 (15:05 -0700)]
Fix generic struct delegate in ReadyToRun (#3690)

The following code pattern triggers a crash when compiled into Ready To Run:

    struct S<T>
    {
        public void M() { ... }
    }

    class C { }

    Then create a delegate using S<C>.M

The cause of the crash is calling S<C>.M normally reaches a shared generic
method S<__Canon>.M, but for delegate creation we need to use the actual
S<C>.M. Ready To Run generated code that attempts to create delegate using
S<__Canon>.M, which is not allowed.

8 years agoMerge pull request #3880 from gkhanna79/R2RTestFX
Gaurav Khanna [Thu, 24 Mar 2016 00:20:38 +0000 (17:20 -0700)]
Merge pull request #3880 from gkhanna79/R2RTestFX

Precompile FX assemblies for test run

8 years agoMerge pull request #3892 from fadimounir/FixBB
Fadi Hanna [Thu, 24 Mar 2016 00:14:37 +0000 (17:14 -0700)]
Merge pull request #3892 from fadimounir/FixBB

Fix build break

8 years agoMerge pull request #3893 from wtgodbe/r2r_GCStress
William Godbe [Wed, 23 Mar 2016 23:57:23 +0000 (16:57 -0700)]
Merge pull request #3893 from wtgodbe/r2r_GCStress

Add per-commit runs & PR trigger phrases for Pri1 R2R GCStress 15 test runs for Windows, OSX, CentOS, and Ubuntu

8 years agoMerge pull request #3889 from briansull/update-tests-lst
Brian Sullivan [Wed, 23 Mar 2016 23:42:07 +0000 (16:42 -0700)]
Merge pull request #3889 from briansull/update-tests-lst

Changed 22 UNSTABLE tests to EXPECTED_PASS

8 years agoAdd per-commit runs & PR trigger phrases for Pri1 R2R GCStress 15 test runs for Windo...
wtgodbe [Wed, 23 Mar 2016 23:09:41 +0000 (16:09 -0700)]
Add per-commit runs & PR trigger phrases for Pri1 R2R GCStress 15 test runs for Windows, OSX, CentOS, and Ubuntu

8 years agoDelete security transparency tests that are not valid on .NET Core
Jan Kotas [Wed, 23 Mar 2016 23:31:55 +0000 (16:31 -0700)]
Delete security transparency tests that are not valid on .NET Core

The security transparency rules are not enforced on .NET Core.

8 years agoFix build break
Fadi Hanna [Wed, 23 Mar 2016 22:58:49 +0000 (15:58 -0700)]
Fix build break

8 years agoMerge pull request #3887 from rahku/master
Rahul Kumar [Wed, 23 Mar 2016 21:50:46 +0000 (14:50 -0700)]
Merge pull request #3887 from rahku/master

Fix XunitWrapper log file generation

8 years agoRemove Old NuGet RyuJit Package from Build
Kyungwoo Lee [Wed, 23 Mar 2016 21:41:20 +0000 (14:41 -0700)]
Remove Old NuGet RyuJit Package from Build

This eliminates the old way of nuget package creation as a part of prep:
https://github.com/dotnet/coreclr/issues/3442.

8 years agoChanged 22 UNSTABLE tests to EXPECTED_PASS
Brian Sullivan [Wed, 23 Mar 2016 21:23:45 +0000 (14:23 -0700)]
Changed 22 UNSTABLE tests to EXPECTED_PASS

This reduces the number in the UNSTABLE catagory to 24 tests

8 years agoFix XunitWrapper log file generation
Rahul Kumar [Wed, 23 Mar 2016 19:57:40 +0000 (12:57 -0700)]
Fix XunitWrapper log file generation

8 years agoMerge pull request #3881 from rahku/issue3730
Rahul Kumar [Wed, 23 Mar 2016 21:20:04 +0000 (14:20 -0700)]
Merge pull request #3881 from rahku/issue3730

offset in epilog to match as prolog

8 years agoMerge pull request #3868 from wtgodbe/xunit
Sergiy Kuryata [Wed, 23 Mar 2016 20:26:51 +0000 (13:26 -0700)]
Merge pull request #3868 from wtgodbe/xunit

Print raw output for failed tests in CI/Jenkins failure report

8 years agoEnable support to precompile the FX assemblies at test invocation time.
Gaurav Khanna [Tue, 22 Mar 2016 08:18:21 +0000 (01:18 -0700)]
Enable support to precompile the FX assemblies at test invocation time.

8 years agoAdd performance tests from the CLR perf lab.
Brian Robbins [Sat, 19 Mar 2016 06:38:34 +0000 (23:38 -0700)]
Add performance tests from the CLR perf lab.

8 years agoMerge pull request #3735 from fadimounir/HashtableOfTypes
Fadi Hanna [Wed, 23 Mar 2016 20:12:00 +0000 (13:12 -0700)]
Merge pull request #3735 from fadimounir/HashtableOfTypes

Hashtable of types for R2R modules

8 years agoRemove special casing of platform assemblies
Jan Kotas [Wed, 23 Mar 2016 19:38:37 +0000 (12:38 -0700)]
Remove special casing of platform assemblies

8 years agoTitle: Hashtable of types for R2R modules
Fadi Hanna [Sat, 5 Mar 2016 01:26:07 +0000 (17:26 -0800)]
Title: Hashtable of types for R2R modules
Description: This change replaces the hashtable of types that we dynamically build at module load time with a statically built hashtable at crossgen time, for R2R modules. Typedef tokens and exported type tokens are stored in that hashtable, hashed by their full type name.

Changes include:
- Adding support for NativeFormat hashtables (NativeFormat hashtable reader and writer + supporting functionalities)
- Changes to prevent the allocation and building of m_pAvailableClasses and m_pAvailableClassesCaseIns for a R2R module
- Logic in crossgen to build the hashtable of types, using the NativeFormat (table saved to a new section)
- Refactoring the type lookup functions to return results in a HashedTypeEntry data structure, which supports token based results, as well as EEClassHashEntry_t* based results
- Changes/Cleanup to the ClassLoader::GetClassValue to support the new lookup type
- Fixed small bugs in the std implementation
- Fallback to old hashtable lookup algorithm supported for:
1) Case insensitive type loading
2) R2R image built with older version of crossgen (not having static hashtable)

Tested following scenarios:
- Token based lookups
- Type name based lookups (Type.GetType API), including case insensitive scenarios
- Nested types
- Forwarded types (and forwarded nested types), up to 2 levels of forwarding
- Old R2R image created with previous version of crossgen

8 years agooffset in epilog to match as prolog
Rahul Kumar [Wed, 23 Mar 2016 17:30:30 +0000 (10:30 -0700)]
offset in epilog to match as prolog

8 years agoPrint raw output for failed tests in CI/Jenkins failure report
wtgodbe [Tue, 22 Mar 2016 23:31:50 +0000 (16:31 -0700)]
Print raw output for failed tests in CI/Jenkins failure report

8 years agoMerge pull request #3866 from wtgodbe/CentOS
William Godbe [Wed, 23 Mar 2016 17:13:15 +0000 (10:13 -0700)]
Merge pull request #3866 from wtgodbe/CentOS

Switch per-commit CentOS jobs from Checked to Release

8 years agoMerge pull request #3876 from mjsabby/enable_rejit_on_windows
Jan Kotas [Wed, 23 Mar 2016 16:41:13 +0000 (09:41 -0700)]
Merge pull request #3876 from mjsabby/enable_rejit_on_windows

Enable compiling ReJIT functionality in CoreCLR

8 years agoMerge pull request #3853 from rahku/issue3730
Rahul Kumar [Wed, 23 Mar 2016 15:37:33 +0000 (08:37 -0700)]
Merge pull request #3853 from rahku/issue3730

ARM64: Implementation of Thread hijacking and thread redirection requires for GCSuspension

8 years agoMerge pull request #3877 from dotnet-bot/from-tfs
Jan Kotas [Wed, 23 Mar 2016 10:59:39 +0000 (03:59 -0700)]
Merge pull request #3877 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #3875 from janvorli/fix-ehpatterntests
Sergiy Kuryata [Wed, 23 Mar 2016 04:32:41 +0000 (21:32 -0700)]
Merge pull request #3875 from janvorli/fix-ehpatterntests

Fix some tests in the EHPatternTests on Unix

8 years agoMerge pull request #3869 from manu-silicon/calli
Jan Kotas [Wed, 23 Mar 2016 03:06:41 +0000 (20:06 -0700)]
Merge pull request #3869 from manu-silicon/calli

Implement GenericPInvokeCalliHelper on ARM

8 years agoFiles missed in last checkin
Jan Kotas [Wed, 23 Mar 2016 03:04:02 +0000 (20:04 -0700)]
Files missed in last checkin

[tfs-changeset: 1588869]

8 years agoMerge pull request #3873 from janvorli/x86-release-exception-unwind
Jan Kotas [Wed, 23 Mar 2016 02:56:39 +0000 (19:56 -0700)]
Merge pull request #3873 from janvorli/x86-release-exception-unwind

Fix x86 exception stack unwinding issue

8 years agoFix some tests in the EHPatternTests on Unix
Jan Vorlicek [Wed, 23 Mar 2016 01:37:13 +0000 (02:37 +0100)]
Fix some tests in the EHPatternTests on Unix

Two of the tests in this suite were failing on Unix due to the incorrect
line endings generated to the trace output.
The fix was to replace `"\r\n"` with Environment.NewLine.

I've also removed the test from the list of disabled tests for Unix

8 years agoEnable compiling ReJIT functionality in CoreCLR
mjsabby [Wed, 23 Mar 2016 01:18:58 +0000 (18:18 -0700)]
Enable compiling ReJIT functionality in CoreCLR

8 years agoMerge pull request #3870 from briansull/issue-3756
Brian Sullivan [Wed, 23 Mar 2016 01:21:58 +0000 (18:21 -0700)]
Merge pull request #3870 from briansull/issue-3756

Remove the define of FEATURE_INTERPRETER for ARM64

8 years agoARM64: Implementation of Thread hijacking and thread redirection required for GCSuspe...
Rahul Kumar [Tue, 22 Mar 2016 00:45:50 +0000 (17:45 -0700)]
ARM64: Implementation of Thread hijacking and thread redirection required for GCSuspension

8 years agoFix x86 exception stack unwinding issue
Jan Vorlicek [Wed, 23 Mar 2016 00:24:24 +0000 (01:24 +0100)]
Fix x86 exception stack unwinding issue

This change fixes x86 exception stack unwinding issue in release build
when the function epilog contains a call to _EH_epilog3_catch_GS. This
function has repne prefix on a call and jmp instructions and that
prevented the instruction interpreter code from entering the call, which
is vital for correct stack unwinding.

8 years agoMerge pull request #3830 from leemgs/upstream-sh-to-bash
Jan Kotas [Wed, 23 Mar 2016 00:14:44 +0000 (17:14 -0700)]
Merge pull request #3830 from leemgs/upstream-sh-to-bash

Don't use symbolic link 'sh'(/bin/sh) in ./coreclr/init-tools.sh

8 years agoImplement GenericPInvokeCalliHelper on ARM
Manu [Tue, 22 Mar 2016 08:36:44 +0000 (17:36 +0900)]
Implement GenericPInvokeCalliHelper on ARM

Add assemlby implementation for pinvoke stubs on ARM by porting the
Windows ARM code to Linux ARM assembly.

8 years agoRemove unused files from CoreCLR
Jan Kotas [Tue, 22 Mar 2016 23:27:24 +0000 (16:27 -0700)]
Remove unused files from CoreCLR

[tfs-changeset: 1588782]

8 years agoRemove the define of FEATURE_INTERPRETER for ARM64
Brian Sullivan [Tue, 22 Mar 2016 23:26:22 +0000 (16:26 -0700)]
Remove the define of FEATURE_INTERPRETER for ARM64

This will remove some extra conditional code that is only use to
support the IL bytecode interpreter and will disable the fallback
to the interpreter on ARM64

8 years agoMerge pull request #3863 from jkotas/legacynetcf-2
Jan Kotas [Tue, 22 Mar 2016 22:32:43 +0000 (15:32 -0700)]
Merge pull request #3863 from jkotas/legacynetcf-2

Delete legacy netcf compat support (part 2)

8 years agoSwitch per-commit CentOS jobs from Checked to Release
wtgodbe [Tue, 22 Mar 2016 21:39:18 +0000 (14:39 -0700)]
Switch per-commit CentOS jobs from Checked to Release

8 years agoMerge pull request #3794 from mikem8361/stripsym
Mike McLaughlin [Tue, 22 Mar 2016 21:28:18 +0000 (14:28 -0700)]
Merge pull request #3794 from mikem8361/stripsym

Strip symbols on release builds into separate binaries

8 years agoStrip symbols on release builds into separate binaries
Mike McLaughlin [Tue, 15 Mar 2016 23:04:06 +0000 (16:04 -0700)]
Strip symbols on release builds into separate binaries

Issue #3669

Created a common cmake strip_symbols function that all the modules and programs
use to strip the symbols out of the main into a separate .dbg (Linux) or .dSYM (OSX)
file.

Added an install_clr cmake function to encapsulate the install logic.

Changed all the library module cmake install lines from a TARGETS to a FILES one. The
TARGETS based install directives caused cmake to relink the binary and copy the unstripped
version to the install path. Left the all programs like corerun or ildasm as TARGETS
installs because on OSX FILES type installs don't get marked as executable.

Need to use "get_property(strip_source_file TARGET ${targetName} PROPERTY LOCATION)" for
the older versions of cmake and "set(strip_source_file $<TARGET_FILE:${targetName}>)" on
newer versions (v3 or greater).

8 years agoMerge pull request #3851 from briansull/update-tests-lst
Brian Sullivan [Tue, 22 Mar 2016 21:02:12 +0000 (14:02 -0700)]
Merge pull request #3851 from briansull/update-tests-lst

ARM64: Remove the Pri2 tests from Tests.lst

8 years agoMerge pull request #3862 from dotnet-bot/from-tfs
Jan Kotas [Tue, 22 Mar 2016 20:12:29 +0000 (13:12 -0700)]
Merge pull request #3862 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #3858 from janvorli/fix-exception-callstack
Jan Vorlicek [Tue, 22 Mar 2016 20:06:18 +0000 (21:06 +0100)]
Merge pull request #3858 from janvorli/fix-exception-callstack

Fix exception to string in case of exception in callstack extraction

8 years agoDelete legacy netcf compat support (part 2)
Jan Kotas [Mon, 21 Mar 2016 16:06:54 +0000 (09:06 -0700)]
Delete legacy netcf compat support (part 2)

8 years agoFix exception to string in case of exception in callstack extraction
Jan Vorlicek [Tue, 22 Mar 2016 11:05:07 +0000 (12:05 +0100)]
Fix exception to string in case of exception in callstack extraction

This change fixes a problem when exception happens while converting an exception
call stack to string. Without this change, Exception.ToString would fail and
if the exception was unhandled, it would just print "Cannot print exception string
because Exception.ToString() failed." without any details on what exception happened.
The problem happens e.g. in case when a method on the call stack has a parameter
that contains members of types from an assembly that cannot be resolved.

The fix was to catch exception from parameter info extraction and if it happens,
just exclude the parameter list from the reported frame.

8 years agoUpdate Runtime packages to use netstandard1.0 instead of dotnet as the TFM.
Wes Haggard [Tue, 22 Mar 2016 16:21:28 +0000 (09:21 -0700)]
Update Runtime packages to use netstandard1.0 instead of dotnet as the TFM.

CR: ericstj

[tfs-changeset: 1588560]

8 years agoMerge pull request #3803 from manu-silicon/arm_struct
Carol Eidt [Tue, 22 Mar 2016 13:21:11 +0000 (06:21 -0700)]
Merge pull request #3803 from manu-silicon/arm_struct

Fix for issue #3754 when passing struct as argument on ARM

8 years agoDon't use symbolic link 'sh'(/bin/sh) in ./coreclr/init-tools.sh
Geunsik Lim [Tue, 22 Mar 2016 05:00:19 +0000 (14:00 +0900)]
Don't use symbolic link 'sh'(/bin/sh) in ./coreclr/init-tools.sh

There are a lot of different shells among the Linux distributions.
The up-to-date Ubuntu distribution uses /bin/dash without /bin/bash by default.
Also, the /bin/sh command has been using as a symbolic link without the original
/bin/sh in the some popular Linux distributions such as Ubuntu 14.04.

Ver 3:
- Don't use 'sh' command thanks to the  "#!/usr/bin/env bash" (first line)
- /bin/sh of Ubuntu 14.04 is symbolic link. It calls /bin/dash by default.

Ver 1:
- Let's replace a symbolic 'sh' with 'bash' such as
"#!/usr/bin/env bash" declaration (shebang) of ./coreclr/init-tools.sh

lgs@u14.04:~$ ls -l `which sh`
lrwxrwxrwx 1 root root 4 12 21 17:01 /bin/sh -> dash
lgs@u14.04:~$

Signed-off-by: Geunsik Lim geunsik.lim@samsung.com
Signed-off-by: MyungJoo Ham myungjoo.ham@samsung.com
Signed-off-by: Prajwal A N an.prajwal@samsung.com
8 years agoMerge pull request #3845 from erozenfeld/RegressionTests
Eugene Rozenfeld [Tue, 22 Mar 2016 05:53:32 +0000 (22:53 -0700)]
Merge pull request #3845 from erozenfeld/RegressionTests

Add regression tests for two previously fixed bugs.

8 years agoMerge pull request #3855 from jkotas/mscorlib-build
Jan Kotas [Tue, 22 Mar 2016 05:15:11 +0000 (22:15 -0700)]
Merge pull request #3855 from jkotas/mscorlib-build

Fix intermediate directory for mscorlib build

8 years agoMerge pull request #3852 from jkotas/legacynetcf-1
Jan Kotas [Tue, 22 Mar 2016 03:17:14 +0000 (20:17 -0700)]
Merge pull request #3852 from jkotas/legacynetcf-1

Delete legacy netcf compat support (part 1)

8 years agoMerge pull request #3650 from sivarv/blockSeqFix
Sivarv [Tue, 22 Mar 2016 02:57:02 +0000 (19:57 -0700)]
Merge pull request #3650 from sivarv/blockSeqFix

Fix to Huffman benchmark decompression loop has unnecessary spills and reloads

8 years agoFix intermediate directory for mscorlib build
Jan Kotas [Tue, 22 Mar 2016 02:56:24 +0000 (19:56 -0700)]
Fix intermediate directory for mscorlib build

8 years agoMerge pull request #3843 from AndyAyersMS/DataGathering
Andy Ayers [Tue, 22 Mar 2016 02:00:19 +0000 (19:00 -0700)]
Merge pull request #3843 from AndyAyersMS/DataGathering

Inliner: initial data gathering for code size estimates

8 years agoMerge pull request #3854 from mikem8361/docs
Mike McLaughlin [Tue, 22 Mar 2016 01:35:07 +0000 (18:35 -0700)]
Merge pull request #3854 from mikem8361/docs

Update SOS documentation

8 years agoDelete legacy netcf compat support (part 1)
Jan Kotas [Mon, 21 Mar 2016 16:06:54 +0000 (09:06 -0700)]
Delete legacy netcf compat support (part 1)

8 years agoMerge pull request #3847 from dotnet-bot/from-tfs
Jan Kotas [Tue, 22 Mar 2016 00:20:43 +0000 (17:20 -0700)]
Merge pull request #3847 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoAdd regression tests for two previously fixed bugs.
Eugene Rozenfeld [Mon, 21 Mar 2016 20:52:23 +0000 (13:52 -0700)]
Add regression tests for two previously fixed bugs.

One of the repros is in il rather than C# because the
repro was sensitive to what different versions of C#
compiler generated.

8 years agoFix for issue #3754 when passing struct as argument on ARM
Manu [Fri, 18 Mar 2016 02:59:12 +0000 (11:59 +0900)]
Fix for issue #3754 when passing struct as argument on ARM

When enabling Unix AMD64 struct passing, we broke ARM we were need to
check if the register is an HFA one or not, and if so uses the HFA type
instead.

8 years agoUpdate SOS documentation.
Mike McLaughlin [Mon, 21 Mar 2016 23:58:20 +0000 (16:58 -0700)]
Update SOS documentation.

8 years agoRemove the Pri2 tests from Tests.lst
Brian Sullivan [Mon, 21 Mar 2016 23:47:37 +0000 (16:47 -0700)]
Remove the Pri2 tests from Tests.lst

These tests are not run by the CI automation for the other architectures
Removing them will eliminate 26 failing tests

8 years agoMerge pull request #3815 from briansull/struct16-fp-args
Brian Sullivan [Mon, 21 Mar 2016 23:11:43 +0000 (16:11 -0700)]
Merge pull request #3815 from briansull/struct16-fp-args

Fixes issue 3750 - passing fp arguments

8 years agoInliner: initial data gathering for code size estimates
Andy Ayers [Fri, 18 Mar 2016 00:23:19 +0000 (17:23 -0700)]
Inliner: initial data gathering for code size estimates

Some initial work to gather data to drive the modelling of inline
code size impact. See #3775 for context.

Update the `DiscretionaryPolicy` to capture more observations.

Add a limit feature `JitInlineLimit` so the jit will stop inlining after
a given number of successful inlines.

Add a `DumpData` method to `InlinePolicy` which will display all the
observations that were made to evaluate an inline. Implement this for the
`DiscretionaryPolicy`. Add a matching `DumpSchema` that writes out
column headers for each of the observations.

Modify `InlineResult` to cache the last successful policy on the root
compiler instance. Use that along with the `JitInlineLimit` and
`DumpData` to display detailed information about the last sucessful
inline along with the code size for the method. All this is displayed
if `JitInlineDumpData ` is enabled.

This allows for isolating code size measurements as follows. Compile or
jit something with `JitInlineLimit = 0` and `JitInlineDumpData =1` (and
for now, `JitInlinePolicyDiscretionary = 1`, since other policies do not
implement any interesting data dumping).

Record the this root set of method sizes and IDs. Repeat with
`JitInlineLimit=1`. For each method where there was an inline, the size
impact of that inline can be computed by comparing this version versus
the version from the root set. Repeat with `JitInlineLimit=2`, comparing
versus the `=1` versions.

Currently the method token is used to identify the root method. This is
not sufficiently unique but unfortunately there currently aren't
substantially better alternatives. See #1957 for some discussion.

8 years agoMerge pull request #3840 from wtgodbe/HardwareEh
William Godbe [Mon, 21 Mar 2016 22:37:10 +0000 (15:37 -0700)]
Merge pull request #3840 from wtgodbe/HardwareEh

Disable OutOfMemoryException test in HardwareEh test

8 years agoMerge pull request #3841 from kyulee1/exclusion
Kyungwoo Lee [Mon, 21 Mar 2016 22:24:12 +0000 (15:24 -0700)]
Merge pull request #3841 from kyulee1/exclusion

ARM64: Apply exclusion list to Tests.lst file

8 years agoTrim Windows-specific System.Security.Principal types from CoreCLR mscorlib
Jan Kotas [Mon, 21 Mar 2016 21:02:42 +0000 (14:02 -0700)]
Trim Windows-specific System.Security.Principal types from CoreCLR mscorlib

[tfs-changeset: 1588225]

8 years agoDisable OutOfMemoryException test in HardwareEh test
wtgodbe [Mon, 21 Mar 2016 17:10:16 +0000 (10:10 -0700)]
Disable OutOfMemoryException test in HardwareEh test

8 years agoTests and fixes for struct16 arguments and floating point arguments
Brian Sullivan [Fri, 18 Mar 2016 23:58:50 +0000 (16:58 -0700)]
Tests and fixes for struct16 arguments and floating point arguments

Updated Tests.lst with 50 new passing tests
Updated this fix to be under #ifdef ARM64 only

8 years agoARM64: Apply exclusion list to Tests.lst file
Kyungwoo Lee [Mon, 21 Mar 2016 17:48:14 +0000 (10:48 -0700)]
ARM64: Apply exclusion list to Tests.lst file

Currently ARM64 tests run all tests even if those are excluded in
issues.targets, which is not only waste of resource but also confusing
ourselves to track such issues.
This adds a script to apply excluded tests specified in issues.targets to
Tests.lst file. Also new Tests.lst file is accordingly updated with 101
tests removed.

8 years agoMerge pull request #3833 from JohnChen0/master
John Chen [Mon, 21 Mar 2016 14:54:23 +0000 (07:54 -0700)]
Merge pull request #3833 from JohnChen0/master

Add documentation for CrossGen

8 years agoAdd documentation for CrossGen
John Chen [Fri, 18 Mar 2016 22:48:41 +0000 (15:48 -0700)]
Add documentation for CrossGen

8 years agoMerge pull request #3563 from adityamandaleeka/threading_test_port_2
Sergiy Kuryata [Sun, 20 Mar 2016 23:39:36 +0000 (16:39 -0700)]
Merge pull request #3563 from adityamandaleeka/threading_test_port_2

Open source even more threading tests

8 years agoMove all new tests to Pri 1.
Aditya Mandaleeka [Sun, 20 Mar 2016 03:53:43 +0000 (20:53 -0700)]
Move all new tests to Pri 1.

8 years agoAdd waitallex8 and waitallex8a to x86 legacy issues.
Aditya Mandaleeka [Sat, 19 Mar 2016 17:46:26 +0000 (10:46 -0700)]
Add waitallex8 and waitallex8a to x86 legacy issues.

8 years agoDelete tests that rely on Thread Abort functionality
Aditya Mandaleeka [Fri, 18 Mar 2016 18:16:45 +0000 (11:16 -0700)]
Delete tests that rely on Thread Abort functionality

8 years agoUpdate project.json files.
Aditya Mandaleeka [Tue, 15 Mar 2016 23:03:33 +0000 (16:03 -0700)]
Update project.json files.

8 years agoAdd some new threading tests to testsUnsupportedOutsideWindows
Aditya Mandaleeka [Mon, 7 Mar 2016 23:35:14 +0000 (15:35 -0800)]
Add some new threading tests to testsUnsupportedOutsideWindows

8 years agoOpen source more threading tests.
Aditya Mandaleeka [Mon, 7 Mar 2016 23:16:27 +0000 (15:16 -0800)]
Open source more threading tests.

8 years agoMerge pull request #3831 from dotnet-bot/from-tfs
Sergiy Kuryata [Sat, 19 Mar 2016 23:37:29 +0000 (16:37 -0700)]
Merge pull request #3831 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoFix a CrossGen CreatePDB issue that caused a Windows build break
John Chen [Sat, 19 Mar 2016 16:53:24 +0000 (09:53 -0700)]
Fix a CrossGen CreatePDB issue that caused a Windows build break

CrossGen /CreatePDB command gives preference to the TPA list while loading assemblies. So if the TPA contains the IL version of the input assembly but not the NI version, we would end up loading the IL instead of NI. This causes the CreatePDB command to fail, since it can't operate on IL images. This is fixed by putting the input file as the first entry in the TPA list.

Another issue is when the above error does occur, the error message is very unclear (it only shows "Unspecified error"). This is fixed with a better error message.

[tfs-changeset: 1587876]

8 years agoMerge pull request #3810 from kyulee1/FixPath
Kyungwoo Lee [Sat, 19 Mar 2016 04:22:01 +0000 (21:22 -0700)]
Merge pull request #3810 from kyulee1/FixPath

ARM64: Prepend toolset path

8 years agoMerge pull request #3655 from sejongoh/fix_u64_to_f64_cast
Sejong Oh [Sat, 19 Mar 2016 02:23:15 +0000 (19:23 -0700)]
Merge pull request #3655 from sejongoh/fix_u64_to_f64_cast

Fix inconsistent uint64-to-double cast

8 years agoMerge pull request #3813 from briansull/update-tests-lst
Brian Sullivan [Fri, 18 Mar 2016 23:35:31 +0000 (16:35 -0700)]
Merge pull request #3813 from briansull/update-tests-lst

ARM64: Native test build -  Update Tests.lst with passing/failing Interop tests

8 years agoFix inconsistent uint64-to-double cast
Sejong OH [Fri, 11 Mar 2016 07:30:23 +0000 (23:30 -0800)]
Fix inconsistent uint64-to-double cast

8 years agoMerge pull request #3812 from janvorli/fix-stub
Jan Vorlicek [Fri, 18 Mar 2016 22:37:56 +0000 (23:37 +0100)]
Merge pull request #3812 from janvorli/fix-stub

Fix instantiating stub for methods of value types

8 years agoRemoving Tests.sav
Brian Sullivan [Fri, 18 Mar 2016 22:23:10 +0000 (15:23 -0700)]
Removing Tests.sav