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
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
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
Stephen Toub [Thu, 15 Jun 2017 20:14:32 +0000 (16:14 -0400)]
Small cleanup to Char.IsWhiteSpaceLatin1
For some reason this is resulting in measurably better throughput, in particular for non-whitespace chars, so much so that it's visible in microbenchmarks against string.IsNullOrWhiteSpace.
If nothing else, it's cleaner.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2f05efea2ea9e9c9e1ee9772a9da5fae4ca76ad7
Jan Kotas [Thu, 15 Jun 2017 14:32:54 +0000 (07:32 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3890 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/
dcd16e7fd27fd01309a5e85a20c2d98e0f97a944
Roman Artemev [Thu, 15 Jun 2017 19:51:28 +0000 (12:51 -0700)]
Merge pull request dotnet/coreclr#12047 from rartemev/issue_4122_2
Fixed determintaion of need to make code that contains tail.call loop fully interuptible
Commit migrated from https://github.com/dotnet/coreclr/commit/
110eebb91dae1a7d2765803be02491802603ef31
Sean Gillespie [Thu, 15 Jun 2017 19:45:12 +0000 (12:45 -0700)]
[Local GC] Fix a number of handle table interface violations (dotnet/coreclr#12277)
* Fix a smattering of GC handle table interface violations
Stub out a few other handle violations
* [Local GC] Add SetExtraInfoForHandle onto GC handle manager interface
* [Local GC] Changes uses of HndGetHandleADIndex to GetHandleContext
* Add HandleGetType to GC handle table interface
1) Change IGCHandleManager methods that take "int" to represent the type of a handle to HandleType, and fix callers to cast to HandleType
2) Add HandleFetchType to IGCHandleManager, returning a HandleType
3) Fix uses of handtablepriv's HandleFetchType and remove the GC directory from the include path
* 9 -> HNDTYPE_WEAK_WINRT, 0 -> HNDTYPE_WEAK_SHORT in assert
Commit migrated from https://github.com/dotnet/coreclr/commit/
dda6b6136e21901842758970d831f31687913a35
Jarret Shook [Thu, 15 Jun 2017 18:28:54 +0000 (11:28 -0700)]
Merge branch 'master' into arm64_unix_ci
Commit migrated from https://github.com/dotnet/coreclr/commit/
308c352f07b4e3e0c4069ac1d403900381a0afd5
Brian Sullivan [Thu, 15 Jun 2017 18:16:42 +0000 (11:16 -0700)]
Merge pull request dotnet/coreclr#12287 from briansull/nowarn-SIMD
Crossgen - Disable the Target-dependent SIMD vector types warning
Commit migrated from https://github.com/dotnet/coreclr/commit/
d734877cd86016296fc6c6e884a2b119339545ec
Bruce Forstall [Thu, 15 Jun 2017 17:15:47 +0000 (10:15 -0700)]
Merge pull request dotnet/coreclr#12251 from kyulee1/override
Missing override keyword to DoPhase
Commit migrated from https://github.com/dotnet/coreclr/commit/
dd2181cde582168752335d7859c92b3274028f77
Steve MacLean [Thu, 15 Jun 2017 15:52:15 +0000 (15:52 +0000)]
Add sdmaclea to arm64Users
Commit migrated from https://github.com/dotnet/coreclr/commit/
0d73bbd8c3b26ce311ee4cf8d933bc453de84a0b
dotnet-maestro-bot [Thu, 15 Jun 2017 15:42:52 +0000 (08:42 -0700)]
Update CoreClr, CoreFx to preview1-25415-03, preview1-25415-01, respectively (dotnet/coreclr#12284)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c0214b5a3c22e4134b720f32e72582904b4a11d7
Jarret Shook [Thu, 15 Jun 2017 15:42:07 +0000 (08:42 -0700)]
Revert "[Arm64] JIT_WriteBarrier optimization (dotnet/coreclr#12227)"
This reverts commit dotnet/coreclr@
b5914c8d1b20be898b8982a4dfcf9d8e9046b2ec.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4aa14e9da9d0f9bf7c0399176b6e0a0b9a9a7eea
Stephen Toub [Thu, 15 Jun 2017 15:31:12 +0000 (11:31 -0400)]
Avoid duplicated compuations with DateTime.GetDatePart
- Remove duplicate code in GregorianCalendar. GetDatePart is identical to the implementation in DateTime. Just reuse it via the Year/Month/Day properties. Also avoids an unnecessary virtual call.
- Then copy GetDatePart into a version that returns year/month/day rather than just one of them.
- And use that in several places throughout corelib where all three are retrieved, avoiding redoing all of the calculations three times.
Commit migrated from https://github.com/dotnet/coreclr/commit/
17c23bed6395f3e12dc0b4471b2bb566c3aa136c
Hyung-Kyu Choi [Thu, 15 Jun 2017 08:16:14 +0000 (17:16 +0900)]
[RyuJIT/ARM32] Reserve a double register for both TYP_DOUBLE and TYP_FLOAT
First, try to reserve a double temp register for both TYP_DOUBLE and TYP_FLOAT.
If fails, try to reserve a float temp register for only TYP_FLOAT.
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
a0a4799cdea1d779f40579c9223de6bf9ae996f2
Hyung-Kyu Choi [Wed, 14 Jun 2017 03:36:03 +0000 (12:36 +0900)]
[RyuJIT/ARM32] Fix typo
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
64dc94178e3f30b4026ed6b64005af48845e4b46
Steve MacLean [Thu, 15 Jun 2017 06:35:49 +0000 (02:35 -0400)]
[Arm64] JIT_WriteBarrier optimization (dotnet/coreclr#12227)
* [Arm64] JIT_WriteBarrier optimization
Add skipEphemeralCheck if gcServer=1
Copy all gc parameters into a literal pool which
fits in single cache line
Add dmb ishst on gcHeap changes
Reduce unpredictable branches
Remove unneeded instructiuons
Fixes dotnet/coreclr#11374
Fixes dotnet/coreclr#12197
* [Arm64] fix typo in asm
* Fixup asm
* [Arm64] Revise per comments
Nits - Whitespace, Labels to PascalCase
Fix state change order
Add Suspend/Resume to fix race
Fix errors in Windows arm64 assembly
* [Arm64] Remove SuspendEE/RestartEE in StompWriteBarrierResize
* Use Volatile<> for g_highest_address
* Revise synchronization per comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
b5914c8d1b20be898b8982a4dfcf9d8e9046b2ec
Jonghyun Park [Thu, 15 Jun 2017 06:06:41 +0000 (15:06 +0900)]
Remove unused forward declaration (dotnet/coreclr#12288)
Commit migrated from https://github.com/dotnet/coreclr/commit/
34320b9242f4e16eedcb9adc2f0901702b19deac
chcosta [Thu, 15 Jun 2017 06:05:46 +0000 (23:05 -0700)]
Fix build break
Download from Azure task does not retain blob prefix when downloading blobs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac5484c841eb5ecab69526aeb6400be45308383f
Brian Sullivan [Thu, 15 Jun 2017 01:44:12 +0000 (18:44 -0700)]
Crossgen - Disable the Target-dependent SIMD vector types warning
When a SIMD type is referenced during CEEPreloader instead of loading it
we throw a type load exception with a unique resource ID and message.
This commit changed the ICorCompileDataStore interface to allow us to pass
the unique resource ID over to the zapper from the VM.
The Zapper can then demote certain resource ID warnings down to the
lowest informational level, so that they aren't printed out during crossgen.
With this commit we currently are demoting IDS_EE_SIMD_NGEN_DISALLOWED
Commit migrated from https://github.com/dotnet/coreclr/commit/
f79d7e81f70739ab9ae266382aecdfd8c750d06d
dotnet-maestro-bot [Thu, 15 Jun 2017 00:29:45 +0000 (17:29 -0700)]
Update CoreClr to preview1-25414-05 (dotnet/coreclr#12282)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f5f2e55f67c098d326988aff1f7616fd34ccdf56
chcosta [Thu, 15 Jun 2017 00:28:10 +0000 (17:28 -0700)]
Update buildtools to 2.0.0-prerelease-01714-04 (dotnet/coreclr#12280)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d83f176fdc71dc321eb33a7ea8e20150c5e62e9d
Tarek Mahmoud Sayed [Wed, 14 Jun 2017 23:36:24 +0000 (16:36 -0700)]
Fix NullReferenceException thrown when using CurrentCulture (dotnet/coreclr#12281)
CurrentCulture used the static field s_userDefaultCulture which used to store the current culture. We always ensure this field is initialized all the time. When we introduced the v2.0 added APIs, we have added ClearCachedData(). This method was setting s_userDefaultCulture to null which can cause any other thread to throw this NullReferenceException if it is using s_userDefaultCulture. Here is example of such stack
System.NullReferenceException : Object reference not set to an instance of an object.
Stack Trace :
at System.Globalization.NumberFormatInfo.get_CurrentInfo()
at System.Double.ToString(String format, IFormatProvider provider)
Commit migrated from https://github.com/dotnet/coreclr/commit/
018e5252ed8427aeffea43a2935114149e10bc1b
Viktor Hofer [Wed, 14 Jun 2017 19:57:36 +0000 (21:57 +0200)]
Renaming serializable field (dotnet/coreclr#12273)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f00fec141ca1b222b1c113d2de055e80728bb99
Brian Sullivan [Wed, 14 Jun 2017 19:57:20 +0000 (12:57 -0700)]
Remove the warning about Implicit boxing during crossgen (dotnet/coreclr#12274)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2ffe2ba52989a224a524027227509acf1735ca96
Jarret Shook [Wed, 14 Jun 2017 19:47:55 +0000 (12:47 -0700)]
Merge pull request dotnet/coreclr#12272 from jashook/add_documentation_for_building_tests_on_unix
Add documentation for building test(s) on Unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
5db60d53a783e1d4a04ec7289b2571a7bcc27d18
jashook [Wed, 14 Jun 2017 17:01:58 +0000 (10:01 -0700)]
Add documentation for building test(s) on Unix
This also includes steps on how to build individual tests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ba2acbdfe136cb5ab1b875368ed2768193d59b5e