Joseph Tremoulet [Thu, 16 Feb 2017 19:45:52 +0000 (11:45 -0800)]
Factor signedness test into helper
Commit migrated from https://github.com/dotnet/coreclr/commit/
98492cf520a7e2af95a8344676f561795fedf230
Joseph Tremoulet [Mon, 13 Feb 2017 22:27:12 +0000 (14:27 -0800)]
Update array length compare value numbers on CSE
Modify CSE to identify compares which are functions of CSE candidate array
length nodes; when those length nodes get CSEd and consequently have their
value numbers updated, also update the value number on the compare
consuming the array length; this way the assertions generated in assertion
prop for the different compares on the CSEd array will use the same value
numbers, and range check elimination becomes more effective.
Resolves dotnet/coreclr#5371
Commit migrated from https://github.com/dotnet/coreclr/commit/
04e0c4c850a0ad6762655807e1ca289e9b0cacfe
Andy Ayers [Wed, 15 Feb 2017 19:11:13 +0000 (11:11 -0800)]
JIT: Finally chain merging (dotnet/coreclr#8810)
Add an optimization that performs a specialized tail merge for chains
of callfinallys. These can arise from try-finallys where there are
multiple exit points from the try that have the same continuation.
When the jit generates a callfinally, it does so without considering
whether some previously generated callfinally might invoke the same
handler and then continue on to the same continuation.
This optimization looks for callfinallys that invoke the same handler
and have the same continuation and effectively merges them into one
canonical callfinally.
This optimization is done bottom-up (from outermost handler invocation
to innermost) to allow the merging done at an outer levels to enable
merging at inner levels.
This optimization saves code size and also results in more compact EH
reporting, since the callfinallies are reported to the runtime as
duplicate EH regions.
When run upstream of finally cloning, finally chain merging also allows
more of the paths exiting the try to exit via the clone.
Also fix an issue in block ref count maintenance during empty try
removal that caused an assert during finally chain merging.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0fae96e0973d09b907124ddc3c62bdad3160f27d
Andy Ayers [Wed, 15 Feb 2017 17:33:16 +0000 (09:33 -0800)]
Merge pull request dotnet/coreclr#9479 from AndyAyersMS/TrimInlineGcRefs
JIT: null out inline gc type locals after inline body
Commit migrated from https://github.com/dotnet/coreclr/commit/
995b8694a55a2c7a9f05a8a46d63afe267be5b9d
Steve MacLean [Wed, 15 Feb 2017 17:00:56 +0000 (12:00 -0500)]
[ARM64/Unix] LLDB (dotnet/coreclr#9504)
* [Arm64/Unix] Default to no lldb in build-rootfs
lldb is not readily available on arm64 Ubuntu releases prior to
16.10
Set the default lldb version to none to allow building Arm64 rootfs
* [Arm64/Unix] Warn if lldb is missing
SOS lldb plugin is an optional component
lldb is not availiable on arm64 prior to lldb3.9
lldb3.9 is not readily available on many ubuntu until 16.10
Change error to warning to simplify building arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
70b0f61459a43abaa31203667090fb0663899706
Hyung-Kyu Choi [Wed, 15 Feb 2017 12:07:08 +0000 (21:07 +0900)]
Fix build-rootfs.sh to include lldb package (dotnet/coreclr#9608)
lldb package is missing for architectures other than arm and armel.
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
94d1639d5d0b969489abbb3ce78b11a72c4493c4
SaeHie Park [Wed, 15 Feb 2017 05:12:06 +0000 (14:12 +0900)]
[x86/Linux] Fix CreateInstantiatingILStub (dotnet/coreclr#9590)
The hidden argument should be always passed last for x86
Commit migrated from https://github.com/dotnet/coreclr/commit/
beaf718cc6e3a0e786191ce322839e66619b5a54
Rama krishnan Raghupathy [Wed, 15 Feb 2017 02:55:00 +0000 (18:55 -0800)]
Merge pull request dotnet/coreclr#9472 from ramarag/RMLocalizationparity
RM localization parity with desktop
Commit migrated from https://github.com/dotnet/coreclr/commit/
4e992df6ea9dd6c2dffe0f471f7def62da66475d
Jonghyun Park [Wed, 15 Feb 2017 01:11:32 +0000 (10:11 +0900)]
Rewrite GetRegisterAddressByIndex using getRegAddr (dotnet/coreclr#9574)
* Rewrite GetRegisterAddressByIndex using getRegAddr
* Use offset-based indirection in x86 getRegAddr
Commit migrated from https://github.com/dotnet/coreclr/commit/
574416d9db7d91e7dc52ca60f1996fbdc79d9aef
William Godbe [Wed, 15 Feb 2017 00:49:20 +0000 (16:49 -0800)]
Merge pull request dotnet/coreclr#9593 from wtgodbe/skipGCTests
Return exit code 0 for long-running/GCSimulator tests in Helix
Commit migrated from https://github.com/dotnet/coreclr/commit/
45628e5e327c419f5a32ceb8022af4549a940c26
Rama Krishnan Raghupathy [Wed, 15 Feb 2017 00:44:42 +0000 (16:44 -0800)]
Removing nativeGetResourceFallbackArray support from Vm
Commit migrated from https://github.com/dotnet/coreclr/commit/
687a5065f46baa624007e484da1d6505af1dd790
Joseph Tremoulet [Wed, 15 Feb 2017 00:41:17 +0000 (19:41 -0500)]
Merge pull request dotnet/coreclr#9583 from JosephTremoulet/ByrefConst
Value number casts and zeros of TYP_BYREF
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d64beaf8a6266683f1df85f1396b7ddfcc33ce4
William Godbe [Wed, 15 Feb 2017 00:27:07 +0000 (16:27 -0800)]
Merge pull request dotnet/coreclr#9589 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25014-04 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5809869904ec265a177c267816db4cede02e5e9b
Rama Krishnan Raghupathy [Thu, 9 Feb 2017 23:09:12 +0000 (15:09 -0800)]
Removing Os specified ulimatefallback for localization
Commit migrated from https://github.com/dotnet/coreclr/commit/
df2bc03c7729d1f55bfb6b38bbe0e15dcd51418e
Sivarv [Tue, 14 Feb 2017 23:48:14 +0000 (15:48 -0800)]
Merge pull request dotnet/coreclr#9485 from sivarv/span
Promote struct containing fields of struct of a single pointer-size field
Commit migrated from https://github.com/dotnet/coreclr/commit/
c862f97af8358954477ef26fd210446f61fa1b79
wtgodbe [Tue, 14 Feb 2017 22:49:06 +0000 (14:49 -0800)]
Return exit code 0 for long-running/GCSimulator tests in Helix
Commit migrated from https://github.com/dotnet/coreclr/commit/
27258e64ebe842545a9fbcd9a06ce7e7fb81d86a
Sergey Andreenko [Tue, 14 Feb 2017 22:55:30 +0000 (14:55 -0800)]
Merge pull request dotnet/coreclr#9522 from sandreenko/GVM-for-corert
Generic Virtual methods for CoreRT
Commit migrated from https://github.com/dotnet/coreclr/commit/
fadf7ebeb07f41c41a7409401efade42dbc760c4
dotnet-bot [Tue, 14 Feb 2017 22:52:30 +0000 (22:52 +0000)]
Update CoreClr to beta-25014-04
Commit migrated from https://github.com/dotnet/coreclr/commit/
bb401b0a926a6e0b4891cbc40660f49611406c41
Steve MacLean [Tue, 14 Feb 2017 22:26:32 +0000 (17:26 -0500)]
Fix EH_LOG Catch set notation (dotnet/coreclr#9586)
Update log to indicate EHClause.TryEndPC in non-inclusive
Commit migrated from https://github.com/dotnet/coreclr/commit/
cb8074ab5568044be64f158c97dccacfea8eb62a
sivarv [Fri, 10 Feb 2017 05:31:04 +0000 (21:31 -0800)]
Promote struct containing fields of struct of a single pointer-size field.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f686b5fca7940723e6f2bc966a43490902b2e8bb
William Godbe [Tue, 14 Feb 2017 21:04:05 +0000 (13:04 -0800)]
Merge pull request dotnet/coreclr#9584 from wtgodbe/chmod
chmod +x all .sh files before Helix execution
Commit migrated from https://github.com/dotnet/coreclr/commit/
9759c8d4c13155c64e707989106b36b88c044579
Sergey Andreenko [Sat, 11 Feb 2017 02:35:00 +0000 (18:35 -0800)]
Generic Virtual calls for CoreRT
Commit migrated from https://github.com/dotnet/coreclr/commit/
7a547bc9cd166c6f3c91c1f1cc13dfa549fb5c7a
wtgodbe [Tue, 14 Feb 2017 20:34:53 +0000 (12:34 -0800)]
chmod +x all .sh files before Helix execution
Commit migrated from https://github.com/dotnet/coreclr/commit/
b3a5704b86f707191c685d27a6c2228d8e23df1c
Gaurav Khanna [Tue, 14 Feb 2017 20:04:14 +0000 (12:04 -0800)]
Merge pull request dotnet/coreclr#9579 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25014-03 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c0ef1323ec3db4b49e00cdb3a4d631000eeb1ea3
Andy Ayers [Fri, 10 Feb 2017 00:43:55 +0000 (16:43 -0800)]
JIT: null out inline gc type locals after inline body
Inlining can sometimes end up stretching GC lifetimes for inlinee
locals past the end of the inlinee method body.
This change extends the work done for inlining methods with pinned
locals to null out all gc ref type locals. If there are any gc type
locals, the return value is copied to a temp inside the inlinee body,
and then at the end of the body the gc type locals are set to null.
In most cases these null stores end up getting removed by dead code
elimination, but if the local ends up untracked, the store remains
and limits the active GC lifetime.
This change requires more extensive use of the return value spill temp
(since we must be absolutely sure the return value expression does not
depend on any of the locals). We now use the spill temp if any local is
a gc ref type (used or not).
More widespread use of the spill temp exposed an issue in the tail call
transformation, where the side effect flags were overly pessimistic for
a post tail-call GT_COMMA statement that represented an ignored return
value from an inlined call. The root issue is that the return value
placeholder is given a GTF_CALL effect but later when the actual return
value expression is substituted in place there may be no side effect --
in particular this happens when the return value expression is the spill
temp.
So, we also update the post tail-call side-effect-free statment check to
look through the potentially pessimistic GT_COMMA flags and check for side
effects on the child nodes.
Closes dotnet/coreclr#9218.
Commit migrated from https://github.com/dotnet/coreclr/commit/
05721eebc54af7bb535f8afb7c67a557cbac5dd5
Joseph Tremoulet [Tue, 14 Feb 2017 19:39:03 +0000 (14:39 -0500)]
Value number casts and zeros of TYP_BYREF
Value numbering already has a representation for constants of byref type.
Hook up both `VNZeroForType` and `EvalCastForConstantArgs` to return a
value number using this representation (rather than fail an assertion)
when the requested result type is byref.
Fixes dotnet/coreclr#9453
Commit migrated from https://github.com/dotnet/coreclr/commit/
9155a99333c09b13ffc28aaeb3be3894e1b17b7a
dotnet-bot [Tue, 14 Feb 2017 17:49:32 +0000 (17:49 +0000)]
Update CoreClr to beta-25014-03
Commit migrated from https://github.com/dotnet/coreclr/commit/
277d4bab4a1f82bf84ac2ec90c23a06055cec38f
Pat Gavlin [Tue, 14 Feb 2017 17:24:06 +0000 (09:24 -0800)]
Merge pull request dotnet/coreclr#9566 from pgavlin/MeasureIR
Add IR size after certain phases to the JIT log.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8cb07cf09c31c0ac54e1a9248642e544d351e05b
Gaurav Khanna [Tue, 14 Feb 2017 17:12:57 +0000 (09:12 -0800)]
Merge pull request dotnet/coreclr#9575 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-25014-02, beta-25014-02, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6203c0211ed65afafd2cb003c0a64b6f3409f1d4
Erti-Chris Eelmaa [Tue, 14 Feb 2017 16:35:16 +0000 (16:35 +0000)]
Add case-insensitive String.Replace overloads (dotnet/coreclr#9316)
Added overloads for String.Replace so that they now accept
StringComparison and CultureInfo as input parameters.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d0f8481cd42e58013879326871455586a86bec6e
Jarret Shook [Tue, 14 Feb 2017 16:31:05 +0000 (08:31 -0800)]
Merge pull request dotnet/coreclr#9475 from jashook/lst_creator_update
Update lst_creator and Arm64 lstFile
Commit migrated from https://github.com/dotnet/coreclr/commit/
3e7d8a5deb0cb761b848e0370e57cf64b283c4f4
dotnet-bot [Tue, 14 Feb 2017 15:04:30 +0000 (15:04 +0000)]
Update CoreClr, CoreFx to beta-25014-02, beta-25014-02, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
096f26c22e8543fc958a092a56d8ade8f9d8909d
SaeHie Park [Tue, 14 Feb 2017 14:55:45 +0000 (23:55 +0900)]
[x86/Linux] Fix IL Stub for Shared Generic (dotnet/coreclr#9571)
Fix parameter order in UnboxingILStub for Shared Generic
Commit migrated from https://github.com/dotnet/coreclr/commit/
c055f7ba7d85347e1cb88937964f39d96b12d79e
Gaurav Khanna [Tue, 14 Feb 2017 05:16:09 +0000 (21:16 -0800)]
Merge pull request dotnet/coreclr#9411 from hqueue/cross/common
Use same logic to prepare rootfs across dotnet if possible
Commit migrated from https://github.com/dotnet/coreclr/commit/
daeb6927dc006fcda24aa3c7384f57da18a95191
Bruce Forstall [Tue, 14 Feb 2017 05:15:36 +0000 (21:15 -0800)]
Merge pull request dotnet/coreclr#9546 from parjong/fix/issue_9545
[x86/Linux] Ignore fake jump while checking funclet branches
Commit migrated from https://github.com/dotnet/coreclr/commit/
27fdc2079fc3ffd44c7025155e70d42d2faa19b1
Andy Ayers [Tue, 14 Feb 2017 04:38:56 +0000 (20:38 -0800)]
Merge pull request dotnet/coreclr#9572 from AndyAyersMS/FixTailCallStress
Jit: fix gtIsRecursiveCall
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d7bb193efc91352f10e3ae4ed1efb48980b2978
Gaurav Khanna [Tue, 14 Feb 2017 04:12:26 +0000 (20:12 -0800)]
Merge pull request dotnet/coreclr#9573 from dotnet-bot/master-UpdateDependencies
Update CoreFx to beta-25014-01 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
80fa6187fdd253a2dbeff11502685fabc928a208
Sivarv [Tue, 14 Feb 2017 03:54:27 +0000 (19:54 -0800)]
Merge pull request dotnet/coreclr#9567 from fiigii/master
Directly support Min/Max intrinsic for Vector<T> on SSE3_4 and above targets
Commit migrated from https://github.com/dotnet/coreclr/commit/
59392bbb5b4eacd30f2ecbebc65b71dd95a5819a
dotnet-bot [Tue, 14 Feb 2017 02:59:38 +0000 (02:59 +0000)]
Update CoreFx to beta-25014-01
Commit migrated from https://github.com/dotnet/coreclr/commit/
520b9fae487ce955bf027e92b11e9c3c1d3cf2ae
Andy Ayers [Tue, 14 Feb 2017 02:38:14 +0000 (18:38 -0800)]
Jit: fix gtIsRecursiveCall
When called from the inline compiler, this needs to look at the root
method's handle, not the inlined method's handle.
Fixes dotnet/coreclr#9568.
Commit migrated from https://github.com/dotnet/coreclr/commit/
de8cad748bcd1f1a1bc2bcbc9ce5db154023c4a6
Pat Gavlin [Tue, 14 Feb 2017 01:56:48 +0000 (17:56 -0800)]
Format code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
52aead3ac5f282621336644b0ade2748dd7d8ad4
noahfalk [Tue, 14 Feb 2017 01:51:40 +0000 (17:51 -0800)]
Merge pull request dotnet/coreclr#9298 from noahfalk/r2r
Rejit support for R2R
Commit migrated from https://github.com/dotnet/coreclr/commit/
3cd73fb25a2608b4ef74bbbb8969a5d7ad9da213
Fei Peng [Tue, 14 Feb 2017 00:07:56 +0000 (16:07 -0800)]
Directly support Min/Max intrinsic for Vector<T> on SSE3_4 and above targets
Commit migrated from https://github.com/dotnet/coreclr/commit/
e6fe29c6c6ca6e4ebc47e0556dfc196055e8dae7
William Godbe [Tue, 14 Feb 2017 01:23:55 +0000 (17:23 -0800)]
Merge pull request dotnet/coreclr#9483 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-25013-09, beta-25013-01, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4f059553beab82aca5dff28227730ba976afeb99
Dan Moseley [Tue, 14 Feb 2017 00:56:52 +0000 (16:56 -0800)]
Merge pull request dotnet/coreclr#9551 from danmosemsft/dead2
Remove dead source files in vm\**
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c0cf068303c5bb9439d46cb7eafd5fdeb1a718a
Pat Gavlin [Tue, 14 Feb 2017 00:56:08 +0000 (16:56 -0800)]
Merge pull request dotnet/coreclr#9564 from pgavlin/ReportCodeSize
Report code and GC info size in the JIT time log.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f09876611179ea96b7b0988230b500d8e850020
jashook [Fri, 3 Feb 2017 00:48:27 +0000 (16:48 -0800)]
Update lst_creator.
Generally refactoring, make it a little more robust and easier to use.
In addition, expand its functionality to update the lstFile.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0bbb3fbecae00c57bb4488f85bf052eedb13b86f
Pat Gavlin [Mon, 13 Feb 2017 23:39:33 +0000 (15:39 -0800)]
Add IR size after certain phases to the JIT log.
This change adds support for measuring and reporting the number of nodes
in a function after a certain subset of the JIT's phases. This reporting
is enabled by setting `COMPlus_JitMeasureIR` and `COMPlus_JtiTimeLogCsv`
in conjunction with each other.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a274b5af4bdc6af0919a28708b3085a59da32cd1
Joseph Tremoulet [Mon, 13 Feb 2017 23:38:50 +0000 (18:38 -0500)]
Merge pull request dotnet/coreclr#9560 from JosephTremoulet/TypeToTypeVN
Value number TypeHandleToRuntimeType helper
Commit migrated from https://github.com/dotnet/coreclr/commit/
539b142c53c66702fd9e76335f591dd946ddbdd5
dotnet-bot [Mon, 13 Feb 2017 23:36:44 +0000 (23:36 +0000)]
Update CoreClr, CoreFx to beta-25013-09, beta-25013-01, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
7c252140f3db634565baa1bc5075ebc47186a772
danmosemsft [Mon, 13 Feb 2017 23:03:15 +0000 (15:03 -0800)]
Fix build break
Commit migrated from https://github.com/dotnet/coreclr/commit/
01656a9802c4885058a9da831f6e819688a799ed
Andy Ayers [Mon, 13 Feb 2017 22:52:47 +0000 (14:52 -0800)]
Merge pull request dotnet/coreclr#9562 from AndyAyersMS/FixMagicTypeEquality
Jit: fix for broken type equality optimization
Commit migrated from https://github.com/dotnet/coreclr/commit/
965d079c06a6945bfb022d3032ea7c3e2493ae68
Pat Gavlin [Mon, 13 Feb 2017 22:42:40 +0000 (14:42 -0800)]
Merge pull request dotnet/coreclr#9563 from pgavlin/FixPrintCsvHeader
Fix `JitTimeLog::PrintCsvHeader`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
63af0e030f9c2de244dbc997822169a1f3dc8c92
noahfalk [Mon, 13 Feb 2017 22:41:20 +0000 (14:41 -0800)]
Rejit support for R2R images
Two changes:
a) R2R code wasn't being reported to the Rejit Manager when it was used, this is a simple fix in prestub.cpp. This makes the ReJit API work.
b) The bulk of the changes handle adding support for an inlining table to R2R so that ICorProfilerInfo6::EnumNgenMethodsInliningThisMethod can supply that information to profilers.
This was only tested on Windows thus far, but there is no apparent reason this change would be OS specific.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac40eab10f2f65a0fe9c88b762da1719d5c3839c
Pat Gavlin [Mon, 13 Feb 2017 22:36:47 +0000 (14:36 -0800)]
Report code and GC info size in the JIT time log.
Just what it says on the tin.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1e2463998e62fcbd1c44ae0956fa8089fada72dd
Jonghyun Park [Mon, 13 Feb 2017 22:19:14 +0000 (07:19 +0900)]
[x86/Linux] Fix incorrect update in HijackFrame::UpdateRegDisplay (dotnet/coreclr#9448)
* [x86/Linux] Fix incorrect update in HijackFrame::UpdateRegDisplay
* Use ENUM_XXX_REGISTERS macro
Commit migrated from https://github.com/dotnet/coreclr/commit/
ead3045fa6e4a43fc16f59a627bc8040df039511
William Godbe [Mon, 13 Feb 2017 22:10:23 +0000 (14:10 -0800)]
Merge pull request dotnet/coreclr#9561 from wtgodbe/suseRuntimes
Remove OpenSuse13.2 from runtime section in all Project.Jsons
Commit migrated from https://github.com/dotnet/coreclr/commit/
645f0ad659dda3e356330c36e5c4702040acfb32
Andy Ayers [Mon, 13 Feb 2017 21:34:39 +0000 (13:34 -0800)]
Fix bytemark benchmark (dotnet/coreclr#9497)
I misunderstood how bytemark uses the `adjust` parameter and inadvertently
enabled self-adjustment for the xunit-perf versions of these tests. Not
surprisingly the results showed crazy run to run variations.
Update these tests to set `adjust = 1` to stop the self-adjustment.
Iteration and loop counts tweaked so that each test runs for roughly
1 second on the perf machines.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9613ba2e6b6ba47300684c004872fd2fe81573dd
Pat Gavlin [Mon, 13 Feb 2017 21:26:56 +0000 (13:26 -0800)]
Fix `JitTimeLog::PrintCsvHeader`.
This function attempts to suppress its output if the JIT time log is not
empty. Unfortunately, the method it uses to do this detection gives
incorrect results on Windows: as documented on MSDN, `ftell` will return
`0` for a file opened for appending until the first I/O operation on
that file occurs. This change fixes this by seeking to the end of the
file prior to `ftell`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
fdbd420a4df2f43219c2b149f0972c20f1590ba2
wtgodbe [Mon, 13 Feb 2017 20:56:21 +0000 (12:56 -0800)]
Remove OpenSuse13.2 from runtime section in all Project.Jsons
Commit migrated from https://github.com/dotnet/coreclr/commit/
832e6e643380b3dc632231169f3c6d295dcf3e56
Andy Ayers [Mon, 13 Feb 2017 19:05:02 +0000 (11:05 -0800)]
Jit: fix for broken type equality optimization
The jit relies on a particular tree remaining intact during importation
to optimize type equality tests commonly found in generics.
In dotnet/coreclr#7909 the jit started aggressively spilling the evaluation stack before
calls, which broke up the trees needed for the optimizations.
In the special cases pertaining to type tests the trees can safely remain
intact because we know the calls can't interact with the computations on
the stack. Recognize these cases and selectively suppress spilling.
Closes dotnet/coreclr#9552.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a26e2c670fc7a793794f4a499212a115c5d5a4b3
Steve MacLean [Mon, 13 Feb 2017 20:14:17 +0000 (15:14 -0500)]
[Unix] Add runparallel.sh (dotnet/coreclr#9557)
Initial draft of a run script capable of keeping
high core count Arm64 servers saturated
Uses xargs to submit and schedule jobs
Commit migrated from https://github.com/dotnet/coreclr/commit/
3d5d12d7e897d7c2d90ab83aa4eb95b410cb98f5
Joseph Tremoulet [Mon, 13 Feb 2017 19:09:08 +0000 (14:09 -0500)]
Value number TypeHandleToRuntimeType helper
This is a pure helper w/o side-effects, so add it to the lists of
tractable helpers in value-numbering; this allows redundant calls to be
CSEd, and fixes dotnet/coreclr#9552 so we can again optimize away type checks on type
parameters in generic code (a not-infrequent pattern).
Commit migrated from https://github.com/dotnet/coreclr/commit/
4f2d083b67873a9281692d69c8088cc52f38b690
Steve MacLean [Mon, 13 Feb 2017 14:54:24 +0000 (09:54 -0500)]
[Unix] twowaypipe unlink before mkfifo (dotnet/coreclr#9505)
Remove stale fifo when before mkfifo
This reduces bogus failures when corerun jobs were
killed with SIGKILL...
Commit migrated from https://github.com/dotnet/coreclr/commit/
6185a8801d3d4402b3afb728856aa62b86dadb4a
Steve MacLean [Mon, 13 Feb 2017 10:56:49 +0000 (05:56 -0500)]
[Arm64/Unix] Remove misleading stress message (dotnet/coreclr#9507)
* [Arm64/Unix] Remove misleading stress message
Commit migrated from https://github.com/dotnet/coreclr/commit/
199739614911b8f7c9cd672cdd8225e22700fa3f
danmosemsft [Mon, 13 Feb 2017 05:08:46 +0000 (21:08 -0800)]
Remove dead validator.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
d1cfc9625334f7a64daf713335e997c1c8a8eaa7
danmosemsft [Mon, 13 Feb 2017 05:05:29 +0000 (21:05 -0800)]
Remove dead stackbuildersink.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
a79fee3b99fe8d6f171c7b26dae4fb1a51590d90
danmosemsft [Mon, 13 Feb 2017 05:04:15 +0000 (21:04 -0800)]
Remove dead rwlock.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
457ee7bbf1ce194cf2260ca202eae6aa1bcd445a
danmosemsft [Mon, 13 Feb 2017 05:01:16 +0000 (21:01 -0800)]
Remove dead remoting.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
c3eb35629731e40bf4ee826db88311f636f9ad36
danmosemsft [Mon, 13 Feb 2017 05:00:22 +0000 (21:00 -0800)]
Remove dead objectclone.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
0627527ec3b9921928e7ed3ba9f7d1c34cbdb627
danmosemsft [Mon, 13 Feb 2017 04:58:49 +0000 (20:58 -0800)]
Remove dead mixedmode.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
aac8c16336872daae128ad531720dcbafe7a98f5
danmosemsft [Mon, 13 Feb 2017 04:57:29 +0000 (20:57 -0800)]
Remove dead message.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
0226a2eb0c600d06d43ad54514b595a7d7a3f751
danmosemsft [Mon, 13 Feb 2017 04:54:30 +0000 (20:54 -0800)]
Remove dead mdadac.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
01cd52961742f595ca710027fd3b0714ad594262
danmosemsft [Mon, 13 Feb 2017 04:53:44 +0000 (20:53 -0800)]
Remove dead mda.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
b15fd281c15c39d26418e94d422e6eee148046a8
danmosemsft [Mon, 13 Feb 2017 04:52:42 +0000 (20:52 -0800)]
Remove dead gchost.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
85443510ce834866f2bc899e8512c2b7b90ee3ed
danmosemsft [Mon, 13 Feb 2017 04:51:31 +0000 (20:51 -0800)]
Remove dead crossdomaincalls.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
41a53ba525c708b229d1c545249bf95c40c10a38
danmosemsft [Mon, 13 Feb 2017 04:42:42 +0000 (20:42 -0800)]
Remove constrainedexecutionregion.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f05c7c8d283345b811cfe7abe1c2ad416301a12
danmosemsft [Mon, 13 Feb 2017 04:25:22 +0000 (20:25 -0800)]
Remove commethodrental
Commit migrated from https://github.com/dotnet/coreclr/commit/
54a687af2ab167060392ea95dd2f8fac643c6880
danmosemsft [Mon, 13 Feb 2017 04:21:08 +0000 (20:21 -0800)]
Remove clrpriv* dead code
Commit migrated from https://github.com/dotnet/coreclr/commit/
4a252cee944e66e7ad709bc11a31037c78fcdfe9
danmosemsft [Mon, 13 Feb 2017 03:55:22 +0000 (19:55 -0800)]
Remove dead assemblynamesconfigfactory etc files
Commit migrated from https://github.com/dotnet/coreclr/commit/
57aaf669076c1fb4c756251192f301b7b6db22dc
danmosemsft [Mon, 13 Feb 2017 03:55:22 +0000 (19:55 -0800)]
Remove dead appdomainhelper* files
Commit migrated from https://github.com/dotnet/coreclr/commit/
4adbd6765d79c25dbae8bce48083c8a4e81934f6
Dan Moseley [Mon, 13 Feb 2017 05:54:57 +0000 (21:54 -0800)]
Merge pull request dotnet/coreclr#9542 from danmosemsft/defines3
Remove code corresponding to always defined symbols
Commit migrated from https://github.com/dotnet/coreclr/commit/
2efbb9282c059eb9742ba5a59b8a1d52ac4dfa4c
danmosemsft [Mon, 13 Feb 2017 03:17:39 +0000 (19:17 -0800)]
Addendum for FEATURE_FUSION
Commit migrated from https://github.com/dotnet/coreclr/commit/
9e3a2fa2faa2a79285fc472c7090821b405469d0
danmosemsft [Mon, 13 Feb 2017 03:15:47 +0000 (19:15 -0800)]
Addendum for FEATURE_APPX_BINDER
Commit migrated from https://github.com/dotnet/coreclr/commit/
3e2323d3c240f12242f6202695032d744c69a9f2
danmosemsft [Mon, 13 Feb 2017 03:10:52 +0000 (19:10 -0800)]
Addendum for FEATURE_CODEPAGES_FILE
Commit migrated from https://github.com/dotnet/coreclr/commit/
981accc3246e25b48ab8be9c1fbd246f3613f65f
Jonghyun Park [Mon, 13 Feb 2017 01:48:11 +0000 (10:48 +0900)]
[x86/Linux] Do NOT treat lea as a jump
Commit migrated from https://github.com/dotnet/coreclr/commit/
0673b2b1ec8b97d8f62f7574b14a5a34fef6770c
Russ Keldorph [Mon, 13 Feb 2017 01:49:30 +0000 (17:49 -0800)]
Merge pull request dotnet/coreclr#9516 from sdmaclea/PR-ARM64-FAILS
[Arm64/Unix] Add list of known arm64 fails
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f3b42948fd24d13666ddd1bcfcbd4a5ac74a9ab
Bruce Forstall [Mon, 13 Feb 2017 01:24:21 +0000 (17:24 -0800)]
Merge pull request dotnet/coreclr#9446 from seanshpark/stkalign_helpers
[x86/Linux] Fix stack alignment in helper stub
Commit migrated from https://github.com/dotnet/coreclr/commit/
eae0a0cf6a22bf189844eaf36c773dd0c125b27a
Bruce Forstall [Mon, 13 Feb 2017 01:22:03 +0000 (17:22 -0800)]
Merge pull request dotnet/coreclr#9543 from mskvortsov/fix-9536
[Windows/Arm32] Fix a build break
Commit migrated from https://github.com/dotnet/coreclr/commit/
357f1178c195bb743025d68f1d075793317b5ebf
danmosemsft [Mon, 13 Feb 2017 00:51:48 +0000 (16:51 -0800)]
Remove never defined FEATURE_FUSION
Commit migrated from https://github.com/dotnet/coreclr/commit/
b9f410b7b85d3948aece3aa009885df244f11e41
danmosemsft [Sun, 12 Feb 2017 23:32:54 +0000 (15:32 -0800)]
Remove remainder of FEATURE_CORECLR (tool missed some files, also comments)
Commit migrated from https://github.com/dotnet/coreclr/commit/
206b6a7efbc2e947eff900f448b86573b77ae392
danmosemsft [Sun, 12 Feb 2017 22:31:56 +0000 (14:31 -0800)]
Comment for Gaurav
Commit migrated from https://github.com/dotnet/coreclr/commit/
764b57ba3b7494a8391f32fea688c46247dc9336
danmosemsft [Sun, 12 Feb 2017 22:30:52 +0000 (14:30 -0800)]
Remove never defined FEATURE_CRYPTO
Commit migrated from https://github.com/dotnet/coreclr/commit/
b19c2192fb77f7a9488426520857740c59ffaf2a
danmosemsft [Sun, 12 Feb 2017 22:26:40 +0000 (14:26 -0800)]
Remove never defined FEATURE_COMPRESSEDSTACK
Commit migrated from https://github.com/dotnet/coreclr/commit/
527c3a1cbb99c6d9b9f11b250bc73487b2c41120
danmosemsft [Sun, 12 Feb 2017 22:23:34 +0000 (14:23 -0800)]
Remove never defined FEATURE_COMINTEROP_WINRT_DESKTOP_HOST
Commit migrated from https://github.com/dotnet/coreclr/commit/
e14f9e5a6eacdc1ae0ff51a23d192cf457f7f5cc
danmosemsft [Sun, 12 Feb 2017 20:46:46 +0000 (12:46 -0800)]
Remove never defined FEATURE_COMINTEROP_TLB_SUPPORT and files that require it to be defined
Commit migrated from https://github.com/dotnet/coreclr/commit/
c2ef095b02c2751f304f43d4c529a1fbac6079d2
danmosemsft [Sun, 12 Feb 2017 20:37:06 +0000 (12:37 -0800)]
Remove never defined FEATURE_COMINTEROP_REGISTRATION
Commit migrated from https://github.com/dotnet/coreclr/commit/
c9a8100ddeaf106f61bd7837ff17ef2ecc069b0b
danmosemsft [Sun, 12 Feb 2017 20:28:16 +0000 (12:28 -0800)]
Remove never defined FEATURE_CODEPAGES_FILE and file
Commit migrated from https://github.com/dotnet/coreclr/commit/
2ae9e448d2746814ec0045713ced712cb556bd1d
danmosemsft [Sun, 12 Feb 2017 20:24:42 +0000 (12:24 -0800)]
Remove never defined FEATURE_CLICKONCE
Commit migrated from https://github.com/dotnet/coreclr/commit/
8e07276c8da06900db4f6072197ce7beecc0481e
danmosemsft [Sun, 12 Feb 2017 20:19:09 +0000 (12:19 -0800)]
Remove never defined FEATURE_CER and header
Commit migrated from https://github.com/dotnet/coreclr/commit/
3d3333347351975148854e83603241b84764eb32