Jan Kotas [Thu, 1 Sep 2016 16:15:22 +0000 (09:15 -0700)]
Revert "Avoid using 'which' for verifying prereqs"
Pat Gavlin [Thu, 1 Sep 2016 16:11:26 +0000 (09:11 -0700)]
Merge pull request #7024 from pgavlin/RunTestFix
Pass /p:Platform to msbuild in runtest.cmd.
Pat Gavlin [Thu, 1 Sep 2016 14:22:29 +0000 (07:22 -0700)]
Merge pull request #7014 from pgavlin/TestBuildSpeedup
Stop groveling for project.json files when building every test.
Pat Gavlin [Thu, 1 Sep 2016 13:09:54 +0000 (06:09 -0700)]
Pass /p:Platform to msbuild in runtest.cmd.
Otherwise, the tests will use the ambient setting of the Platform
variable, which might not match the architecture specified on the
command line. This results in the wrong build of the tests running
against the correct runtime, which e.g. causes failures in tests
with native components.
Swaroop Sridhar [Thu, 1 Sep 2016 04:15:56 +0000 (21:15 -0700)]
Merge pull request #7013 from swaroop-sridhar/PtrStruct
GcInfo: Report Struct containing one GcPointer correctly
Swaroop Sridhar [Wed, 31 Aug 2016 23:04:30 +0000 (16:04 -0700)]
GcInfo: Report Struct containing one GcPointer correctly
This change fixes a bug in the the GcInfo header,
where the ReturnKind is reported incorrectly for certain structs.
Structs that contain only one GCPointer or ByRef, can be returned
in a single register (Windows/Unix/OSX). The ReturnKind for these
struct-returns should be RT_Object/RT_ByRef, but they are currently
incorrectly reported as RT_Scalar. This change fixes the problem.
Fixes: dotnet/corefx#11260
Aditya Mandaleeka [Thu, 1 Sep 2016 01:24:08 +0000 (18:24 -0700)]
Merge pull request #6807 from lemmaa/add-options-for-arm-target-test
[Linux/ARM/Script] Add some features help for arm target test
Jan Kotas [Thu, 1 Sep 2016 00:21:40 +0000 (17:21 -0700)]
Update Unix System.Globalization implementation from CoreRT (#7004)
Pat Gavlin [Wed, 31 Aug 2016 23:51:58 +0000 (16:51 -0700)]
Stop groveling for project.json files when building every test.
This information is only needed by build.proj. Do not compute it in dir.props,
which is included by every test project.
Jan Kotas [Wed, 31 Aug 2016 22:24:46 +0000 (15:24 -0700)]
Merge pull request #7010 from dotnet-bot/from-tfs
Merge changes from TFS
Eric Mellino [Wed, 31 Aug 2016 21:47:07 +0000 (14:47 -0700)]
Merge pull request #6772 from mellinoe/fix-build-packages
Specify packages.builds by default in build-packages command
Pat Gavlin [Wed, 31 Aug 2016 21:23:32 +0000 (14:23 -0700)]
Merge pull request #6552 from pgavlin/RemovePreRationalizeLiveness
Do not run local var liveness before rationalize.
Pat Gavlin [Wed, 31 Aug 2016 21:04:15 +0000 (14:04 -0700)]
Merge pull request #5884 from mikedn/x86-addsub-long
Fix add/sub decomposition
Bruce Forstall [Wed, 31 Aug 2016 19:59:14 +0000 (12:59 -0700)]
Merge pull request #7009 from BruceForstall/PrintErrorForFuncInfoFailure
Print an error, in DEBUG, if we fail to open the JitFuncInfoLogFile
Eric Mellino [Wed, 31 Aug 2016 19:36:37 +0000 (12:36 -0700)]
Merge pull request #6943 from mellinoe/fedora-24
Add fedora24 native packages
Mike McLaughlin [Wed, 31 Aug 2016 19:27:12 +0000 (12:27 -0700)]
Fix funceval of a function returning 16 byte value type. (#6997)
On Linux and OS X, structs less or equal to 16 bytes (instead of 8 bytes
on Windows) are enregistered. Only 8 bytes is being passed back to
debugger during a funceval of a property or method that returns a 16
byte value type.
To fix this, the 16 byte return value (which is only used for enregistered
structures of that size on xplat) needed to be plumbed from CallTargetWorker
through the MethodDescCallSite macros to the func eval code.
The func eval code needed to also deal with 16 byte results.
NUMBER_RETURNVALUE_SLOTS is the number of ARG_SLOTs that will contain the
maximum enregistered return value.
CordbEval:m_result is now ARG_SLOT[NUMBER_RETURNVALUE_SLOTS].
CallTargetWorker is now passed a pointer and the count of bytes to/of the
return value buffer.
Minor fix to SOS SymbolReader function.
Aditya Mandaleeka [Wed, 31 Aug 2016 19:01:28 +0000 (12:01 -0700)]
Avoid using 'which' for verifying prereqs (#6994)
* Use hash instead of which in build.sh
* Use hash instead of which in init-tools.sh.
* Use hash instead of which in gen-buildsys-clang.sh.
Pat Gavlin [Wed, 31 Aug 2016 17:56:11 +0000 (10:56 -0700)]
Fix #6893. (#6932)
Aggregate arguments to calls (i.e. arguments that are made up
of multiple, independent values such as those to be passed in
multiple registers) are represented by GT_LIST nodes that are
not distiguishable from normal GT_LIST nodes without the extra
context of the call. GT_LIST nodes, however, are disallowed in
LIR ranges. The intersection of these two design choices causes
problems for code that operates on LIR but wants to observe
aggregate arguments as a whole (rather than piecewise). In the
case of #6893, this caused lowering to attempt to insert a
PUTARG_STK node after the GT_LIST node that represented the
aggregate argument that was being forced to the stack, which
caused an assertion in the LIR utilities to fail (the GT_LIST
node was passed as the insertion point to `LIR::Range::InsertAfter`,
which requires that the insertion point be a part of the given
range).
Conceptually, the fix is simple: the nodes that represent
aggregate arguments must be allowed to be part of LIR ranges.
The implementation, however, is complicated somewhat by the
need to distinguish the nodes used for aggregate arguments from
normal GT_LIST nodes. These changes implement a short-term
fix that distiguished these nodes by adding a node-specific flag,
`GTF_LIST_AGGREGATE`, to indicate that a GT_LIST node is in fact
an aggregate argument. In the long term, a more palatable
implementation would be the introduction of a new node and operator
type to represent aggregate arguments, but this is likely to
require broader changes to the compiler.
Michelle McDaniel [Wed, 31 Aug 2016 17:45:08 +0000 (10:45 -0700)]
Merge pull request #6989 from adiaaida/updateCodingConventions
Update coding conventions
Tarek Mahmoud Sayed [Wed, 31 Aug 2016 17:21:08 +0000 (10:21 -0700)]
Fix the build break
[tfs-changeset: 1625162]
Pat Gavlin [Sun, 31 Jul 2016 17:02:51 +0000 (10:02 -0700)]
Do not run local var liveness before rationalize.
Neither rationalize nor lowering depend on liveness being run. The assertion mentioned
in the comment was caused by `fgExtendDbgLifetimes` inserting HIR nodes (GT_ASG nodes,
specifically) into LIR blocks.
Bruce Forstall [Wed, 31 Aug 2016 16:38:54 +0000 (09:38 -0700)]
Print an error, in DEBUG, if we fail to open the JitFuncInfoLogFile
Bruce Forstall [Wed, 31 Aug 2016 16:50:00 +0000 (09:50 -0700)]
Merge pull request #7001 from BruceForstall/CleanUpX86LegacyIssuesFile
Clean up test issues files
Bruce Forstall [Wed, 31 Aug 2016 05:18:14 +0000 (22:18 -0700)]
Clean up test issues files
Re-enable some tests that pass. Rearrange x86_legacy_backend_issues.targets
to more closely resemble issues.targets so it is easier to see the
difference.
Michelle McDaniel [Tue, 30 Aug 2016 20:41:27 +0000 (13:41 -0700)]
Update coding conventions
Add a note to the jit coding conventions that jit-format changes supersede
the conventions in the doc. Add a link to jit-format's documentation.
Michelle McDaniel [Wed, 31 Aug 2016 13:38:54 +0000 (06:38 -0700)]
Merge pull request #6988 from adiaaida/shiftLong
Implement DecomposeShift
Rama krishnan Raghupathy [Wed, 31 Aug 2016 05:18:57 +0000 (22:18 -0700)]
Merge pull request #6917 from svick/fixing-alltestprojects
Fixed AllTestProjects.sln
Sung-Jae Lee [Fri, 19 Aug 2016 08:05:07 +0000 (17:05 +0900)]
Add some features help for arm target test
* Add `--build-overlay-only` option to help building test package for arm target.
You can use this option on host after cross building, to make a
test package that will run on target device.
* Make `setup-runtime-dependencies.sh` called on `x64` architecture only.
Because dependent packages are not supported on other architectures now.
* Add `testsUnsupportedOnARM32.txt` file for list up test exclusions.
* minor style fix.
Jan Kotas [Wed, 31 Aug 2016 04:54:44 +0000 (21:54 -0700)]
Update CoreClr, CoreFx, External to beta-24431-01, beta-24431-01, beta-24430-00, respectively (#6879)
Mike Danes [Wed, 13 Jul 2016 19:05:22 +0000 (22:05 +0300)]
Remove obsolete add/sub NYI
Pat Gavlin [Wed, 31 Aug 2016 03:51:33 +0000 (20:51 -0700)]
Fix the srcCount for an unused GT_LONG. (#6996)
GT_LONG nodes that do not have a corresponding use need to
consume their operands. There was already code in lowerxarch
that attempted to do so, but this code was no longer valid in
LIR.
Wes Haggard [Wed, 31 Aug 2016 03:15:23 +0000 (20:15 -0700)]
Remove System.Reflection.AssemblyNameProxy and fix System.Reflection.Pointer constructor (#6987)
dotnet-bot [Wed, 31 Aug 2016 02:30:14 +0000 (02:30 +0000)]
Update CoreClr, CoreFx, External to beta-24431-01, beta-24431-01, beta-24430-00, respectively
Michelle McDaniel [Tue, 30 Aug 2016 16:38:20 +0000 (09:38 -0700)]
Implement DecomposeShift
This change adds support for GT_LSH, GT_RSH, and GT_RSZ for x86 longs.
These nodes are implemented via helpers, so in decompose, we must remove
the shift node from the tree and replace it with a call to the helper.
Additionally, these helpers require that the long operand is in EAX:EDX,
so rather than adding a GT_LONG to the call arg list like we would
normally, we split the high and low parts of the arg and mark them as
non-standard args in gtMorphArgs to force the low part to be in EAX and
the high part to be in EDX. The shift amount is already defaulted to ECX,
which is where the helper expects it to be.
sepidehMS [Wed, 31 Aug 2016 01:28:19 +0000 (18:28 -0700)]
Remove System.Reflection.AssemblyNameProxy and fix System.Reflection.Pointer constructor
Tarek Mahmoud Sayed [Wed, 31 Aug 2016 01:17:09 +0000 (18:17 -0700)]
Merge pull request #6993 from tarekgh/AddMissingSystemTextAPIs
Expose missing Global/Encoding APIs in coreclr and remove empty stubs
Bruce Forstall [Wed, 31 Aug 2016 00:28:50 +0000 (17:28 -0700)]
Merge pull request #6983 from BruceForstall/ReformatIssuesFiles
Reformat test issues files so they are more easily comparable
Pat Gavlin [Tue, 30 Aug 2016 23:53:40 +0000 (16:53 -0700)]
Fix the srcCount for an unused GT_LONG.
GT_LONG nodes that do not have a corresponding use need to
consume their operands. There was already code in lowerxarch
that attempted to do so, but this code was no longer valid in
LIR.
James Ko [Tue, 30 Aug 2016 22:53:10 +0000 (18:53 -0400)]
Port String reorganization from CoreRT (#6985)
Jan Kotas [Tue, 30 Aug 2016 22:47:34 +0000 (15:47 -0700)]
GC update from CoreRT (#6984)
https://github.com/dotnet/corert/tree/master/src/Native/gc
97dd6d2cbb50901cc3651f41a53a4ff9a1052391
Evgeniy Devyatkin [Tue, 30 Aug 2016 22:47:21 +0000 (02:47 +0400)]
Skipped letter in a word (#6991)
Tarek Mahmoud Sayed [Tue, 30 Aug 2016 22:46:50 +0000 (15:46 -0700)]
Expose missing Global/Encoding APIs in coreclr and remove empty stubs
This change is to expose all missing globalization and Encoding APIs in corelib
to have the complete exposed list for such namespaces.
Also we are removing the empty methods stubs for Windows implementation
And have the actual implementation in-place
Eric Mellino [Tue, 30 Aug 2016 22:24:35 +0000 (15:24 -0700)]
Merge pull request #6992 from dotnet/suse421-buildbadge
Add openSUSE 42.1 build badge to README.md
Eric Mellino [Tue, 30 Aug 2016 22:23:03 +0000 (15:23 -0700)]
Add openSUSE 42.1 build badge to README.md
smile21prc [Tue, 30 Aug 2016 21:28:38 +0000 (14:28 -0700)]
Merge pull request #6990 from smile21prc/coreclr-perf
Create coreclr perf jobs for Linux.
Smile Wei [Tue, 30 Aug 2016 19:31:25 +0000 (12:31 -0700)]
Create coreclr perf jobs for Linux.
Jan Kotas [Tue, 30 Aug 2016 21:18:05 +0000 (14:18 -0700)]
Merge pull request #6986 from dotnet-bot/from-tfs
Merge changes from TFS
Bruce Forstall [Tue, 30 Aug 2016 16:16:22 +0000 (09:16 -0700)]
Reformat test issues files so they are more easily comparable
This change reformats the issues files, and sorts the excluded tests
by name, so it is possible to easily compare the baseline issues.targets
file against the x86_jit32_issues.targets and x86_legacy_backend_issues.targets
files.
Jan Kotas [Tue, 30 Aug 2016 18:21:59 +0000 (11:21 -0700)]
Delete non-existing method
[tfs-changeset: 1624957]
Bruce Forstall [Tue, 30 Aug 2016 18:17:41 +0000 (11:17 -0700)]
Merge pull request #6973 from BruceForstall/MoveTailcallTestExclusion
Move TailcallVerifyWithPrefix test to "baseline x86" exclusion section
Rahul Kumar [Tue, 30 Aug 2016 18:11:43 +0000 (11:11 -0700)]
Merge pull request #6867 from rahku/returnHijack
Enable return address hijacking for arm64
smile21prc [Tue, 30 Aug 2016 17:59:12 +0000 (10:59 -0700)]
Merge pull request #6980 from smile21prc/coreclr-perf
More fixes.
Smile Wei [Tue, 30 Aug 2016 17:58:34 +0000 (10:58 -0700)]
More fixes.
smile21prc [Tue, 30 Aug 2016 17:58:02 +0000 (10:58 -0700)]
Merge pull request #6979 from smile21prc/coreclr-perf
Fixed wrong env vars.
Smile Wei [Tue, 30 Aug 2016 17:57:13 +0000 (10:57 -0700)]
Fixed wrong env vars.
Bruce Forstall [Tue, 30 Aug 2016 00:03:51 +0000 (17:03 -0700)]
Move TailcallVerifyWithPrefix test to "baseline x86" exclusion section
This test fails for both legacy x86 JIT as well as RyuJIT. Make that more
clear by moving the exclusion to the "x86 baseline failures" section.
Bruce Forstall [Tue, 30 Aug 2016 15:42:10 +0000 (08:42 -0700)]
Merge pull request #6970 from BruceForstall/EnableStringArrTest
Re-enable stringarr test
Maoni Stephens [Tue, 30 Aug 2016 05:17:54 +0000 (22:17 -0700)]
Merge pull request #6953 from Maoni0/alloc_bytes
added GC.GetAllocatedBytesForCurrentThread API
Jonghyun Park [Tue, 30 Aug 2016 02:36:51 +0000 (11:36 +0900)]
Revises UMThunkStub unwindable in ARM/Linux (#6788)
In ARM/Linux, UMThunkStub currently pushes r0-r3 and r12 without .pad,
which results in #6787.
This commit revises the prolog and epilog of UMThunkStub to fix 6787.
(In addition, personality routine is addes as ARM64/AMD64 already does.)
Ben Adams [Tue, 30 Aug 2016 02:23:53 +0000 (03:23 +0100)]
Monitor.TryEnter asm timeout != 0 before spin (#6951)
* JIT_MonTryEnter_Slow timeout != 0 before spin
* JIT_MonTryEnter_InlineGetThread timeout != 0 before spin
Maoni Stephens [Tue, 30 Aug 2016 01:19:05 +0000 (18:19 -0700)]
added GC.GetAllocatedBytesForCurrentThread API
smile21prc [Mon, 29 Aug 2016 23:50:36 +0000 (16:50 -0700)]
Merge pull request #6972 from smile21prc/coreclr-perf
Change dir to make sure the right project.json is used.
Smile Wei [Mon, 29 Aug 2016 23:50:05 +0000 (16:50 -0700)]
Change dir to make sure the right project.json is used.
smile21prc [Mon, 29 Aug 2016 23:35:39 +0000 (16:35 -0700)]
Merge pull request #6971 from smile21prc/coreclr-perf
Add debugging code to find where Microsoft.DotNet.xunit.performance.r…
Smile Wei [Mon, 29 Aug 2016 23:34:59 +0000 (16:34 -0700)]
Add debugging code to find where Microsoft.DotNet.xunit.performance.runner.cli.dll is deployed.
Bruce Forstall [Mon, 29 Aug 2016 23:22:57 +0000 (16:22 -0700)]
Re-enable stringarr test
I can't get this to fail locally despite thousands of runs.
I fixed the test to detect failure when checking all indices, not
just when checking the last index of the first rank.
Fixes #4844.
smile21prc [Mon, 29 Aug 2016 23:05:46 +0000 (16:05 -0700)]
Merge pull request #6969 from smile21prc/coreclr-perf
Add steps to install xunit performance packages
Smile Wei [Mon, 29 Aug 2016 23:04:58 +0000 (16:04 -0700)]
Add steps to install xunit performance packages
smile21prc [Mon, 29 Aug 2016 22:41:29 +0000 (15:41 -0700)]
Merge pull request #6968 from smile21prc/coreclr-perf
Add debugging code.
Smile Wei [Mon, 29 Aug 2016 22:40:52 +0000 (15:40 -0700)]
Add debugging code.
smile21prc [Mon, 29 Aug 2016 22:25:53 +0000 (15:25 -0700)]
Merge pull request #6967 from smile21prc/coreclr-perf
Fix wrong dir, and add debugging code.
Smile Wei [Mon, 29 Aug 2016 22:24:18 +0000 (15:24 -0700)]
Fix wrong dir, and add debugging code.
smile21prc [Mon, 29 Aug 2016 22:10:18 +0000 (15:10 -0700)]
Merge pull request #6966 from smile21prc/coreclr-perf
Fixed wrong dir.
Smile Wei [Mon, 29 Aug 2016 22:09:25 +0000 (15:09 -0700)]
Fixed wrong dir.
Bruce Forstall [Mon, 29 Aug 2016 21:54:08 +0000 (14:54 -0700)]
Merge pull request #6964 from BruceForstall/Finish6940
Re-enable test DevDiv_255263
Rahul Kumar [Tue, 23 Aug 2016 18:26:50 +0000 (11:26 -0700)]
Enable return address hijacking for arm64.
And also fixes a bug in HijackFrame::GCScanRoots
smile21prc [Mon, 29 Aug 2016 20:44:41 +0000 (13:44 -0700)]
Merge pull request #6963 from smile21prc/coreclr-perf
Rename the script and add debugging steps.
Bruce Forstall [Mon, 29 Aug 2016 20:34:51 +0000 (13:34 -0700)]
Merge pull request #6961 from dotnet-bot/from-tfs
Merge changes from TFS
Michelle McDaniel [Mon, 29 Aug 2016 20:17:21 +0000 (13:17 -0700)]
Merge pull request #6913 from adiaaida/formattingJob
Add Formatting job
Bruce Forstall [Mon, 29 Aug 2016 19:29:47 +0000 (12:29 -0700)]
Re-enable test DevDiv_255263
I forgot to re-enable this test when fixing #6940.
Smile Wei [Mon, 29 Aug 2016 19:07:44 +0000 (12:07 -0700)]
1. Rename the script to the shell type.
2. Added a few lines for debugging.
Oguz Bastemur [Mon, 29 Aug 2016 17:53:00 +0000 (19:53 +0200)]
Fix file descriptor leak on PAL_IsDebuggerPresent (#6958)
Bruce Forstall [Mon, 29 Aug 2016 17:39:59 +0000 (10:39 -0700)]
Merge pull request #6946 from BruceForstall/Fix3597
Change RyuJIT/x86 GC encoder to handle LSRA flexibility
James Ko [Mon, 29 Aug 2016 14:32:43 +0000 (10:32 -0400)]
Cleanup/optimize some String.Compare overloads, part 2 (#6891)
* Change signature of CompareOrdinalEx and move arg validation to the call sites
* Change thrown param name from count -> length
* Rename nativeCompareOrdinalEx -> CompareOrdinalHelper
Bruce Forstall [Sat, 27 Aug 2016 17:50:24 +0000 (10:50 -0700)]
Merge pull request #6949 from BruceForstall/Fix6940
RyuJIT x86: Fix initblk with unrolled loop and constant fill
Bruce Forstall [Sat, 27 Aug 2016 16:15:48 +0000 (09:15 -0700)]
Merge pull request #6947 from BruceForstall/Fix6097
Fix #6097
Bruce Forstall [Sat, 27 Aug 2016 16:15:28 +0000 (09:15 -0700)]
Merge pull request #6948 from BruceForstall/Fix4992
Fix #4992
Bruce Forstall [Sat, 27 Aug 2016 01:25:42 +0000 (18:25 -0700)]
RyuJIT x86: Fix initblk with unrolled loop and constant fill
The computed fill value was only using the low 8 bytes of the
xmm register; we need it to fill the entire 16 byte register.
Fixes #6940
Bruce Forstall [Sat, 27 Aug 2016 00:12:28 +0000 (17:12 -0700)]
Fix #4992
These tests no longer fail, so re-enable them.
Bruce Forstall [Sat, 27 Aug 2016 00:04:30 +0000 (17:04 -0700)]
Fix #6097
The tests no longer fail (were previously fixed, possibly by LIR work).
Re-enable the related tests.
Aditya Mandaleeka [Fri, 26 Aug 2016 23:43:01 +0000 (16:43 -0700)]
Add missing link to crossgen doc in glossary
Eric Mellino [Fri, 26 Aug 2016 23:39:49 +0000 (16:39 -0700)]
Allow Fedora 24 to use MSBuild in build.sh
Bruce Forstall [Fri, 26 Aug 2016 23:11:21 +0000 (16:11 -0700)]
Change RyuJIT/x86 GC encoder to handle LSRA flexibility
LSRA allows a variable to have multiple registers over its lifetimes.
The x86 GC encoder did not understand this. It turns out the non-x86
encoder already had fixed this logic in its own copy of the logic.
This change simply checks the lvRegister and lvOnFrame variables
correctly for LSRA.
Fixes #3597
Carol Eidt [Fri, 26 Aug 2016 22:48:49 +0000 (15:48 -0700)]
Merge pull request #6938 from CarolEidt/Fix255263
Fix DevDiv bug 255263
Smile Wei [Fri, 26 Aug 2016 21:54:47 +0000 (14:54 -0700)]
Script to enable coreclr perf run on Linux.
Michelle McDaniel [Fri, 26 Aug 2016 21:43:15 +0000 (14:43 -0700)]
Merge pull request #6937 from adiaaida/x86Jobs
Enable stress jobs on x86 ryujit
Eric Mellino [Fri, 26 Aug 2016 18:56:42 +0000 (11:56 -0700)]
Add fedora24 native packages
Eric Mellino [Fri, 26 Aug 2016 21:26:33 +0000 (14:26 -0700)]
Merge pull request #6919 from mellinoe/new-distro-pkgprojs
Add pkgproj's for openSUSE 42.1 and Ubuntu 16.10
Michelle McDaniel [Wed, 24 Aug 2016 22:13:51 +0000 (15:13 -0700)]
Enable stress jobs on x86 ryujit
We want to be able to run jitstress, gcstress, etc. jobs on ryujit to
monitor our progress. This change adds additional vars to be written to
the TestEnv script for jitstress jobs.
Swaroop Sridhar [Fri, 26 Aug 2016 20:30:07 +0000 (13:30 -0700)]
Merge pull request #6908 from swaroop-sridhar/retKind
GcInfo: Don't use slim header for methods with struct-returns