platform/upstream/coreclr.git
8 years agoFixing contracts violations, and adding missing contracts to some APIs.
Fadi Hanna [Wed, 30 Mar 2016 16:27:04 +0000 (09:27 -0700)]
Fixing contracts violations, and adding missing contracts to some APIs.
Changing native format reader failure mode to fail fast instead of throwing and exception.

[tfs-changeset: 1591477]

8 years agoMerge pull request #3994 from dagood/upgrade-cli
Davis Goodin [Wed, 30 Mar 2016 16:10:54 +0000 (11:10 -0500)]
Merge pull request #3994 from dagood/upgrade-cli

Apply dotnet cli upgrade also to tests\dir.props

8 years agoApply dotnet cli upgrade also to tests\dir.props.
Davis Goodin [Wed, 30 Mar 2016 16:07:30 +0000 (11:07 -0500)]
Apply dotnet cli upgrade also to tests\dir.props.

8 years agoMerge pull request #3993 from dagood/upgrade-cli
Stephen Toub [Wed, 30 Mar 2016 16:02:24 +0000 (12:02 -0400)]
Merge pull request #3993 from dagood/upgrade-cli

Upgrade dotnet cli version

8 years agoUpgrade dotnet cli version.
Davis Goodin [Wed, 30 Mar 2016 15:03:53 +0000 (10:03 -0500)]
Upgrade dotnet cli version.

8 years agoMerge pull request #3943 from leemgs/upstream-gawk-char-class
Jan Kotas [Wed, 30 Mar 2016 07:10:26 +0000 (00:10 -0700)]
Merge pull request #3943 from leemgs/upstream-gawk-char-class

Fix bracket expression matches a character at gawk

8 years agoMerge pull request #3984 from svick/patch-1
Jan Kotas [Wed, 30 Mar 2016 07:08:35 +0000 (00:08 -0700)]
Merge pull request #3984 from svick/patch-1

Removed obsolete comment from Environment.GetResourceString

8 years agoMerge pull request #3985 from myungjoo/trivialfix/macro1
Jan Kotas [Wed, 30 Mar 2016 03:27:37 +0000 (20:27 -0700)]
Merge pull request #3985 from myungjoo/trivialfix/macro1

Trivial fix: dangerous macro usage

8 years agoTrivial fix: dangerous macro usage
MyungJoo Ham [Wed, 30 Mar 2016 02:43:48 +0000 (11:43 +0900)]
Trivial fix: dangerous macro usage

Add parenthesis to make the macro safe.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
8 years agoRemoved obsolete comment from Environment.GetResourceString
Petr Onderka [Wed, 30 Mar 2016 02:24:23 +0000 (04:24 +0200)]
Removed obsolete comment from Environment.GetResourceString

Fixes #3979

8 years agoMerge pull request #3974 from briansull/update-tests-lst
Brian Sullivan [Wed, 30 Mar 2016 00:31:30 +0000 (17:31 -0700)]
Merge pull request #3974 from briansull/update-tests-lst

Disabled 8 failing tests

8 years agoDisabled 8 failing tests
Brian Sullivan [Tue, 29 Mar 2016 21:50:53 +0000 (14:50 -0700)]
Disabled 8 failing tests

Issues filed: 3968, 3969, 3970, 3971 and 3973

8 years agoMerge pull request #3966 from kyulee1/fixframe2
Kyungwoo Lee [Tue, 29 Mar 2016 21:14:42 +0000 (14:14 -0700)]
Merge pull request #3966 from kyulee1/fixframe2

ARM64: Fix Frame with compLocallocUsed

8 years agoARM64: Fix Frame with compLocallocUsed
Kyungwoo Lee [Fri, 25 Mar 2016 18:19:25 +0000 (11:19 -0700)]
ARM64: Fix Frame with compLocallocUsed

When compLocallocUsed is true, stack pointer is changed during the run.
So, JIT should restore stack pointer from frame pointer in the epilog.
Previously, we simpliy copied fp to sp, which is only valid for frameType
= 1.
This implements a right restoring process for other frameTypes (2 and 3).
For frameType = 3, I also simplified creating prolog sequence to support
this feature consistently.

8 years agoMerge pull request #3963 from adityamandaleeka/statFileParse
Aditya Mandaleeka [Tue, 29 Mar 2016 18:59:33 +0000 (11:59 -0700)]
Merge pull request #3963 from adityamandaleeka/statFileParse

Fix stat file parsing to handle executable names with spaces

8 years agoMerge pull request #3959 from briansull/safe-refactor
Brian Sullivan [Tue, 29 Mar 2016 18:07:42 +0000 (11:07 -0700)]
Merge pull request #3959 from briansull/safe-refactor

Safe Refactor - Remove conditional definition and references to lvIsMultiRegArgOrRet

8 years agoMerge pull request #2182 from justinvp/keyedcollection_enumallocs
Stephen Toub [Tue, 29 Mar 2016 16:38:00 +0000 (12:38 -0400)]
Merge pull request #2182 from justinvp/keyedcollection_enumallocs

Avoid enumerator allocations inside KeyedCollection<TKey, TItem>

8 years agoMerge pull request #2178 from justinvp/keyedcollection_nullchecks
Stephen Toub [Tue, 29 Mar 2016 14:25:56 +0000 (10:25 -0400)]
Merge pull request #2178 from justinvp/keyedcollection_nullchecks

Remove unnecessary null checks from KeyedCollection<TKey,TItem>

8 years agoFix stat file parsing to handle executable names with spaces.
Aditya Mandaleeka [Tue, 29 Mar 2016 03:22:04 +0000 (20:22 -0700)]
Fix stat file parsing to handle executable names with spaces.

8 years agoSafe Refactor - Remove conditional definition and references to lvIsMultiRegArgOrRet
Brian Sullivan [Fri, 25 Mar 2016 22:39:37 +0000 (15:39 -0700)]
Safe Refactor - Remove conditional definition and references to lvIsMultiRegArgOrRet

8 years agoMerge pull request #3954 from leemgs/toolchain-name-unifyin-arm64
Jan Kotas [Mon, 28 Mar 2016 14:36:16 +0000 (07:36 -0700)]
Merge pull request #3954 from leemgs/toolchain-name-unifyin-arm64

[Linux/ARM32/64] Unifying the redundant usages of cross-toolchain

8 years ago[Linux/ARM32/64] Unifying the redundant usages of cross-toolchain
Geunsik Lim [Mon, 28 Mar 2016 03:08:09 +0000 (12:08 +0900)]
[Linux/ARM32/64] Unifying the redundant usages of cross-toolchain

The name of toolchain name has been increasing gradually.
Let's unify the toolchain name of Linux/ARM{32|64} to prevent the
increase of the fragmentation, and to the manatainability.

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 #3946 from leemgs/toolchain-name-unifying
Jan Kotas [Sat, 26 Mar 2016 17:40:04 +0000 (10:40 -0700)]
Merge pull request #3946 from leemgs/toolchain-name-unifying

[Linux/ARM32] Unifying the redundant usages of cross-toolchain

8 years agoMerge pull request #3902 from JosephTremoulet/ZeroExtend
Joseph Tremoulet [Sat, 26 Mar 2016 16:24:14 +0000 (12:24 -0400)]
Merge pull request #3902 from JosephTremoulet/ZeroExtend

Unsuppress same-reg zero-extending mov (x64)

8 years ago[Linux/ARM32] Unifying the redundant usages of cross-toolchain
Geunsik Lim [Sat, 26 Mar 2016 12:53:08 +0000 (21:53 +0900)]
[Linux/ARM32] Unifying the redundant usages of cross-toolchain

The name of toolchain name has been increasing gradually.
Let's unify the toolchain name of Linux/ARM32 to prevent the
increase of the fragmentation, and to the manatainability.

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 agoFix: bracket expression matches a character at gawk
Geunsik Lim [Sat, 26 Mar 2016 10:04:31 +0000 (19:04 +0900)]
Fix: bracket expression matches a character at gawk

This is a trivial patch. However, It's must be modified by gawk.
Check it exactly as a plain character (e.g., space, alnum)
within the bracket expression at ./coreclr/generateversionscript.awk

Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
8 years agoMerge pull request #3896 from adityamandaleeka/configvalues4
Aditya Mandaleeka [Sat, 26 Mar 2016 07:00:55 +0000 (00:00 -0700)]
Merge pull request #3896 from adityamandaleeka/configvalues4

Add new configuration mechanism for CoreCLR.

8 years agoMerge pull request #3931 from Godin/fix-typos
Jan Kotas [Sat, 26 Mar 2016 04:06:26 +0000 (21:06 -0700)]
Merge pull request #3931 from Godin/fix-typos

Fix copy-paste typos

8 years agoMerge pull request #3920 from CarolEidt/ChangeLdObjToObj
Carol Eidt [Sat, 26 Mar 2016 01:22:46 +0000 (18:22 -0700)]
Merge pull request #3920 from CarolEidt/ChangeLdObjToObj

1stClassStructs: Replace GT_LDOBJ with GT_OBJ

8 years agoMerge pull request #3928 from manu-silicon/patch-3
Jan Kotas [Sat, 26 Mar 2016 01:11:44 +0000 (18:11 -0700)]
Merge pull request #3928 from manu-silicon/patch-3

Fix invalid path to genXplatLttng.py

8 years agoAdd new configuration mechanism for CoreCLR.
Aditya Mandaleeka [Sat, 12 Mar 2016 02:39:27 +0000 (18:39 -0800)]
Add new configuration mechanism for CoreCLR.

8 years agoMerge pull request #3934 from briansull/remove-lvaAdjustRefCnts
Brian Sullivan [Sat, 26 Mar 2016 00:34:50 +0000 (17:34 -0700)]
Merge pull request #3934 from briansull/remove-lvaAdjustRefCnts

Remove empty phase lvaAdjustRefCnts

8 years ago1stClassStructs: Replace GT_LDOBJ with GT_OBJ
Carol Eidt [Thu, 24 Mar 2016 20:29:39 +0000 (13:29 -0700)]
1stClassStructs: Replace GT_LDOBJ with GT_OBJ

In preparation for using block nodes in assignments, change GT_LDOBJ to GT_OBJ.
Also, eliminate gtFldTreeList, which was only
being used in a transitory fashion for x87
codegen - instead create the nodes on the fly as needed for stack fp codegen.
Additional minor cleanup.

8 years agoMerge pull request #3933 from AndyAyersMS/RefactorPolicy
Andy Ayers [Fri, 25 Mar 2016 22:51:33 +0000 (15:51 -0700)]
Merge pull request #3933 from AndyAyersMS/RefactorPolicy

Inliner: refactor policies to extract common legality portion

8 years agoMerge pull request #3924 from AndyAyersMS/Fix-VSO-205323
Andy Ayers [Fri, 25 Mar 2016 22:49:54 +0000 (15:49 -0700)]
Merge pull request #3924 from AndyAyersMS/Fix-VSO-205323

Inliner: fix issue introduced by refactoring

8 years agoRemove empty phase lvaAdjustRefCnts
Brian Sullivan [Fri, 25 Mar 2016 22:22:46 +0000 (15:22 -0700)]
Remove empty phase lvaAdjustRefCnts

8 years agoMerge pull request #3932 from kyulee1/arm64tool
Kyungwoo Lee [Fri, 25 Mar 2016 21:56:59 +0000 (14:56 -0700)]
Merge pull request #3932 from kyulee1/arm64tool

Fix ARM64 lib toolchain

8 years agoUnsuppress same-reg zero-extending mov (x64)
Joseph Tremoulet [Thu, 24 Mar 2016 14:56:36 +0000 (10:56 -0400)]
Unsuppress same-reg zero-extending mov (x64)

Update CodeGen::genIntToIntCast to stop suppressing 32-bit same-register
`mov`s, and to stop assuming that 32-bit enregistered sources already have
the top half of their register clear.  This latter assumption is usually
true, but is not guaranteed across function boundaries by the ABI.  As it
happens, the runtime code that invokes custom attribute constructors can
pass garbage in the top half of such parameters; this change adds a
testcase that fails on that path without this fix.

8 years agoInliner: refactor policies to extract common legality portion
Andy Ayers [Fri, 25 Mar 2016 18:56:25 +0000 (11:56 -0700)]
Inliner: refactor policies to extract common legality portion

Now that we have multiple policies, refactor their implementation
to extract common elements. In particular all the existing
policies have the same legality and ability constraints, so this
logic is extracted to a partial `LegalPolicy` superclass.

Adresses relevant feedback on #3697, where the number of policies
increased from one to two.

No changes in behavior.

8 years agoFix ARM64 lib toolchain
Kyungwoo Lee [Fri, 25 Mar 2016 18:19:25 +0000 (11:19 -0700)]
Fix ARM64 lib toolchain

This fixes path for the right libs that are consistent with tools.
With this, crossgen.exe can run natively on arm64.

fix

8 years agoFix copy-paste typos
Evgeny Mandrikov [Fri, 25 Mar 2016 17:17:49 +0000 (18:17 +0100)]
Fix copy-paste typos

8 years agoMerge pull request #3907 from davmason/master
David Mason [Fri, 25 Mar 2016 17:14:26 +0000 (10:14 -0700)]
Merge pull request #3907 from davmason/master

Fix spurious warning about parameter counts

8 years agoMerge pull request #3930 from dotnet-bot/from-tfs
Jan Kotas [Fri, 25 Mar 2016 16:55:49 +0000 (09:55 -0700)]
Merge pull request #3930 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoMerge pull request #3908 from AndyAyersMS/JitTimeData
Andy Ayers [Fri, 25 Mar 2016 15:28:13 +0000 (08:28 -0700)]
Merge pull request #3908 from AndyAyersMS/JitTimeData

Inliner: collect jit time data

8 years agoFix build break on full framework
Jan Kotas [Fri, 25 Mar 2016 14:28:56 +0000 (07:28 -0700)]
Fix build break on full framework

[tfs-changeset: 1589984]

8 years agoFix invalid path to genXplatLttng.py
Emmanuel [Fri, 25 Mar 2016 06:29:08 +0000 (15:29 +0900)]
Fix invalid path to genXplatLttng.py

8 years agoMerge pull request #3900 from jkotas/legacynetcf
Jan Kotas [Fri, 25 Mar 2016 03:21:35 +0000 (20:21 -0700)]
Merge pull request #3900 from jkotas/legacynetcf

Delete legacy netcf compat support (final part)

8 years agoMerge pull request #3921 from myungjoo/fix/3859
Jan Kotas [Fri, 25 Mar 2016 03:21:10 +0000 (20:21 -0700)]
Merge pull request #3921 from myungjoo/fix/3859

Fix #3859 ARM/Unwind: explicitly mark the end of stack

8 years agoMerge pull request #3923 from myungjoo/doc/arm_0001
Jan Kotas [Fri, 25 Mar 2016 03:20:56 +0000 (20:20 -0700)]
Merge pull request #3923 from myungjoo/doc/arm_0001

Update Linux Build Instruction

8 years agoMerge pull request #3917 from jkotas/structinregs
Jan Kotas [Fri, 25 Mar 2016 03:15:24 +0000 (20:15 -0700)]
Merge pull request #3917 from jkotas/structinregs

Add explicit calling convention modifiers for x86

8 years agoUpdate Linux Build Instruction
MyungJoo Ham [Fri, 25 Mar 2016 02:51:22 +0000 (11:51 +0900)]
Update Linux Build Instruction

For Linux/ARM, you need to update libunwind-arm
in order to avoid segmentation faults in libunwind-arm,
which is not included in major Linux distros, yet,
while it is already being addressed in upstreams.

This is realted with #3898 Issue Comment 201098037:
https://github.com/dotnet/coreclr/issues/3898#issuecomment-201098037

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
8 years agoMerge pull request #3919 from stephentoub/specialcase_emptystring
Stephen Toub [Fri, 25 Mar 2016 02:54:18 +0000 (22:54 -0400)]
Merge pull request #3919 from stephentoub/specialcase_emptystring

Special-case hashcode of empty length string on Unix

8 years agoInliner: fix issue introduced by refactoring
Andy Ayers [Thu, 24 Mar 2016 21:20:46 +0000 (14:20 -0700)]
Inliner: fix issue introduced by refactoring

Refactoring done in #3799 inadvertently modified logic in
`fgFindJumpTargets` so that stored-to arguments might not be marked as
such in the `lvaTable' when crossgenning a root method. This lead to
asserts in internal test cases.

This change restores the logic to its prior state, and adds a test
case that will trigger an assert if the assembly is crossgenned and
this fix is not applied.

8 years agoInliner: collect jit time data
Andy Ayers [Tue, 22 Mar 2016 22:48:07 +0000 (15:48 -0700)]
Inliner: collect jit time data

This is an initial cut at collecting the time spent jitting a method
as part of observing the incremental impact of inlines.

It currently only measures the time after inlining has run, because there
are substantial interactions with the EE before this point and the time
spent in those calls is not always going to properly attribute to the
current method. We've had some good internal discussion on other
approaches to this and will likely revisit as time goes on. There was
already some timing support in place for SQM so I've generalized that
and shared it for this case too.

This also fixes an off-by-one issue with the method version which came
up when trying to back-correlate the inline data into the inline trees.
The data dumps now include root method data, and so we capture the IL
size and force inline state of the root method in the data dumps. This
allows us to investiage if observed inliner data is corrlated with the
current size of a method.

Data output is now also supported in RET builds. A custom build that
defines `INLINE_DATA` is required. Output is sent to stderr to work
around issues with crossgen.exe reopening stdout in a non-ascii mode.

8 years agoFix ARM/Unwind: explicitly mark the end of stack
MyungJoo Ham [Fri, 25 Mar 2016 01:12:37 +0000 (10:12 +0900)]
Fix ARM/Unwind: explicitly mark the end of stack

Libunwind-arm unw_step returns 0 with unchanged PC
if it hits the bottom of the stack.

Thus, seh-unwind.cpp::PAL_VirtualUnwind should
explicitly mark that it has reached the bottom
as it does with ARM64, FreeBSD, or APPLE for
ARM/Linux.

Fix #3859

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
8 years agoSpecial-case hashcode of empty length string on Unix
stephentoub [Thu, 24 Mar 2016 23:37:48 +0000 (19:37 -0400)]
Special-case hashcode of empty length string on Unix

This is special-cased in the Windows build, but not currently in the Unix build.

8 years agoMerge pull request #3885 from sejongoh/test_env_script
Sejong Oh [Thu, 24 Mar 2016 23:25:33 +0000 (16:25 -0700)]
Merge pull request #3885 from sejongoh/test_env_script

Add --test-env option to tests/runtest.sh to set stress mode environm…

8 years agoAdd explicit calling convention modifiers for x86
Jan Kotas [Thu, 24 Mar 2016 22:14:33 +0000 (15:14 -0700)]
Add explicit calling convention modifiers for x86

8 years agoMerge pull request #3904 from kyulee1/NoMT
Kyungwoo Lee [Thu, 24 Mar 2016 20:48:22 +0000 (13:48 -0700)]
Merge pull request #3904 from kyulee1/NoMT

Remove static lib dependency on CrossGen

8 years agoMerge pull request #3905 from kyulee1/arm64cross
Kyungwoo Lee [Thu, 24 Mar 2016 19:18:16 +0000 (12:18 -0700)]
Merge pull request #3905 from kyulee1/arm64cross

Enable CrossGen Compilation for ARM64

8 years agoMerge pull request #3814 from tijoytom/master
tijoytom [Thu, 24 Mar 2016 18:23:22 +0000 (11:23 -0700)]
Merge pull request #3814 from tijoytom/master

Marshal tests for various scenarios.

8 years agoAdd --test-env option to tests/runtest.sh to set stress mode environment varibles...
Sejong OH [Wed, 23 Mar 2016 17:32:25 +0000 (10:32 -0700)]
Add --test-env option to tests/runtest.sh to set stress mode environment varibles just before tests run.

8 years agoFix spurious warning about parameter counts
David Mason [Thu, 24 Mar 2016 17:48:51 +0000 (10:48 -0700)]
Fix spurious warning about parameter counts

8 years agoEnable CrossGen Compilation for ARM64
Kyungwoo Lee [Thu, 24 Mar 2016 17:51:36 +0000 (10:51 -0700)]
Enable CrossGen Compilation for ARM64

This simply removes the blocking code that prevents ARM64 crossgen
compilation. Otherwise, we got InvalidProgramExceptions for all methods.
I've validated this allows crossgen to compiles all mscorlib methods.
Toward the end, there is NYI assertion in Zap which is expected.

8 years agoRemove static lib dependency on CrossGen
Kyungwoo Lee [Thu, 24 Mar 2016 17:36:18 +0000 (10:36 -0700)]
Remove static lib dependency on CrossGen

The motivation is for enabling ARM64 which does not have correct static
lib with the current toolset.
But looking at other console apps (ilasm/ildasm/coreconsole/corerun) or
coreclr.dll, they also have dependency on msvcrt for Windows.
So, I've decided to make crossgen.exe with the same flavor.
This changes reduces the binary size -- 10M -> 9M (Debug). Release binary
is slightly smaller.
I've validated this by comparing .ni.dll for all FX assemblies that we use for
tests (under CORE_ROOT), which are identical before and after.

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 agoDelete legacy netcf compat support (final part)
Jan Kotas [Mon, 21 Mar 2016 16:06:54 +0000 (09:06 -0700)]
Delete legacy netcf compat support (final part)

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 branch 'master' of https://github.com/dotnet/coreclr
Tijoy Tom Kalathiparambil [Wed, 23 Mar 2016 22:26:18 +0000 (15:26 -0700)]
Merge branch 'master' of https://github.com/dotnet/coreclr

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