Pat Gavlin [Wed, 21 Jun 2017 01:22:45 +0000 (18:22 -0700)]
Maintain `LIR::IsUnusedValue` in the backend.
This flag indicates whether or not the SDSU temp produced by a node is
ever read. This information is needed by the register allocator, but is
also useful in other parts of the compiler (for example, `TryGetUse` can
return immediately if this flag is set). Setting this flag properly in
rationalize and maintaining it through decomposition and lowering allows
us to remove an IR walk immediately prior to LSRA.
Commit migrated from https://github.com/dotnet/coreclr/commit/
04668c8a76da2b1ee07b48e00ae0376ddfbad960
Pat Gavlin [Sat, 24 Jun 2017 21:06:48 +0000 (14:06 -0700)]
Merge pull request dotnet/coreclr#12439 from pgavlin/SkipDecomp
Update compLongUsed in rationalize.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ab7f3407fa9a03110157ee659b5145a8f6e392ca
sergey ignatov [Sat, 24 Jun 2017 15:57:59 +0000 (18:57 +0300)]
[CoreRT armel] fix for PINVOKE calls in CoreRT (dotnet/coreclr#12373)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7293eead91009822fe2ce18c635f7655165169aa
Pat Gavlin [Fri, 23 Jun 2017 16:26:42 +0000 (09:26 -0700)]
Update compLongUsed in rationalize.
This allows us to skip decompisition if long-typed values are not used by a method.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2d361dfb2d4da252c800015ba005471377622a7a
Hugh Bellamy [Fri, 23 Jun 2017 22:23:50 +0000 (05:23 +0700)]
Update Windows parameter name for Normalize/IsNormalized with invalid form (dotnet/coreclr#12430)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ffe925a22778e33563eaf23c04a33933ca341e97
Mike McLaughlin [Fri, 23 Jun 2017 22:02:36 +0000 (15:02 -0700)]
Add ELF program and section headers to core dump. (dotnet/coreclr#12425)
Add ELF program and section headers to core dump.
Issue dotnet/coreclr#12341
This allows the build id for the modules be extracted properly.
Add .eh_frame, .eh_frame_hdr and some other important sections to core dump.
Add managed module names to core dump so the symbol acquisition
tool can get symbol store keys for them.
Add the non memory/file backed memory regions to core dump so debuggers
like lldb can check if an address is "code" or not. Unwinding doesn't
work when there isn't a module/.so file present.
Commit migrated from https://github.com/dotnet/coreclr/commit/
619334db7e5595888e6409570750ccffe4c4c126
Sean Gillespie [Fri, 23 Jun 2017 21:48:41 +0000 (14:48 -0700)]
[Local GC] Remove a number of inclusions of handle table private headers from the VM (dotnet/coreclr#12389)
* Remove inclusions of private handle table headers from the VM
* Add TraceRefCountedHandles to the GC handle table interface
* Fix the Unix build
* Move ValidatePinnedObject to marshalnative.h
Commit migrated from https://github.com/dotnet/coreclr/commit/
3a24095610ecaba62495740bf8319ad467af4997
Bruce Forstall [Fri, 23 Jun 2017 21:26:56 +0000 (14:26 -0700)]
Fix JitMinOptsTrackGCrefs for legacy x86 back-end (dotnet/coreclr#12416)
Addresses dotnet/coreclr#12415
Commit migrated from https://github.com/dotnet/coreclr/commit/
16cee64552b4fd6d08dd84b273cc223094d5b5f6
William Godbe [Fri, 23 Jun 2017 19:20:56 +0000 (12:20 -0700)]
Merge pull request dotnet/coreclr#12424 from wtgodbe/ArmRunsPipeline
Enable ARM test runs in Helix
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7b87e70b3089a2c4894441660f01a8cd7a38864
Xiangyang (Mark) Guo [Fri, 23 Jun 2017 00:39:41 +0000 (17:39 -0700)]
Fix systemMask on Linux (dotnet/coreclr#12387)
* fix systemMask
* code refactor
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3abd81b2fd713424fa71ce6e066da7eefb093ce
Sergey Andreenko [Thu, 22 Jun 2017 23:41:21 +0000 (16:41 -0700)]
Spmi third cleaning (dotnet/coreclr#12418)
* CreateAgnostic_CORINFO_SIG_INFO
Also you pSig_Index always when it is index in the buffer map,
as we do for sigInst_classInst_Index for example.
* spmi Restore_CORINFO_RESOLVED_TOKENout
delete another duplicate.
* SpmiDumpHelper
Commit migrated from https://github.com/dotnet/coreclr/commit/
c5cdc2342e741fe96c7b3ae1be7fc595f5a3306d
Bruce Forstall [Thu, 22 Jun 2017 23:06:24 +0000 (16:06 -0700)]
Merge pull request dotnet/coreclr#12409 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
f0a21377c3be7e643a02cafa94b457b0b9c3805c
Bruce Forstall [Thu, 22 Jun 2017 21:24:23 +0000 (14:24 -0700)]
Merge pull request dotnet/coreclr#12417 from sjsinju/fix_3bytes_struct
[RyuJIT/ARM32] Change the 3bytes struct to int on morph phase.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c8148261c39cd9a490bea83e0aab17d19c0e933e
wtgodbe [Thu, 22 Jun 2017 18:59:49 +0000 (11:59 -0700)]
Enable ARM test runs in Helix
Commit migrated from https://github.com/dotnet/coreclr/commit/
2c26cc7f6940e900a342efcf8fd9c77195a69bde
William Godbe [Thu, 22 Jun 2017 18:55:26 +0000 (11:55 -0700)]
Merge pull request dotnet/coreclr#12413 from wtgodbe/ArmRuns
First step for enabling ARM test runs
Commit migrated from https://github.com/dotnet/coreclr/commit/
07288545c246545d0af3627e6ae71b433758b0f7
Carol Eidt [Thu, 22 Jun 2017 18:35:34 +0000 (11:35 -0700)]
Merge pull request dotnet/coreclr#12422 from CarolEidt/lvaSetClassDiffable
Make lvaSetClass dump diffable
Commit migrated from https://github.com/dotnet/coreclr/commit/
a12306693cdce686ef6373e09fdf345b235d9a27
Carol Eidt [Thu, 22 Jun 2017 17:35:36 +0000 (10:35 -0700)]
Make lvaSetClass dump diffable
Commit migrated from https://github.com/dotnet/coreclr/commit/
d9cdd1b0421fbc2f53c7f69184b294af01590043
Ravi Eda [Thu, 22 Jun 2017 17:19:59 +0000 (12:19 -0500)]
Update attribute-value in security build definition. (dotnet/coreclr#12419)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c4876c41d5ca8700410a6b052ef3450a379ca4f1
sjsujinkim [Thu, 22 Jun 2017 01:52:59 +0000 (10:52 +0900)]
[RyuJIT/ARM32] Change the 3bytes struct to int on morph phase.
It is necessary that the 3bytes struct which is a local var to int on morph phase.
Related Issue : dotnet/coreclr#12290 (Assertion failed 'emitTypeSizes[TypeGet(type)] > 0')
Commit migrated from https://github.com/dotnet/coreclr/commit/
d2d8f7fad4a0f4873003384815d5ab329ee1ac43
Yuri Vanin [Thu, 22 Jun 2017 04:57:25 +0000 (21:57 -0700)]
Add String.Contains overload with StringComparison (dotnet/coreclr#12400)
Staging change of System.Private.CoreLib for CoreFX dotnet/coreclr#20846
Commit migrated from https://github.com/dotnet/coreclr/commit/
e1ceca5f5099761f9bc3be17fbc5cbd3e2b72ec4
Sergey Andreenko [Wed, 21 Jun 2017 23:20:37 +0000 (16:20 -0700)]
Spmi second cleaning (dotnet/coreclr#12402)
* don't init zero-init struct with nulls.
* Clean spmi code for GetTokenTypeAsHandle and GetCastingHelper
* Clean spmi GetVarArgsHandle and CanGetVarArgsHandle
* Clean GetCookieForPInvokeCalliSig and CanGetCookieForPInvokeCalliSig
* clean spmi GetNewHelper
* clean spmi GetArgType
* clean spmi GetArgClassValue
Commit migrated from https://github.com/dotnet/coreclr/commit/
efc4758140f2f0b856d97fc847415a22c8dfefc9
wtgodbe [Wed, 21 Jun 2017 22:57:10 +0000 (15:57 -0700)]
First step for enabling ARM test runs
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d712086ff3bb726444ea6044262ff2b9183560e
Michelle McDaniel [Wed, 21 Jun 2017 21:34:27 +0000 (14:34 -0700)]
Merge pull request dotnet/coreclr#12404 from adiaaida/changeLinuxTPAssemblies
Align Linux TP benchmarks with Windows TP benchmarks
Commit migrated from https://github.com/dotnet/coreclr/commit/
ba2376eed717e0c7384c577357649a82722f586b
Bruce Forstall [Wed, 21 Jun 2017 19:26:56 +0000 (12:26 -0700)]
Fix arm64 build break
[tfs-changeset: 1662444]
Commit migrated from https://github.com/dotnet/coreclr/commit/
98bdd562b6ad4dd8820dbcc1b4a831b040772d19
Jeremy Kuhne [Wed, 21 Jun 2017 18:51:36 +0000 (11:51 -0700)]
Need to pass handle to SeekCore (dotnet/coreclr#12399)
We're not setting the member field until the end of construction.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e6f7f471f8050b9e881d909321f95e9bfc257ee0
Koundinya Veluri [Wed, 21 Jun 2017 18:07:01 +0000 (11:07 -0700)]
Fix event, semaphore, mutex create/open to request the maximum allowe… (dotnet/coreclr#12381)
Fix event, semaphore, mutex create/open to request the maximum allowed access
Functional fix for dotnet/coreclr#11306
- Ported dotnet/corert@dotnet/coreclr@
78fae17f5434839a8720603973ff53f27e27f916 to CoreCLR, see that commit for details on the hang during mutex creation that is also fixed by this change.
- Replaced all uses of the *_ALL_ACCESS flags relevant to events, semaphores, and mutexes
Commit migrated from https://github.com/dotnet/coreclr/commit/
ccd8dd1308c90b7495f182f5a7e121d25aa5e27b
Eugene Rozenfeld [Wed, 21 Jun 2017 17:52:47 +0000 (10:52 -0700)]
Merge pull request dotnet/coreclr#12395 from erozenfeld/fgMorphRecognizeBoxNullable
Fix for a bug in fgMorphRecognizeBoxNullable.
Commit migrated from https://github.com/dotnet/coreclr/commit/
66678b6560ef666a80756be54c78f2a5f294baf6
Ravi Eda [Wed, 21 Jun 2017 17:18:46 +0000 (12:18 -0500)]
Provision CodeBase and NotificationAlias variables -CoreCLR (dotnet/coreclr#12403)
* Security build JSONs.
* Provision CodeBase and NotificationAlias variables.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b3e25754f43ce3dbdfda558eb14d1f881f0e3a19
Michelle McDaniel [Wed, 21 Jun 2017 16:55:43 +0000 (09:55 -0700)]
Align Linux TP benchmarks with Windows TP benchmarks
On Windows, we download a set of assemblies that we have uploaded to
MyGet. On Linux, we were building corefx each run to get the benchmarks.
This change updates Linux to pull down the same benchmarks Windows uses,
using curl to grab the nuget package from MyGet.
Note: after this commit, we will have data for fewer assemblies on
Linux, but we will now have the same set for both Windows and Linux.
Some data in Benchview may be affected.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e38cf70d87a42aa8d0a9b6bdbf3ef7b657955584
Wes Haggard [Wed, 21 Jun 2017 16:19:46 +0000 (09:19 -0700)]
Merge pull request dotnet/coreclr#12379 from dotnet-maestro-bot/master-UpdateDependencies
Update CoreClr, CoreFx to preview1-25421-01, preview1-25421-02, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
939af8b02b971e3204f7500e369140a42ad14026
Carol Eidt [Wed, 21 Jun 2017 14:46:23 +0000 (07:46 -0700)]
Merge pull request dotnet/coreclr#12164 from hqueue/arm/ryujit/lsra_12078_live_in
[RyuJIT/ARM32] Unassign double register properly at BB entry
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f4a1a5aebc902cfbca5bb469122cbb63862628e
Carol Eidt [Wed, 21 Jun 2017 14:43:37 +0000 (07:43 -0700)]
Merge pull request dotnet/coreclr#12358 from jyoungyun/ryujit/assersion_failed_info_numslots_is_1
[RyuJIT/ARM32] Assign 2 numslots to gtLsraInfo.srcCount in TYP_DOUBLE
Commit migrated from https://github.com/dotnet/coreclr/commit/
c247b7cb92b31fa8de61b2fa3d05767d1a970cec
dotnet-maestro-bot [Wed, 21 Jun 2017 13:38:07 +0000 (13:38 +0000)]
Update CoreClr, CoreFx to preview1-25421-01, preview1-25421-02, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
23ed7cdf12d37ac82694234b8120d63caa7dcd1c
Richard L. Jackson [Wed, 21 Jun 2017 09:33:20 +0000 (11:33 +0200)]
Please include this line to enable build (dotnet/coreclr#12382)
find_path(LLDB_H "lldb/API/LLDB.h" PATHS "/usr/lib/llvm-4.0/include")
Commit migrated from https://github.com/dotnet/coreclr/commit/
0c457911c19fcfb921f69c5e06450f5d89f068b9
Sergey Andreenko [Wed, 21 Jun 2017 07:27:08 +0000 (00:27 -0700)]
Spmi source code cleaning (dotnet/coreclr#12378)
* fix pointer names in CORINFO_RESOLVED_TOKENin
* Remove exceptionCode from Agnostic_CORINFO_RESOLVED_TOKENout
The target if to do Agnostic_CORINFO_RESOLVED_TOKEN =
Agnostic_CORINFO_RESOLVED_TOKENin + Agnostic_CORINFO_RESOLVED_TOKENout
* Agnostic_CORINFO_RESOLVED_TOKEN = Agnostic_CORINFO_RESOLVED_TOKENin + Agnostic_CORINFO_RESOLVED_TOKENout
* spmi cleaning for ResolvedToken.
It is only the first part of changes. I am trying to delete as many code
as I can, because for now it is bad pain to make changes in this files.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9121670c7a3f927c4a7a4b9711fdc904eeef281c
Eugene Rozenfeld [Tue, 20 Jun 2017 23:46:02 +0000 (16:46 -0700)]
Fix for a bug in fgMorphRecognizeBoxNullable.
fgMorphRecognizeBoxNullable doesn't work correctly when called during re-morphing. In particular it can't handle late args in the call to CORINFO_HELP_BOX_NULLABLE. The test case results in several asserts (the first one in lsra) followed by an infinite loop in the jit.
The reason the optimization is not performed during global morph is that only patterns with GT_EQ and GT_NE are handled. Some versions of csc generate
...
ldnull
cgt.un
ret
for
this C# line
null != this.value
so we get GT_GT instead.
The fix has two parts:
1. Don't attempt to perform the optimization when called during re-morph and the struct parameter is a late arg.
2. Call fgMorphRecognizeBoxNullable for GT_GT nodes with GTF_UNSIGNED set. This allows the optimization to fire during global morph.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e78d2fd7a533c5244e442fdaec032ca697fc8a97
Hyung-Kyu Choi [Wed, 21 Jun 2017 03:06:19 +0000 (12:06 +0900)]
Enable and use updateAssginedInterval() for all targets
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
6dd3d4c991544d02ac88817d745125b84e69598c
Daniel Podder [Wed, 21 Jun 2017 02:39:49 +0000 (19:39 -0700)]
Update trusted RHEL build Dockertag to support LTO (dotnet/coreclr#12396)
The new RHEL image was generated using the same Dockerfile as the
previous, but has LLVM recompiled with gold support enabled, which is
required to do a build with -flto (a prerequisite for PGO).
Commit migrated from https://github.com/dotnet/coreclr/commit/
bed557d59ab60ede4204d6186ca7daf57eb7869c
Hyung-Kyu Choi [Wed, 21 Jun 2017 02:21:45 +0000 (11:21 +0900)]
Introduce LinearScan::isAssignedToInterval()
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
12b5f6cfc4e4fed885b090ae9177e0c0286550de
Jiyoung Yun [Wed, 21 Jun 2017 02:09:14 +0000 (11:09 +0900)]
Fix typo and formatting issues
Commit migrated from https://github.com/dotnet/coreclr/commit/
85d30d70581b2b6cd6e1e283d1aeb514e0fd26bb
Jiyoung Yun [Tue, 20 Jun 2017 09:43:44 +0000 (18:43 +0900)]
[RyuJIT/ARM32] Avoid assersion for double arguments
Double arguments in ARM32 uses 2 slots and it isn't a multi-reg struct.
In this case, it should avoid an assersion that checks if the slot is 1.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8bdde1c968e56a948f76b5c36750e6a738662950
Jiyoung Yun [Mon, 19 Jun 2017 07:32:17 +0000 (16:32 +0900)]
[RyuJIT/ARM32] Assign 1 srcCount in TYP_DOUBLE
Even though TYP_DOUBLE uses 2 numSlots, we consume 1 srcCount in TYP_DOUBLE
Commit migrated from https://github.com/dotnet/coreclr/commit/
969ce883cf5262115ee8774517a1716a317866f4
Jiyoung Yun [Fri, 16 Jun 2017 02:52:35 +0000 (11:52 +0900)]
Assign 2 numslots to gtLsraInfo.srcCount in TYP_DOUBLE
Commit migrated from https://github.com/dotnet/coreclr/commit/
f4447721476bf2a559ce9aca8d49718d31831513
Hyung-Kyu Choi [Tue, 20 Jun 2017 11:03:32 +0000 (20:03 +0900)]
[RyuJIT/ARM32] Use helper to update RegRecord
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
b06bb8d7fd5468f606b867839e7f80f40d6df2e4
Hyung-Kyu Choi [Thu, 8 Jun 2017 10:21:35 +0000 (19:21 +0900)]
[RyuJIT/ARM32] Clear assigned interval of double register
Clear assigned interval of double register properly
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
fc3492a8a831e768ff6a6de9ae41b977ac6d4fbc
Hyung-Kyu Choi [Thu, 8 Jun 2017 09:33:12 +0000 (18:33 +0900)]
[RyuJIT/ARM32] Unassign double register properly at BB entry
When updating var locations at basic block entry, we should
unassign double register properly for TYP_DOUBLE interval.
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
02f11738345521f0f736333b278dd0d14d6cf3b7
Atsushi Kanamori [Tue, 20 Jun 2017 23:44:56 +0000 (16:44 -0700)]
Stub Environment from registry apis inside app-containers. (CoreCLR) (dotnet/coreclr#12390)
We're not going to get exemptions for these inside appcontainers
so we'll change them to behave as they do on Unix (present
an empty reg key that eats writes requests.)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c1456fe280d5ea5e3e2f99024d905ce85439493c
Tomas Weinfurt [Tue, 20 Jun 2017 23:05:20 +0000 (16:05 -0700)]
Update building documentation for osx/macOS (dotnet/coreclr#12366)
* Update osx-instructions.md
add 10.12 Sierra as minimal needed version and add some more notes for pkg-config add reference to clean.sh
Commit migrated from https://github.com/dotnet/coreclr/commit/
d43491dda8f83586f4f4d35679c67509d7920ad3
Sean Gillespie [Tue, 20 Jun 2017 22:24:05 +0000 (15:24 -0700)]
[Local GC] Move handle creation/deletion profiler callbacks out of the GC (dotnet/coreclr#12314)
* [Local GC] Move handle creation and handle destruction profiler
callbacks out of the GC
* Remove dead code
* Move some handle-related code out of gcheaputilities.cpp and into gchandleutilities.cpp
* Address code review feedback, remove some more dead code and add some style fixes
* Refactor handle creation and destruction helpers to go through a common function
Commit migrated from https://github.com/dotnet/coreclr/commit/
e7725a6ff986879f8ff2fd9e09ab636545ba7bca
Hyung-Kyu Choi [Tue, 20 Jun 2017 21:09:22 +0000 (06:09 +0900)]
[RyuJIT/ARM32] Implement storing multi-reg/HFA return value at caller (dotnet/coreclr#12294)
* [RyuJIT/ARM32] Initial implementation of multi-reg return
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [RyuJIT/ARM32] Update multi-reg return for ARM32
- Update comment
- Remove wrong implementation
- Handle HFA struct correctly by consitering type
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* Update comments for GetABIReturnReg() and GetABIReturnRegs()
- Remove and update obsolete comment
- Fix format
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
cf63336cbc2597801d62e399be6bdba8938d1034
Eric Mellino [Tue, 20 Jun 2017 17:02:02 +0000 (13:02 -0400)]
Merge pull request dotnet/coreclr#11629 from pentp/Math-perf
Optimized Math.Sign
Commit migrated from https://github.com/dotnet/coreclr/commit/
69fcf9059b01b252027a4a0b5414b9a78bc13e7c
Hyung-Kyu Choi [Tue, 20 Jun 2017 16:21:13 +0000 (01:21 +0900)]
Update CI to follow up corefx changes (dotnet/coreclr#12384)
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
9189de275ead3107de872df10dfe571417f5576c
Sergey Andreenko [Tue, 20 Jun 2017 05:40:25 +0000 (22:40 -0700)]
.clang format from jit (dotnet/coreclr#12377)
Commit migrated from https://github.com/dotnet/coreclr/commit/
fed72a18f637fa8b124de312865dfeb157845fdd
Carol Eidt [Mon, 19 Jun 2017 23:10:53 +0000 (16:10 -0700)]
Merge pull request dotnet/coreclr#12313 from kyulee1/st
Remove static for function pointer
Commit migrated from https://github.com/dotnet/coreclr/commit/
da0f1a7dd5f662e5ed03238c863f62a9d3bfa77b
Jeremy Kuhne [Mon, 19 Jun 2017 22:31:01 +0000 (15:31 -0700)]
Don't close passed in FileStream handles in constructor (dotnet/coreclr#12253)
* Don't close passed in FileStream handles in constructor
As the finalizer will run when throwing we need to be
careful to make sure we don't put the passed-in handle
in the member field until we're sure we've succeeeded.
Additionally we need to make sure any wrapping SafeHandle
we create on a passed in IntPtr isn't collected.
* Move platform specific assertion and add comment.
* Comment- fix mistake in CanSeekCore
Commit migrated from https://github.com/dotnet/coreclr/commit/
8a8bda14a618b14264cb85c012e097b3e01992e9
Viktor Hofer [Mon, 19 Jun 2017 20:59:38 +0000 (22:59 +0200)]
Fixing CompareInfo AssemblyMode.Full serialization between Core <--> Desktop (dotnet/coreclr#12365)
* Fixing CompareInfo AssemblyMode.Full serialization
* Adding reason why culture field is introduced
Commit migrated from https://github.com/dotnet/coreclr/commit/
b2cd406d76546d075cdcb79c3255c113f7f1dbfa
Pat Gavlin [Mon, 19 Jun 2017 20:10:49 +0000 (13:10 -0700)]
Merge pull request dotnet/coreclr#12055 from mikedn/lower-long-relops
[WIP] Simplify long relop lowering
Commit migrated from https://github.com/dotnet/coreclr/commit/
de46ffbca9ee78cf28c30f9f5599171be045ecd5
Swaroop Sridhar [Wed, 24 May 2017 00:19:15 +0000 (17:19 -0700)]
ILLink Performance Tests: Enable MusicStore
Enable the Musicstore tests, since the failure in JitBench is
now fixed.
Commit migrated from https://github.com/dotnet/coreclr/commit/
215a4ff0880ecd64f76826942c95b231162668d0
Hyung-Kyu Choi [Mon, 19 Jun 2017 17:47:37 +0000 (02:47 +0900)]
[RyuJIT/ARM32] Update LinearScan::resolveLocalRef() for ARM32 (dotnet/coreclr#12194)
Update LinearScan::resolveLocalRef()
- Always update two float register consisting a double register
- Use helper function for ARM32 double register
- Use stronger assertion condition
Introduce updateAssignedInterval() to update assigned interval
of ARM32 register considering register type.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6ce70eb9b6cb08b4ca0fb91692d284a1d37e37b
Michelle McDaniel [Mon, 19 Jun 2017 16:16:01 +0000 (09:16 -0700)]
Merge pull request dotnet/coreclr#12364 from adiaaida/removeSudoThroughput
Remove sudo from throughput run
Commit migrated from https://github.com/dotnet/coreclr/commit/
312354c3203318e6cc18071903f8daf122b25d88
dotnet-maestro-bot [Mon, 19 Jun 2017 15:51:33 +0000 (08:51 -0700)]
Update CoreClr, CoreFx to preview1-25419-02, preview1-25419-02, respectively (dotnet/coreclr#12342)
Commit migrated from https://github.com/dotnet/coreclr/commit/
383c35f0c2cb28cb215cbeddd1510afcb0a4716a
Michelle McDaniel [Mon, 19 Jun 2017 15:24:22 +0000 (08:24 -0700)]
Remove sudo from throughput run
Sudo is not necessary for running throughput testing, so remove sudo so
we don't run into requests for passwords if the ubuntu machines are not
set up correctly.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f0f453d7ab1326ef9b7139fdb9fe7795a9df061f
James Ko [Sun, 18 Jun 2017 13:53:45 +0000 (09:53 -0400)]
Cleanup most code in StringBuilder (dotnet/coreclr#10156)
* Cleanup most code in StringBuilder
* Respond to PR feedback
* Document StringBuilder's fields
* VerifyClassInvariant -> AssertInvariants
* Fix always-true assert
* Respond to PR feedback from @stephentoub
Commit migrated from https://github.com/dotnet/coreclr/commit/
a8aa9b6c8ef0ce6e1f0cb482a1fbe619926e7c05
Pat Gavlin [Sun, 18 Jun 2017 02:43:46 +0000 (19:43 -0700)]
Merge pull request dotnet/coreclr#12335 from mikedn/assert-prop-alloc
Remove unnecessary bitvec allocation in assertion prop
Commit migrated from https://github.com/dotnet/coreclr/commit/
cd72c54483f9ccdcde08cb42a683d2b4df181378
Stephen Toub [Sun, 18 Jun 2017 01:40:38 +0000 (21:40 -0400)]
Further improve perf of Char.IsWhiteSpace (dotnet/coreclr#12353)
IsWhiteSpaceLatin1 is not being inlined. By changing a range check done with two comparison operations to instead be done with a subtraction and a single comparison, the code is shortened to not only be less expensive but also then get inlined into IsWhiteSpace and then further into String.IsNullOrWhiteSpace. The net result is a measurable throughput improvement for IsNullOrWhiteSpace.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7c197b63914af560d467e8a95c04177495f160d9
Jan Kotas [Sat, 17 Jun 2017 21:07:16 +0000 (14:07 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3911 from jkotas/nmirror-merge
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
d6d35047a2d0ef27ccfe5c55bbacdb99bda84e44
Jan Vorlicek [Sat, 17 Jun 2017 14:36:46 +0000 (16:36 +0200)]
Add regression test for issue dotnet/coreclr#12224 (dotnet/coreclr#12331)
This change adds regression test for EH getting stuck in an infinite
loop when NullReferenceException happens inside a handler of another
NullReferenceException.
Commit migrated from https://github.com/dotnet/coreclr/commit/
16d41f11e55d1e137cb799d7b1884e02df600c66
Hugh Bellamy [Sat, 17 Jun 2017 14:32:10 +0000 (21:32 +0700)]
Remove some dead argument checks for unsigned primitives for less than zero (dotnet/coreclr#12349)
* Remove dead comparisons of unsigned primitive less than zero
* Delete bad assertition that is consistently hit using the Debug coreclr using the tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
34f33a8ccb1ce0f522ea14edde8ceb976997855f
Jan Vorlicek [Sat, 17 Jun 2017 12:13:39 +0000 (14:13 +0200)]
Fix chained hardware exception handling on Unix (dotnet/coreclr#12344)
There is an issue when hardware exception occurs while handling another hardware exception. In such case,
the exception unwinding ends up in an infinite loop. It is caused by the kernel reusing the same location
for signal handler context.
The fix is to use a windows style context local variable in the common_signal_handler that contains
the right context - it is the original signal context converted to windows style context.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a02634eb41284dbd432ef84aa38f526f955e5f64
Hugh Bellamy [Sat, 17 Jun 2017 10:49:26 +0000 (17:49 +0700)]
Throw ArgumentNullException on Unix calling Marshal.IsComObject(null) (dotnet/coreclr#12348)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6ed71c6472c8ea0f680507ae34f56aeaf6bb3d2
Swaroop Sridhar [Sat, 17 Jun 2017 01:50:31 +0000 (18:50 -0700)]
Fix perf.groovy
Fix perf.groovy so that ILLink perf tests can be triggered.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a98c8f20475dbdbfc5e9bdafcfdabf0e8826d5d5
Gaurav Khanna [Sat, 17 Jun 2017 00:26:11 +0000 (17:26 -0700)]
LoadFromResolve event handler should return null incase of any load error (dotnet/coreclr#12329)
Commit migrated from https://github.com/dotnet/coreclr/commit/
27e625f0108915fb514e20c870072fbef2d6291c
Tarek Mahmoud Sayed [Fri, 16 Jun 2017 22:53:03 +0000 (15:53 -0700)]
Fix CompareInfo.Version on Windows (dotnet/coreclr#12330)
We call Windows to get the sort version. We call Windows passing the structure NlsVersionInfoEx but Windows expect we have to initialize the size of this structure which we are missing.
Commit migrated from https://github.com/dotnet/coreclr/commit/
660a3e67071e0273eaffe44cf08b72ed675c3ddc
Ravi Eda [Fri, 16 Jun 2017 22:31:17 +0000 (17:31 -0500)]
Security build JSONs. (dotnet/coreclr#12279)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d055dcf991a0a24d6c9542cf0f1e5d69e7403205
dotnet-maestro-bot [Fri, 16 Jun 2017 21:30:57 +0000 (14:30 -0700)]
Update CoreClr, CoreFx to preview1-25416-04, preview1-25416-02, respectively (dotnet/coreclr#12319)
Commit migrated from https://github.com/dotnet/coreclr/commit/
01ab148528b5b6216c848c1aff4d1efd7cff77bf
Dan Moseley [Fri, 16 Jun 2017 20:45:27 +0000 (13:45 -0700)]
Add path to exception messages (dotnet/coreclr#12322)
* Remove dead code
* Arg_PathIllegal
* IO_PathTooLong
* Remove no longer necessary path sanitization
* Argument_PathFormatNotSupported
* Arg_PathIllegalUNC
* Arg_InvalidSearchPattern
* Dead strings
* Missing nameof
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ba74dc2a7194f8d6c86c3aeab572a074ef645c8
Mike Danes [Fri, 16 Jun 2017 18:50:07 +0000 (21:50 +0300)]
Remove unnecessary bitvec allocation in assertion prop
optVnNonNullPropCurStmt is called for each node and every time it allocates an empty BitVec because optNonNullAssertionProp_Call and optAssertionProp_Ind require it, they are also used in other code paths that do provide a non-empty BitVec.
Commit migrated from https://github.com/dotnet/coreclr/commit/
53cc741cb949c540834172ee0e813a01bdcfae28
William Godbe [Fri, 16 Jun 2017 18:45:54 +0000 (11:45 -0700)]
Merge pull request dotnet/coreclr#12203 from wtgodbe/Timing
Fix timing issues in some baseservices tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f0fc63eb9157bbb547ebeb8ab389a7d98cc7f9f
Bruce Forstall [Fri, 16 Jun 2017 17:26:45 +0000 (10:26 -0700)]
Merge pull request dotnet/coreclr#12321 from BruceForstall/FixMeasureSize2
Convert size measurements for nodes to unsigned __int64
Commit migrated from https://github.com/dotnet/coreclr/commit/
81fbe2dd57bbf8334b7065a3d7a9db201f7d9334
Christopher Costa [Fri, 16 Jun 2017 16:39:13 +0000 (09:39 -0700)]
Remove unused source causing restore error
Commit migrated from https://github.com/dotnet/coreclr/commit/
ec9383bcdc7a21942104e18abff823805e82db78
Jonghyun Park [Fri, 16 Jun 2017 15:50:43 +0000 (00:50 +0900)]
[ARM] Set local variables as addr-exposed (for LEGACY_BACKEND) (dotnet/coreclr#12237)
Commit migrated from https://github.com/dotnet/coreclr/commit/
16d58b4e2555a8efadba07b57f763f4d7e9a7423
Hyung-Kyu Choi [Fri, 16 Jun 2017 13:13:46 +0000 (22:13 +0900)]
Disable Portable RID build for Tizen (dotnet/coreclr#12292)
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
72d31187429b9e421433a1db87a5d09e4ea824be
Jan Vorlicek [Fri, 16 Jun 2017 11:23:34 +0000 (13:23 +0200)]
Fix chained hardware exception handling on Unix (dotnet/coreclr#12316)
There is an issue when hardware exception occurs while handling another hardware exception. In such case,
the exception unwinding ends up in an infinite loop. It is caused by the kernel reusing the same location
for signal handler context.
The fix is to use the windows style context local variable in the common_signal_handler that contains
the right context - it is the original signal context converted to windows style context.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b594d588bc8a7778c30cf0445599ce97cc2edac9
Bruce Forstall [Fri, 16 Jun 2017 07:06:05 +0000 (00:06 -0700)]
Merge pull request dotnet/coreclr#12320 from BruceForstall/CompactGenTreeCall2
Compact the size of GenTreeCall nodes
Commit migrated from https://github.com/dotnet/coreclr/commit/
23cbc3e9a2d8b0602a8e154b15b2a11ced71c17f
Carol Eidt [Fri, 16 Jun 2017 02:27:07 +0000 (19:27 -0700)]
Merge pull request dotnet/coreclr#12185 from hqueue/arm/ryujit/lsra_11851_resolve_edges
[RyuJIT/ARM32] Select proper temp register when resolving edges
Commit migrated from https://github.com/dotnet/coreclr/commit/
237cbb52f15dc1e8587819626309eb3450e067d6
Bruce Forstall [Fri, 16 Jun 2017 02:24:50 +0000 (19:24 -0700)]
Compact the size of GenTreeCall nodes
The data stored in GenTreeCall under `#ifdef FEATURE_MULTIREG_RET`
(defined for x86 (RyuJIT), amd64/Linux, arm32, arm64) was poorly
packed. Improving this reduces x86 GenTreeCall node size from 124 to 112 bytes.
Since GenTreeCall is the largest node, it also reduces the size of all
"large" nodes.
Commit migrated from https://github.com/dotnet/coreclr/commit/
989ba91ef9f5fd76384a18f9a05b75fc73b7b3d0
Bruce Forstall [Fri, 16 Jun 2017 02:20:14 +0000 (19:20 -0700)]
Convert size measurements for nodes to unsigned __int64
I found these numbers overflowing a size_t on x86 with a long
SuperPMI run.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b11d827dcddaff312293b0d21def4c7da5d2c7fc
Jarret Shook [Fri, 16 Jun 2017 01:13:50 +0000 (18:13 -0700)]
Merge pull request dotnet/coreclr#12298 from dotnet/revert-12227-PR-12197
Revert "[Arm64] JIT_WriteBarrier optimization"
Commit migrated from https://github.com/dotnet/coreclr/commit/
f4781d3a6ff2ca9a5553810f8b0fb624a7dfda08
Hanjoung Lee [Fri, 16 Jun 2017 00:53:44 +0000 (09:53 +0900)]
[x86/Linux] Enable gcMarkFilterVarsPinned (WIN64EXCEPTIONS) (dotnet/coreclr#11281)
* [x86/Linux] Enable gcMarkFilterVarsPinned
Do gcMarkFilterVarsPinned() for WIN64EXCEPTIONS
* [x86/Linux] GCInfo : Force this pointer untracked
`this` pointer is now always untracked so we can use pinned flag in tracked lifetimes.
This allows us to make the refs(inside filter) pinned to prevent from double-relocation.
* [x86/Linux] GCInfo : fix comment and formatting
* [x86/Linux] GCInfo : Update
- Force "this" pointer untracked only when "this" is generic context
- Style fixes
* [x86/Linux] GCInfo : remove this_OFFSET_FLAG
Commit migrated from https://github.com/dotnet/coreclr/commit/
0c96db33ddb7d784cda9bd0368756046f436e8bc
dotnet-maestro-bot [Thu, 15 Jun 2017 23:05:38 +0000 (16:05 -0700)]
Update CoreFx to preview1-25415-03 (dotnet/coreclr#12305)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5580664eb419cb868a3669253d5d9666a3def641
Kyungwoo Lee [Thu, 15 Jun 2017 22:55:34 +0000 (15:55 -0700)]
Remove static for function pointer
qsort with static compare functions crashes with ALTJIT.
It appears due to _guard_check_icall_fptr in Windows 10.
Simply dropping static keyword works.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d12221cbca178280c2f5d576a6fdc538bed35e8
Stephen Toub [Thu, 15 Jun 2017 22:49:56 +0000 (18:49 -0400)]
Merge pull request dotnet/coreclr#12307 from stephentoub/iswhitespace
Small cleanup to Char.IsWhiteSpaceLatin1
Commit migrated from https://github.com/dotnet/coreclr/commit/
e70c1bd377040ff49ea9a044556debedee1da959
Jarret Shook [Thu, 15 Jun 2017 22:01:00 +0000 (15:01 -0700)]
Merge pull request dotnet/coreclr#12311 from jashook/arm64_unix_ci
Add the arm64 unix CI
Commit migrated from https://github.com/dotnet/coreclr/commit/
b73a9d93c9aa8c2c3ca105e235a3d7869484b201
wtgodbe [Fri, 9 Jun 2017 20:32:31 +0000 (13:32 -0700)]
Fix timing issues in some baseservices tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
2d58bb520fc8beabddeff1a1ba70438ac4192bf0
Jarret Shook [Thu, 15 Jun 2017 21:36:22 +0000 (14:36 -0700)]
Merge branch 'master' into arm64_unix_ci
Commit migrated from https://github.com/dotnet/coreclr/commit/
894ddb42988a1c0d9dcfbf924ded7d7747e4f6ba
jashook [Mon, 17 Apr 2017 22:53:12 +0000 (15:53 -0700)]
Add the arm64 unix CI
This will enable unix arm64 testing in CI. Currently there are no
default tirggers; however, anyone will be able to request the jobs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f75b7093f12137364f1a296545dc6defb528fd10
Jarret Shook [Thu, 15 Jun 2017 21:31:55 +0000 (14:31 -0700)]
Merge pull request dotnet/coreclr#12310 from dotnet/revert-11743-arm64_unix_ci
Revert "Add the arm64 unix CI"
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c4dfb133c7a4d162fdd1030c6316397ab6b892d
Jarret Shook [Thu, 15 Jun 2017 21:31:30 +0000 (14:31 -0700)]
Revert "Add the arm64 unix CI"
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c64ce59afa1d028ee5098166b2030b8a7ed278c
Jarret Shook [Thu, 15 Jun 2017 21:20:11 +0000 (14:20 -0700)]
Merge pull request dotnet/coreclr#11743 from jashook/arm64_unix_ci
Add the arm64 unix CI
Commit migrated from https://github.com/dotnet/coreclr/commit/
35ab28fd818de8933f6e02472ea34196b52df40e
Stephen Toub [Thu, 15 Jun 2017 20:22:10 +0000 (16:22 -0400)]
Merge pull request dotnet/coreclr#12297 from stephentoub/getdatepart
Avoid duplicated computations with DateTime.GetDatePart
Commit migrated from https://github.com/dotnet/coreclr/commit/
d5d64fe951e939512eea2bb944691dd427976cc6