Jan Kotas [Thu, 1 Sep 2016 00:21:40 +0000 (17:21 -0700)]
Update Unix System.Globalization implementation from CoreRT (#7004)
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
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
Carol Eidt [Thu, 25 Aug 2016 23:55:22 +0000 (16:55 -0700)]
Fix DevDiv bug 255263
This issue arose because we were not considering punpckldq as
one of the 3-operand AVX instructions (which require us to duplicate
the source register when encoding an SSE 2-operand form).
This bug showed up in managed C++, so the test is in IL.
The test is failing in RyuJIT/x86, so issue #6940 has been opened,
and it is disabled for x86.
Egor Chesakov [Fri, 26 Aug 2016 19:48:32 +0000 (12:48 -0700)]
Merge pull request #6914 from echesakov/ValueNumberingAssertFix
Bug fix: fgOptimizeBranch loses bbFlags while duplicating the conditional block
Egor Chesakov [Wed, 24 Aug 2016 00:35:10 +0000 (17:35 -0700)]
fgOptimizeBranch loses bbFlags while duplicating the block #6886
1. When `fgOptimizeBranch` procedure duplicates the conditional basic block it does
not copy flags of the `bDest` block to the `bJump` block. For example, if a flag
`BBF_HAS_NEWOBJ` was set in `bDest`, but not in `bJump` when the branch optimization
is done the `bbFlags` of `bJump` will not reflect the fact that we have new object
construction in this block.
2. In `DEBUG` always check if `bbFlags` has `BBF_HAS_NEWOBJ` flag set if at least one
`GT_ALLOCOBJ` canonical node found. This helps to identify situations when compiler loses `BBF_HAS_NEWOBJ` flag.
James Ko [Fri, 26 Aug 2016 05:33:49 +0000 (01:33 -0400)]
Implement the IEquatable interfaces on IntPtr and UIntPtr (#6921)
Jan Kotas [Fri, 26 Aug 2016 01:14:28 +0000 (18:14 -0700)]
Make GetHRForException to return e.HResult on non-Windows platforms (#6929)
Fixes https://github.com/dotnet/corefx/issues/11144
Jarret Shook [Thu, 25 Aug 2016 23:22:11 +0000 (16:22 -0700)]
Merge pull request #6926 from jashook/arm32_ci_update
Incremental progress addressing #6676
jashoo [Thu, 25 Aug 2016 21:54:29 +0000 (14:54 -0700)]
Incremental progress addressing #6676
This change is based upon #6910 by sjsinju to fix the arm emulator
running out of space. It changes uses the /opt folder on the main
system drive to /mnt which has a larger local disk.
Michelle McDaniel [Thu, 25 Aug 2016 18:27:17 +0000 (11:27 -0700)]
Move groovy logic to python script
James Ko [Thu, 25 Aug 2016 22:01:02 +0000 (18:01 -0400)]
Avoid unnecessary indirection in char.ToString (#6903)
Avoid unnecessary indirection in char.ToString