Bruce Forstall [Fri, 19 May 2017 21:54:57 +0000 (14:54 -0700)]
Merge pull request #11700 from BruceForstall/CleanupGTFlags
Un-clang-format GTF_ flags
Bruce Forstall [Fri, 19 May 2017 21:47:45 +0000 (14:47 -0700)]
Merge pull request #11594 from mikedn/lower-shift-mask
Removes unnecessary shift count masking
Jonghyun Park [Fri, 19 May 2017 21:26:27 +0000 (06:26 +0900)]
[ARM/Linux] Support unaligned struct read/write (#11290)
* [ARM/Linux] Support unaligned struct read
* Fix format error
* Support unaligned struct write
Bruce Forstall [Fri, 19 May 2017 21:20:39 +0000 (14:20 -0700)]
Merge pull request #11011 from mikedn/imp-runtime-lookup
Simplify runtime lookup tree
William Godbe [Fri, 19 May 2017 21:14:33 +0000 (14:14 -0700)]
Merge pull request #11720 from wtgodbe/BuildToolsCleanup
Clean up 2.0.0 BuildTools PR
Bruce Forstall [Fri, 19 May 2017 21:00:07 +0000 (14:00 -0700)]
LSRA throughput tweaks (#11698)
Convert LinearScan::getVarReg() to take a tracked var index, not varNum
Change LSRA to create Intervals only for tracked variables
Change getIntervalForLocalVar() to take a tracked variable index.
Create getIntervalForLocalVarNode()
This reduces instruction count of superpmi replay over minopts tests by 0.6%.
Bruce Forstall [Fri, 19 May 2017 20:58:35 +0000 (13:58 -0700)]
Improve BitVecOps<>::Iter::NextElem (#11696)
* Improve BitVecOps<>::Iter::NextElem
Tweak the implementation, to reduce the number of instructions
executed in the hot path.
Also, don't pass "env" to NextElem; it can be stored by Init()
if required. For non-inlined calls, this saves setting up one
argument.
Use a `m_bsEnd` end condition. This eliminates the need to handle
short/long differently, and reduces conditions when updating
the current bits to iterate over in the long case.
Overall, pin shows this reduces instruction count of superpmi over
a minopts test run by 2.6% (NextElem is very hot).
Also, fix BitSetAsUInt64 NextElem() iterator: It should store and updated
its own bit count, and not depend on the value passed in to be the
correct latest bit count.
Pat Gavlin [Fri, 19 May 2017 20:36:21 +0000 (20:36 +0000)]
Merge pull request #11746 from pgavlin/gh11733
Do not reverse operands for user-call intrinsics.
Pat Gavlin [Fri, 19 May 2017 19:45:45 +0000 (12:45 -0700)]
Remove `GTF_REVERSE_OPS` from LIR. (#10698)
In HIR, this flag indicates that the second operand to a binary node will execute before
the node's first operand. LIR, however, no longer determines ordering via use edges, so
this flag only affects the order in which operands to a node are considered. The sole
constraint on this use ordering is that for a given node, the same ordering must be used
in liveness, LSRA, and the code generator; this is due to the correspondence between
use ordering and spill/reload/last-use ordering. As a result, the reverse ops flag is
unnecessary and rather unhelpful in LIR, causing little more than a bit of extra complexity
throughout the backend.
This change removes `GTF_REVERSE_OPS` from LIR by clearing this flag during rationalize
and verifying that it remains clear in `LIR::CheckLIR`. We could reuse this bit for an
additional backend-specific purpose in the future with a bit more work in the checker.
Pat Gavlin [Fri, 19 May 2017 18:24:13 +0000 (11:24 -0700)]
Format code.
Wes Haggard [Fri, 19 May 2017 17:59:39 +0000 (10:59 -0700)]
Set StrongName=None for System.Private.CoreLib
We don't ship the managed version of System.Private.CoreLib so
it doesn't need a strong name signature. We always crossgen it
so it is native.
Bruce Forstall [Fri, 19 May 2017 18:09:03 +0000 (11:09 -0700)]
Merge pull request #11741 from mskvortsov/FixUBFX
[ARM32] Fix ubfx instruction encoding
wtgodbe [Thu, 18 May 2017 18:22:42 +0000 (11:22 -0700)]
Clean up 2.0.0 BuildTools PR
Bruce Forstall [Fri, 19 May 2017 17:24:18 +0000 (10:24 -0700)]
Merge pull request #10662 from helloguo/VectorConversion
Add JIT intrinsics support for vector conversion on AMD64 and x86
Wes Haggard [Fri, 19 May 2017 17:22:49 +0000 (10:22 -0700)]
Merge pull request #11747 from weshaggard/UpdateSigning
Update signing for coreclr repo
Wes Haggard [Fri, 19 May 2017 17:18:04 +0000 (10:18 -0700)]
Update signing for coreclr repo
Make sign.builds consistent with corefx and only add strongname
signatures for managed assemblies and not native assemblies
Pat Gavlin [Fri, 19 May 2017 16:33:20 +0000 (09:33 -0700)]
Do not reverse operands for user-call intrinsics.
Maintaining reversed execution order for such nodes is problematic when
these intrinsics are rewritten into calls during rationalize.
Andy Ayers [Fri, 19 May 2017 15:24:20 +0000 (08:24 -0700)]
JIT: relax method attribute assertion check in devirtualization (#11730)
The jit may see `CORINFO_FLG_DONT_INLINE` change between the time it
first reads a method's attributes and the time it re-reads it, since
jitting on some other thread may have deduced the method as noinline
in between the two reads. This bit doesn't affect devirtualization
and so the bit change is harmless.
Tolerate this by masking out this flag bit when comparing attributes.
No changes to generated code.
Closes #11619.
Jonghyun Park [Fri, 19 May 2017 15:17:27 +0000 (00:17 +0900)]
[lldb-plugin] Include PAL headers instead of embedding it (#11705)
Joseph Tremoulet [Fri, 19 May 2017 14:01:20 +0000 (10:01 -0400)]
Merge pull request #11207 from JosephTremoulet/PreserveVN
Preserve value numbers in gtSetEvalOrder
Jiyoung Giuliana Yun [Fri, 19 May 2017 13:35:35 +0000 (22:35 +0900)]
Enable GDBJIT feature in Tizen armel CI (#11708)
Tizen basically requires GDBJIT enabled libraries.
Enable GDBJIT feature to prevent related build fail issues in advance.
Mikhail Skvortcov [Fri, 19 May 2017 07:53:48 +0000 (10:53 +0300)]
ARM32: Fix ubfx instruction encoding.
Jonghyun Park [Fri, 19 May 2017 05:32:17 +0000 (14:32 +0900)]
[GDBJIT] Fix incomplete type build error (#11706)
dotnet bot [Fri, 19 May 2017 02:52:00 +0000 (19:52 -0700)]
Update CoreFx to preview2-25319-01 (#11736)
William Godbe [Thu, 18 May 2017 23:18:29 +0000 (16:18 -0700)]
Merge pull request #11724 from wtgodbe/FixJITCheckProjects
Fix & Re-enable JIT CheckProjects test
William Godbe [Thu, 18 May 2017 22:58:56 +0000 (15:58 -0700)]
Merge pull request #11728 from wtgodbe/RemoveWarnings
Get rid of double-import of Buildversion.targets
wtgodbe [Thu, 18 May 2017 21:24:59 +0000 (14:24 -0700)]
Get rid of double-import of Buildversion.targets
Drew Scoggins [Thu, 18 May 2017 21:06:19 +0000 (14:06 -0700)]
Merge pull request #11697 from DrewScoggins/FixRestoreIssue
Fix Performance Runs
wtgodbe [Thu, 18 May 2017 20:12:12 +0000 (13:12 -0700)]
Fix & Re-enable JIT CheckProjects test
Vance Morrison [Thu, 18 May 2017 20:00:27 +0000 (13:00 -0700)]
Fix Externally reported issue with are ETW logging messages (#11722)
Some of the string messages associated with our event are invalid in obvious ways.
External users found this during a review. Trivial Fix.
Drew Scoggins [Thu, 18 May 2017 17:42:06 +0000 (10:42 -0700)]
Disable Musicstore from ILLink test
MusicStore is currently a very flaky scenario so for now I am disabling
the MusicStore test of ILLink. We will add this back when we move this
scenario test over to its own leg.
Tom Deseyn [Thu, 18 May 2017 15:27:02 +0000 (17:27 +0200)]
pal/configure.cmake: add missing HAVE_SCHED_AFFINITY (#11711)
SaeHie Park [Thu, 18 May 2017 15:20:57 +0000 (00:20 +0900)]
Enable pow for arm/armel in tryrun (#11703)
This will fix CoreFX System.Tests.MathFTests.Pow() failures
Jonghyun Park [Thu, 18 May 2017 03:34:39 +0000 (12:34 +0900)]
Use relevant define for resumable frame SP handling (and update ifdef condition) (#11253)
* Use relevant define instead of explicit _TARGET_XXX_
m_pvResumableFrameTargetSP-related implementations in the stack walker
are explicitly ifdefed by _TARGET_XXX_.
This commit introduces relevant define (RECORD_RESUMABLE_FRAME_SP) and
uses it to ifdef relevant implementations.
This commit does not introduce any behavior changes.
* Update ifdef condition
Jonghyun Park [Thu, 18 May 2017 03:34:05 +0000 (12:34 +0900)]
[x86/Linux] Port 'DacUnwindStackFrame' (#11666)
* [x86/Linux] Implement 'DacUnwindStackFrame'
* Update ContextPointers using ContextRecord
* An attempt to fix x86/Windows build error
Jonghyun Park [Thu, 18 May 2017 03:30:52 +0000 (12:30 +0900)]
[x86/Linux] Fix undefined references on SOS (#11701)
Jan Kotas [Thu, 18 May 2017 01:25:05 +0000 (18:25 -0700)]
Finish deleting dead CAS code from CoreLib (#11436)
Fixes #9321 and deletes CleanupToDoList.cs
Delete unmanaged security implementation
William Godbe [Thu, 18 May 2017 00:48:15 +0000 (17:48 -0700)]
Merge pull request #11690 from wtgodbe/IlTestsFix
Fix & re-enable failing Loader IL tests
Mike McLaughlin [Wed, 17 May 2017 22:39:25 +0000 (15:39 -0700)]
The createdump utility needs RPATH (#11688)
To find the mscordaccore reference when run as a standalone utility. Works fine when launched from coreclr.
Issue #11687
Drew Scoggins [Wed, 17 May 2017 22:35:36 +0000 (15:35 -0700)]
Fix Performance Runs
This fixes the performance runs to work with the new 2.0 build tools
package that we just took.
Carol Eidt [Wed, 17 May 2017 21:53:50 +0000 (14:53 -0700)]
Merge pull request #11660 from CarolEidt/LSRACleanup
LSRA Cleanup
Sergey Andreenko [Wed, 17 May 2017 20:34:09 +0000 (13:34 -0700)]
merger takes MC file names as UTF16 names. (#11506)
There were problems with:
1. Arabick and Japanese symbols in CLR_SH;
2. Long MC names.
We didn't see these problem before, because we moved all MC files and
renamed them with short numbers names.
Now if we want to:
1. avoid MC files copying;
2. save information that is encoded in this names for spmi diff between
different collections
we want this fix.
wtgodbe [Wed, 17 May 2017 20:07:28 +0000 (13:07 -0700)]
Fix & re-enable failing Loader IL tests
Gaurav Khanna [Wed, 17 May 2017 19:06:49 +0000 (12:06 -0700)]
Move master to 2.1 Preview1 (#11662)
Pat Gavlin [Wed, 17 May 2017 17:02:31 +0000 (10:02 -0700)]
Merge pull request #11684 from pgavlin/FixPushdBalance
Remove a couple mistaken calls to popd.
Pat Gavlin [Wed, 17 May 2017 16:29:00 +0000 (09:29 -0700)]
Remove a couple mistaken calls to popd.
These calls were causing individual test runs to fail if other
directories were on the stack.
Jonghyun Park [Wed, 17 May 2017 14:37:01 +0000 (23:37 +0900)]
Fix CreateDump-related undefined reference on non-AMD64/Linux platforms (#11635)
Jonghyun Park [Wed, 17 May 2017 14:20:05 +0000 (23:20 +0900)]
Move some local declaration into exceptionhandling.cpp (#11668)
* Locally declare HandlerFn in exceptionhandling.cpp
* Move ClrUnwindEx forward declaration
Jonghyun Park [Wed, 17 May 2017 14:19:00 +0000 (23:19 +0900)]
Remove unused CLRVectoredExceptionHandlerShim forward declarations (#11667)
Jan Kotas [Wed, 17 May 2017 12:49:01 +0000 (05:49 -0700)]
Switch multicast delegate stub on Windows x64 to use stubs-as-il (#11624)
Fixes #11611. The old hand generated assembly path did not work well for structs passed by reference.
Tomas Weinfurt [Wed, 17 May 2017 06:16:19 +0000 (23:16 -0700)]
Merge branch 'master' of https://github.com/dotnet/coreclr
Tomas Weinfurt [Wed, 17 May 2017 06:15:54 +0000 (23:15 -0700)]
correct link to Using Your Build
William Godbe [Wed, 17 May 2017 02:19:27 +0000 (19:19 -0700)]
Merge pull request #11675 from dotnet/revert-11671-PerfTrigger
Revert "Make Perf Tests by Comment only"
William Godbe [Wed, 17 May 2017 02:19:08 +0000 (19:19 -0700)]
Revert "Make Perf Tests by Comment only"
William Godbe [Wed, 17 May 2017 02:14:23 +0000 (19:14 -0700)]
Merge pull request #11671 from dotnet/PerfTrigger
Make Perf Tests by Comment only
William Godbe [Wed, 17 May 2017 01:49:21 +0000 (18:49 -0700)]
Make Perf Tests by Comment only
William Godbe [Wed, 17 May 2017 01:36:43 +0000 (18:36 -0700)]
Merge pull request #11669 from dotnet/FailingTestList
Fix Formatting in TestsFailingOutsideOfWindows.txt
William Godbe [Wed, 17 May 2017 01:36:29 +0000 (18:36 -0700)]
Fix Formatting in TestsFailingOutsideOfWindows.txt
William Godbe [Wed, 17 May 2017 01:35:31 +0000 (18:35 -0700)]
Merge pull request #11620 from wtgodbe/BuildToolsUpdate
Update Coreclr to 2.0.0 buildtools
Pat Gavlin [Wed, 17 May 2017 00:28:20 +0000 (17:28 -0700)]
Disable opt-sensitive tests under tailcall stress and balance pushd. (#11658)
Just what it says on the tin.
Brian Robbins [Wed, 17 May 2017 00:11:47 +0000 (17:11 -0700)]
Allow provider deletion to be deferred until after tracing is stopped. (#11651)
wtgodbe [Tue, 2 May 2017 23:33:41 +0000 (16:33 -0700)]
Update Coreclr to 2.0.0 buildtools
Carol Eidt [Tue, 16 May 2017 22:28:59 +0000 (15:28 -0700)]
LSRA Cleanup
Remove an unused method, and clean up the comments for `checkLastUses`.
dotnet bot [Tue, 16 May 2017 21:53:08 +0000 (14:53 -0700)]
Update CoreClr to preview2-25316-03 (#11650)
Drew Scoggins [Tue, 16 May 2017 20:55:49 +0000 (13:55 -0700)]
Merge pull request #9354 from tannergooding/math
Adding perf tests for the single precision math functions in System.MathF.
Swaroop Sridhar [Wed, 10 May 2017 09:25:16 +0000 (02:25 -0700)]
Add LinkBench to BenchView
1) Add LinkBench to the xunit-perf benchmark runs, as a scenario test
2) Some improvements to run-xunit-perf to
- Handle tests that perform size measurement
- Parametrization of test group
- Tests running multiple scenarios
CoreFX testing is currently disabled because it fails in the lab
due to a path length limitation.
Tanner Gooding [Mon, 6 Feb 2017 00:08:20 +0000 (00:08 +0000)]
Updated the JIT/Performance/CodeQuality/Math/Functions single-precision tests to have the correct expected results.
Tanner Gooding [Sun, 5 Feb 2017 23:46:56 +0000 (23:46 +0000)]
JIT/Performance/CodeQuality/Math/Functions tests to use the appropriate precision when printing failure messages.
Tanner Gooding [Sun, 5 Feb 2017 23:00:29 +0000 (23:00 +0000)]
Updating the JIT/Performance/CodeQuality/Math/Functions tests to target netcoreapp1.1 instead of netstandard1.4
Tanner Gooding [Sun, 5 Feb 2017 21:41:37 +0000 (13:41 -0800)]
Adding perf tests for the single precision math functions in System.MathF.
Pat Gavlin [Tue, 16 May 2017 18:20:37 +0000 (11:20 -0700)]
Disable tail call stress in GH_10780 if ZapDisable is enabled. (#11649)
* Disable tail call stress in GH_10780 if ZapDisable is enabled.
Tail call stress does not mix well with ZapDisable due to the issues
described in #11408.
Fixes #11648.
* Add a missing semicolon.
Jarret Shook [Tue, 16 May 2017 16:05:05 +0000 (09:05 -0700)]
Merge pull request #11037 from jashook/arm64_test_update
Turn on tests which are now passing.
Jeremy Kuhne [Tue, 16 May 2017 15:40:15 +0000 (08:40 -0700)]
Update Corelib to use SetThreadErrorMode (#11625)
See #19738. Note that the enumerable is only used on Unix- but updated
it anyway. Conditioned the set/unset for ! Unix. SetErrorMode in the
PAL is a no-op, want to use the shared interop.
Jonghyun Park [Tue, 16 May 2017 15:39:40 +0000 (00:39 +0900)]
[x86/Linux] Remove GetFrameFromRedirectedStubStackFrame stub (#11638)
Stephen Toub [Tue, 16 May 2017 14:35:21 +0000 (10:35 -0400)]
Merge pull request #11639 from brianrob/fix_corefx
Fix EventSource Test Breaks in CoreFX
Brian Robbins [Tue, 16 May 2017 05:23:44 +0000 (22:23 -0700)]
Fix EventSource tests.
Jonghyun Park [Tue, 16 May 2017 05:20:34 +0000 (14:20 +0900)]
Move PopSEHRecords into excepx86.cpp (#11626)
Jan Kotas [Mon, 15 May 2017 23:40:31 +0000 (16:40 -0700)]
Merge pull request dotnet/corert#3622 from dotnet/nmirror
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
dotnet bot [Tue, 16 May 2017 04:13:10 +0000 (21:13 -0700)]
Update CoreClr, CoreFx to preview2-25316-01, preview2-25316-01, respectively (#11622)
Swaroop Sridhar [Tue, 16 May 2017 02:18:17 +0000 (19:18 -0700)]
Remove an unnecessary binary file
Remove a binary file that was unintentionally checked in.
jashook [Mon, 17 Apr 2017 23:27:37 +0000 (16:27 -0700)]
Turn on tests which are now passing.
This also adds metadata for all tests which are to be excluded
because they do not work with core.
Sergey Andreenko [Mon, 15 May 2017 23:42:18 +0000 (16:42 -0700)]
Use full move for byte registers stores in jumps. (#11570)
* Use the 4-byte move for jump spilling.
The other types of spilling already use the proper move:
1) for lsra spilling it always use 4-byte move because we allocate 4-byte slots;
2) for other types it sets needsByteReg and lsra chooses correct register;
We do not apply the second approach to fixing this issue because jmp doesn't
have real uses, that can keep this requirement on. Also, it creates more strict
restrictions, that we need.
Xiangyang (Mark) Guo [Mon, 15 May 2017 20:05:32 +0000 (13:05 -0700)]
Write EventSource events with metadata to EventPipe (#11577)
* Fix EventPipe initialization.
* rebase code with master, add prototype of event source metadata
* fix define event
* add null ptr checking
* move WriteEvent metadata serialization to managed side
* Fix enabled keywords for COMPlus_PerformanceTracing=1.
* put parameter name into metadata, use WriteToBuffer
* Write event metadata to the file.
* allocate buffer in EventPipeEvent ctor
* prevent double free
* refactor code
* AddEvent params reorder
Pat Gavlin [Mon, 15 May 2017 20:04:30 +0000 (13:04 -0700)]
Fix issue #11574. (#11579)
This bug was yet another case of a transformation being performed during
remorphing that preserved a tree's value number without preserving its
associated semantics. This fix disables the problematic transformations
in morph.
Tarek Mahmoud Sayed [Mon, 15 May 2017 20:00:15 +0000 (13:00 -0700)]
Update License Info (#11617)
Koundinya Veluri [Mon, 15 May 2017 19:47:36 +0000 (12:47 -0700)]
Throw PNSE in ThreadPoolBoundHandle.BindHandle on Unixes (#11613)
Throw PNSE in ThreadPoolBoundHandle.BindHandle on Unixes
Functional fix for https://github.com/dotnet/corefx/issues/19785
dotnet bot [Mon, 15 May 2017 15:48:36 +0000 (08:48 -0700)]
Update CoreClr, CoreFx to preview2-25315-02, preview2-25315-01, respectively (#11596)
Jonghyun Park [Mon, 15 May 2017 15:47:55 +0000 (00:47 +0900)]
Remove unused code from excepx86.cpp (#11602)
Brian Robbins [Mon, 15 May 2017 15:15:51 +0000 (08:15 -0700)]
Allow coniguration of sampling rate. (#11595)
Brian Robbins [Mon, 15 May 2017 15:13:42 +0000 (08:13 -0700)]
EventPipe: Prepend variable length field sizes (#11600)
* Write the size in bytes of the stack before the stack contents.
* Specify the size of the metadata payload explicitly in the file.
Mike McLaughlin [Mon, 15 May 2017 06:56:22 +0000 (23:56 -0700)]
Fix minidump hang under shipping lldb 3.9.1 (#11591)
Issue: #11590
Mike Danes [Sat, 13 May 2017 19:00:55 +0000 (22:00 +0300)]
Removes unnecessary shift count masking
The C# compiler translates code like `x << y` to `x << (y & 31)` because the behavior of IL shift operations is unspecified if the shift count is greater than or equal to the bit width of the shifted value. However, x86/x64 shift instructions do mask the shift count so `& 31` is redundant.
It's also possible that developers also mask the shift count, not knowing that the C# language specification guarantees masking. In that case we end up with 2 `and x, 31` instructions.
dotnet bot [Sat, 13 May 2017 21:32:19 +0000 (14:32 -0700)]
Update CoreClr, CoreFx to preview2-25313-04, preview2-25313-02, respectively (#11575)
Stephen Toub [Sat, 13 May 2017 21:31:31 +0000 (17:31 -0400)]
Merge pull request #11593 from brianrob/eventsource_unix
Disable ETW calls on UNIX
Brian Robbins [Sat, 13 May 2017 18:39:10 +0000 (11:39 -0700)]
Disable ETW calls on UNIX.
Tarek Mahmoud Sayed [Sat, 13 May 2017 06:35:49 +0000 (23:35 -0700)]
Fix String.IndexOf with empty string input (#11587)
Brian Robbins [Sat, 13 May 2017 01:34:16 +0000 (18:34 -0700)]
Enable Symbolic Rundown for EventPipe (#11582)
Brian Sullivan [Fri, 12 May 2017 23:49:45 +0000 (16:49 -0700)]
Merge pull request #11584 from dotnet/revert-11500-from-tfs
Revert "Merge changes from TFS"
Jarret Shook [Fri, 12 May 2017 23:47:12 +0000 (16:47 -0700)]
Revert "Merge changes from TFS"
Brian Robbins [Fri, 12 May 2017 21:42:04 +0000 (14:42 -0700)]
Put the serialization marker under its own IFDEF. (#11568)