Drew Scoggins [Wed, 18 Jan 2017 19:19:22 +0000 (11:19 -0800)]
Change Http to Https
When we download things from Jenkins we used to use http for the
address we need to change this to https.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ff773e9e2e8c66d7bdc85f826645a0afc0b84c0b
Jonghyun Park [Thu, 19 Jan 2017 00:56:56 +0000 (09:56 +0900)]
Fix an error in build-test.cmd (dotnet/coreclr#8890)
* Fix an error in CMake Probe
* Add double qutation around %__ProjectDir
* Revert "Fix an error in CMake Probe"
This reverts commit dotnet/coreclr@
78be1c0a2909d633023758fdebcc558bf07e3a4c.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e7369c506a5b5698b581ab2046838ccb8b482f92
Carol Eidt [Thu, 19 Jan 2017 00:38:12 +0000 (16:38 -0800)]
Merge pull request dotnet/coreclr#8991 from CarolEidt/Arm64ArrOffConsume
Fix consumeReg order for ArrOffs on arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
07f6010c63920ad814b2dcc24ce354d7e05d29f9
Jonghyun Park [Thu, 19 Jan 2017 00:22:50 +0000 (09:22 +0900)]
[x86/Linux] Fix RtlRestoreContext (dotnet/coreclr#8916)
* [x86/Linux] Fix RtlRestoreContext
* Use mov instead of push/pop
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6dccc87ca1042c51d6067f6b870962bac51efad
mikedn [Wed, 18 Jan 2017 23:49:36 +0000 (01:49 +0200)]
Remove ILDASM GUI cruft (dotnet/coreclr#8954)
Commit migrated from https://github.com/dotnet/coreclr/commit/
69e9c8a6b5bbacaa85b4b7953796364cca02a6a5
Jonghyun Park [Wed, 18 Jan 2017 23:35:46 +0000 (08:35 +0900)]
[x86/Linux] Do NOT use Shadow SP (dotnet/coreclr#8913)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e312e9ab50322b522060fa121d9ed0ddd3a8f4d9
Gaurav Khanna [Wed, 18 Jan 2017 22:27:10 +0000 (14:27 -0800)]
Merge pull request dotnet/coreclr#8977 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-24918-03, beta-24918-07, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d5a60ee061e074ecee0f81d62843f3bfc4b0c022
Carol Eidt [Wed, 18 Jan 2017 20:39:29 +0000 (12:39 -0800)]
Fix consumeReg order for ArrOffs on arm64
The change in operand order for GenTreeArrOffs was not reflected in code generation for arm64. This fixes that.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6cd32023394a6f99b8e8618de3e28c9bba4ce163
Joseph Tremoulet [Wed, 18 Jan 2017 18:10:11 +0000 (13:10 -0500)]
Merge pull request dotnet/coreclr#8986 from JosephTremoulet/Unreachable
Refactor GT_IND value-numbering
Commit migrated from https://github.com/dotnet/coreclr/commit/
5b84229d8e244556df5d736227f3d259738713fc
Stephen Toub [Wed, 18 Jan 2017 18:08:39 +0000 (13:08 -0500)]
Merge pull request dotnet/coreclr#8987 from stephentoub/remove_serialization_compat_workaround
Remove EnumEqualityComparer serialization compat workarounds
Commit migrated from https://github.com/dotnet/coreclr/commit/
c39e3535e1ae36b458b4c1c1b9963f1c6372f219
dotnet-bot [Wed, 18 Jan 2017 17:36:17 +0000 (17:36 +0000)]
Update CoreClr, CoreFx to beta-24918-03, beta-24918-07, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
e6f21d790a137f083489a44cd421b569a41ced21
Jan Kotas [Wed, 18 Jan 2017 16:58:03 +0000 (08:58 -0800)]
Rollback parameter name change to fix failing corefx tests (dotnet/coreclr#8985)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d3c7ce0c11eb79e33195ab9c1bee94bfe2f6738e
Stephen Toub [Wed, 18 Jan 2017 15:51:01 +0000 (10:51 -0500)]
Remove EnumEqualityComparer serialization compat workaround
This code exists to support serialization roundtrip between .NET 4 and .NET 4.5, which we don't need for .NET Core.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ab80746225595c702cad990623ad5d0d5439a6d
Stephen Toub [Wed, 18 Jan 2017 15:49:47 +0000 (10:49 -0500)]
Merge pull request dotnet/coreclr#8984 from stephentoub/fix_dtfi_serialization
Fix DateTimeFormatInfo serialization on Unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
03843c68df2db72d2a1bc0dcceb64f3b0c87211d
Stephen Toub [Wed, 18 Jan 2017 15:23:42 +0000 (10:23 -0500)]
Merge pull request dotnet/coreclr#8970 from stephentoub/cwt_enum
Add ConditionalWeakTable.Clear and IEnumerable implementation
Commit migrated from https://github.com/dotnet/coreclr/commit/
396b9b9c37d0ebbb7db32a48dd556f2473b907d5
Joseph Tremoulet [Wed, 18 Jan 2017 14:59:53 +0000 (06:59 -0800)]
Refactor GT_IND value-numbering
Method `fgValueNumberTree` had two pieces of code each attempting to
assume responsibility for `GT_IND` and some block ops. The one later in
the function wasn't reachable because those ops would always take the
first path. This change moves the special logic for `GTF_IND_ARR_LEN`,
which was only present in the unreachable code, up to the reachable code,
and removes the unreachable code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f178e60b6c7d41698eeb4f04962307803f78137b
Stephen Toub [Wed, 18 Jan 2017 13:31:56 +0000 (08:31 -0500)]
Address PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
c5d3327251d5cd08e64b192cb740c410f5e0c1cf
Stephen Toub [Wed, 18 Jan 2017 13:22:54 +0000 (08:22 -0500)]
Fix DateTimeFormatInfo serialization on Unix
The Unix copy of the src is missing some [NonSerialized] attribution on a few of its fields, one of which is for a field of type TokenHashValue, which isn't [Serializable]. This is causing DateTimeFormatInfo to itself fail to serialize.
Commit migrated from https://github.com/dotnet/coreclr/commit/
33b5d299b62ab2d631221967112844e7cda2d5fc
Jonghyun Park [Wed, 18 Jan 2017 09:45:09 +0000 (18:45 +0900)]
[x86/Linux] Port RtlVirtualUnwind (dotnet/coreclr#8911)
* [x86/Linux] (Partially) port RtlVirtualUnwind
* Rewrite x86 Unwinder using UnwindStackFrame
* Extract UnwindStackFrame from EECodeManager
* Port 'InlinedCallFrame::UpdateRegDisplay'
Commit migrated from https://github.com/dotnet/coreclr/commit/
009697370b7dd9a155601842360633d2fd2ba286
Bruce Forstall [Wed, 18 Jan 2017 01:36:58 +0000 (17:36 -0800)]
Merge pull request dotnet/coreclr#8851 from parjong/fix/JIT32_GCENCODER_build_error
Fix JIT32_GCENCODER-related build errors
Commit migrated from https://github.com/dotnet/coreclr/commit/
1f8cfb92e098fd4e132d94bd5bdb12dca1d6e911
Bruce Forstall [Wed, 18 Jan 2017 01:26:46 +0000 (17:26 -0800)]
Merge pull request dotnet/coreclr#8886 from YongseopKim/impl_gt_div
[RyuJIT/ARM32]Impl GT_DIV in genCodeForTreeNode
Commit migrated from https://github.com/dotnet/coreclr/commit/
42ab0d0322a1e6b4845ce6a33fa784f40586b934
Jan Vorlicek [Wed, 18 Jan 2017 00:49:55 +0000 (01:49 +0100)]
Remove obsolete platforms ifdefs from PAL (dotnet/coreclr#8971)
There were many ifdefs for obsolete platforms and processors like AIX, HPUX,
SPARC, ALPHA etc. This change is a cleanup that removes them.
Commit migrated from https://github.com/dotnet/coreclr/commit/
968b13576d3ef2bb585e860f012a7eedb97ab808
Andy Ayers [Wed, 18 Jan 2017 00:49:15 +0000 (16:49 -0800)]
Merge pull request dotnet/coreclr#8952 from AndyAyersMS/FixEndLFinAssert
JIT: fix bad assumption in non-funclet EH models
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c10d232f1cb15161e5c098d0ceddec9773ef4d5
Jan Vorlicek [Wed, 18 Jan 2017 00:48:48 +0000 (01:48 +0100)]
Add generic instantion argument passing description on x86 (dotnet/coreclr#8940)
This change adds missing information on generic instantion argument
passing description on x86 to the CLR ABI document.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f22db8ccbbcfdc0a6f79d6a3130014742d537433
Pat Gavlin [Tue, 17 Jan 2017 23:37:33 +0000 (23:37 +0000)]
Merge pull request dotnet/coreclr#8972 from pgavlin/ExactSizeSIMD
GS checkes: only set lVExactSize for SIMD vars.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c822e69038faf8690165ed7b18f923db2e88dee
Stephen Toub [Tue, 17 Jan 2017 23:16:04 +0000 (18:16 -0500)]
Merge pull request dotnet/coreclr#8942 from stephentoub/fix_tpl_event
Fix TplEventSource diagnostic error due to mismatched signature
Commit migrated from https://github.com/dotnet/coreclr/commit/
774e488a7d4d0c67d84dfa38edfab0d33e659b5f
Pat Gavlin [Tue, 17 Jan 2017 21:58:06 +0000 (13:58 -0800)]
GS checkes: only set lVExactSize for SIMD vars.
Copying this field for non-SIMD variables causes a later call to
`lvaSetStruct` to skip critical initialization steps. Skipping these
steps led to failures in GC stress due to uninitialized frame variables
that contained GC pointers.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a4b338f26bcaf081ab116fdc0e6e412e1c105b92
Gaurav Khanna [Tue, 17 Jan 2017 20:28:29 +0000 (12:28 -0800)]
Merge pull request dotnet/coreclr#8936 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-24917-03, beta-24917-02, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
702541e4601371d879394b2b40511da1fee8919b
Carol Eidt [Tue, 17 Jan 2017 19:50:54 +0000 (11:50 -0800)]
Merge pull request dotnet/coreclr#8678 from hqueue/arm/ryujit/lowerrotate
Ryujit/ARM32: Implement Lowering::LowerRotate
Commit migrated from https://github.com/dotnet/coreclr/commit/
a014d5ba88a6b1a5e94b3d88aaa49a377f4be06c
Stephen Toub [Tue, 17 Jan 2017 19:03:54 +0000 (14:03 -0500)]
Add ConditionalWeakTable.Clear and IEnumerable implementation
Commit migrated from https://github.com/dotnet/coreclr/commit/
d9980b9202cd2c913b7bc6165e69fc2774b0077e
Pat Gavlin [Tue, 17 Jan 2017 17:36:11 +0000 (09:36 -0800)]
Merge pull request dotnet/coreclr#8925 from pgavlin/HeapVerifyIncompatibleTests
Mark a small number of tests heap-verify-incompatible.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9fdd43ad023c138f39f29490c65f67002d0f14e7
dotnet-bot [Tue, 17 Jan 2017 17:30:07 +0000 (17:30 +0000)]
Update CoreClr, CoreFx to beta-24917-03, beta-24917-02, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
d04738a899425ce5b6ab432d94f6cc3954e8852e
Carol Eidt [Tue, 17 Jan 2017 16:59:59 +0000 (08:59 -0800)]
Merge pull request dotnet/coreclr#8908 from CarolEidt/Contained
Don't treat spill temps as contained
Commit migrated from https://github.com/dotnet/coreclr/commit/
2538e231e90c730aeb16caaba89bfa4d26215b19
Toni Solarin-Sodara [Tue, 17 Jan 2017 16:39:38 +0000 (17:39 +0100)]
Use nameof in place of hardcoded variable names (dotnet/coreclr#8968)
Fixes dotnet/coreclr#8967
Commit migrated from https://github.com/dotnet/coreclr/commit/
411da7488a89a00eed6f2501ea5d5a073ba4c757
chunseoklee [Tue, 17 Jan 2017 14:48:00 +0000 (23:48 +0900)]
Fix armel toolchain setting (dotnet/coreclr#8961)
This PR fixes build fail for armel(debian)
Signed-off-by: chunseoklee <chunseok.lee@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
03da0073707c0a4231080e41332838adbc2f3dc0
Hyung-Kyu Choi [Tue, 17 Jan 2017 14:45:38 +0000 (23:45 +0900)]
Update description related to ARM rootfs (dotnet/coreclr#8962)
Update description in script and documentation related to ARM rootfs.
1. Change arm-softfp to armel to apply recent changes.
2. Change UbuntuCodeName to LinuxCodeName
For arm and armel, rootfs are available from three different Linux distro.
For arm, Ubuntu is available.
For armel, Debian and Tizen are available.
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
c73f3a1a5b2616d039a9bf69803fe9942976410e
Hyeongseok Oh [Tue, 17 Jan 2017 12:41:58 +0000 (21:41 +0900)]
[ARM32/Linx] cross-architecture build: restrict build project list (dotnet/coreclr#8918)
* [ARM32/Linx] cross-architecture build: restrict build project list
Restrict build project for ARM32/Linux cross-architecture
We can build these projects with PR dotnet/coreclr#8866 and dotnet/coreclr#8917. (release build)
- crossgen
- clrjit
- protojit
* modify crosscomponents.cmake
Add list items when not Linux, instead remove in Linux
Commit migrated from https://github.com/dotnet/coreclr/commit/
69c55380c1c611388b8c9e3668f41ed099bdd5f1
Jonghyun Park [Mon, 16 Jan 2017 11:59:00 +0000 (20:59 +0900)]
[x86/Linux] Port ''ExceptionTracker::UpdateNonvolatileRegisters' (dotnet/coreclr#8915)
Commit migrated from https://github.com/dotnet/coreclr/commit/
bc63a8b9a7e899c2ed46e0fad8ec4564faefb8c1
mikedn [Mon, 16 Jan 2017 04:49:52 +0000 (06:49 +0200)]
Remove unused mscoree files and code (dotnet/coreclr#8956)
Commit migrated from https://github.com/dotnet/coreclr/commit/
094a2a0d9935afaf603a99c971bef76f61f4ed57
mikedn [Mon, 16 Jan 2017 04:49:18 +0000 (06:49 +0200)]
Remove mscorpe cruft (dotnet/coreclr#8957)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c2db15331291324573d752fb3b6a3a9dae73b31
Jan Kotas [Sat, 14 Jan 2017 08:33:15 +0000 (00:33 -0800)]
Merge pull request dotnet/coreclr#8953 from kouvel/InterruptInFinally
Enable thread interrupt in finally blocks, remove some invalid asserts
Commit migrated from https://github.com/dotnet/coreclr/commit/
496c33f0b5c6ad87257dd1ff1c42ea8db0a53ae0
Koundinya Veluri [Sat, 14 Jan 2017 05:18:34 +0000 (21:18 -0800)]
Remove invalid asserts in threads.cpp, DoAppropriateWaitWorker(int, ...)
These cases are actually possible because Windows APIs are inconsistent in their behavior when invalid handles are concerned. Depending on the invalid handle's value, a multi-wait can error with ERROR_INVALID_HANDLE, and a single-wait on an invalid handle could return WAIT_TIMEOUT.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4367c8d5205f233ddf9db2c0d23a330d4b72d05c
Andy Ayers [Sat, 14 Jan 2017 03:28:30 +0000 (19:28 -0800)]
JIT: fix bad assumption in non-funclet EH models
The newly added finally optimizations mistakenly assumed that in
non-fuclet EH models the GT_END_LFIN in the continuation block would
be the last statement. The test case added below provides an example
where this is not so.
Relax the assumption and instead search the continuation for the
GT_END_LFIN. Assert that there is exactly one.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0df4892d1d7e04fc817beb7f10be4faae0dfaf82
Sean Gillespie [Sat, 14 Jan 2017 03:06:05 +0000 (19:06 -0800)]
Enable Standalone GC builds in the CI on OSX and Linux (dotnet/coreclr#8950)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6870583bfe5ed18b827194665e8150ae9d633efb
Koundinya Veluri [Sat, 14 Jan 2017 00:34:36 +0000 (16:34 -0800)]
Enable thread interrupt in finally blocks
Thread abort was not allowed in finally blocks, but the same logic was being applied to thread interrupt as well. There is nothing special about thread interrupt that requires it to not work in finally blocks.
Commit migrated from https://github.com/dotnet/coreclr/commit/
626a286433b6e3ed040744746c9b851361ea9546
Cesar Blum Silveira [Sat, 14 Jan 2017 00:09:46 +0000 (16:09 -0800)]
Check if xsave is enabled by OS before calling xgetbv in XmmYmmStateSupport (dotnet/coreclr#8939)
* Check if xsave is enabled by OS before calling xgetbv in XmmYmmStateSupport. Fix dotnet/coreclr#8903
* Add ebx to clobbered registers.
Commit migrated from https://github.com/dotnet/coreclr/commit/
590ff450b982e73782286ff3da80cd5665457de9
Carol Eidt [Fri, 9 Dec 2016 19:22:41 +0000 (11:22 -0800)]
Don't treat spill temps as contained
Make Contained refer only to whether code is only generated for a node as part of its parent.
Spill temps that are used from memory are not contained, as code is generated for them.
Add methods to indicate whether an operand is used from register, memory (including spill),
or spill specifically, for use by codegen in distinguishing these cases.
Commit migrated from https://github.com/dotnet/coreclr/commit/
751bc601e5f7fc9debaeb19d5b6bba7c11b5c0d8
Matt Ellis [Fri, 13 Jan 2017 22:15:21 +0000 (14:15 -0800)]
Merge pull request dotnet/coreclr#8938 from ellismg/fix-corefx-hash-and-artifacts-for-ci
Use a fixed version of CoreFX for testing
Commit migrated from https://github.com/dotnet/coreclr/commit/
de31af90a6d9c1f1d36cff03ed0ab5a628b716ad
Jan Vorlicek [Fri, 13 Jan 2017 22:11:54 +0000 (23:11 +0100)]
Fixes to make runtime work on ARM64 Linux (dotnet/coreclr#8947)
This is a result of attempt to bring up CoreCLR on ARM64 Android.
The bring up is on hold now, but I want to check in the changes
that added ARM64 asm helpers and fixed general Linux ARM64 issues.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d2d4a792e306097a7c7e8afd954eeb50f2d2f23e
William Godbe [Fri, 13 Jan 2017 22:06:17 +0000 (14:06 -0800)]
Merge pull request dotnet/coreclr#8934 from wtgodbe/localpkg
Stop build from leaving localpkg cache in src
Commit migrated from https://github.com/dotnet/coreclr/commit/
b3136bb3281058e162bd072bdb7433663d3d456f
wtgodbe [Fri, 13 Jan 2017 00:35:45 +0000 (16:35 -0800)]
Stop build from leaving localpkg cache in src
Commit migrated from https://github.com/dotnet/coreclr/commit/
0ee3c2676b79c15370d3ae30b62fd4ed5bbbafd3
Matt Ellis [Fri, 13 Jan 2017 01:37:15 +0000 (17:37 -0800)]
Use a fixed version of CoreFX for testing
CoreFX is going to be merging changes soon that will break how we
consume them to do our testing. To give us time to react, we'll fix
the version of the repository we build to a commit before the
changes. We'll also download artifacts from a saved build (produced
before the change took place) so the layout is as we expect.
The issue tracking cleaning this up is dotnet/coreclr#8937
Commit migrated from https://github.com/dotnet/coreclr/commit/
396c9577f1a947224d73d12d95c45c5b2c624306
Andy Ayers [Fri, 13 Jan 2017 18:21:44 +0000 (10:21 -0800)]
Merge pull request dotnet/coreclr#8935 from AndyAyersMS/FixSmAssert
JIT: remove match accounting from inliner state machine
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d01c0e02ea49a2cc12ddfb520964285402a775c
Koundinya Veluri [Fri, 13 Jan 2017 16:45:57 +0000 (08:45 -0800)]
Fix Mutex.ReleaseMutex exception type for compatibility (dotnet/coreclr#8941)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0ee13af5321bd7340133e2beae14cf3664d5fb90
Stephen Toub [Fri, 13 Jan 2017 16:07:22 +0000 (11:07 -0500)]
Fix TplEventSource diagnostic error due to mismatched signature
The TplEventSource TaskWaitBegin event is defined to take an int appDomain parameter, but it's not tracing that out, resulting in EventSource generating diagnostic events about 6 parameters being expected but only getting 5 arguments.
I've fixed it by removing the appDomain parameter, since it's not relevant to coreclr.
Commit migrated from https://github.com/dotnet/coreclr/commit/
afc76a84848bcf81edd6556dec407a61c07e3c6d
Dan Moseley [Fri, 13 Jan 2017 04:39:03 +0000 (20:39 -0800)]
Remove #if false blocks (dotnet/coreclr#8933)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6e1fc571c716635d4e0106594b3731669926b33
Andy Ayers [Fri, 13 Jan 2017 00:59:00 +0000 (16:59 -0800)]
JIT: remove match accounting from inliner state machine
The inliner's code-size estimating state machine keeps count of
matches, but the count was only used in an assert that checked
that the count did not overflow.
The assert fired when jit stress drove the inliner to evaluate a
huge method as a potential inline candidate and the count reached
the overflow value.
This change removes the counting and the related assert.
Closes dotnet/coreclr#8932.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7a4db6754a20aa6cb0a11850d08c844b9653af94
Gaurav Khanna [Fri, 13 Jan 2017 00:19:17 +0000 (16:19 -0800)]
Merge pull request dotnet/coreclr#8931 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-24912-04 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
eb4a102fce9495599d7a7248874555f0d6993a0b
Carol Eidt [Thu, 12 Jan 2017 23:36:04 +0000 (15:36 -0800)]
Merge pull request dotnet/coreclr#8928 from CarolEidt/Fix8898
Fix putArgStk dstCount and ConsumeReg errors
Commit migrated from https://github.com/dotnet/coreclr/commit/
b775947e7e313dc4bddd36b5f8c4859937f899ed
sandreenko [Thu, 12 Jan 2017 22:03:34 +0000 (14:03 -0800)]
Merge pull request dotnet/coreclr#8806 from sandreenko/array-bounds-check
Сhange children order in GenTreeBoundsChk. Fix dotnet/coreclr#8077
Commit migrated from https://github.com/dotnet/coreclr/commit/
0adb691bb55a428409bc0750b9f2075f1ea45ae8
mikedn [Thu, 12 Jan 2017 20:59:10 +0000 (22:59 +0200)]
Prefer using Array.Length as upper for loop limit (dotnet/coreclr#8923)
The JIT can't eliminate range checks if it can't "see" Length and uses loop cloning which generates a lot of code. Even in cases where not all range checks can be eliminated and loop cloning is used anyway it's still preferable to have fewer range checks.
For example, SortExceptions is ~140 bytes shorter after this change, despite the fact that loop cloning is still being used.
Commit migrated from https://github.com/dotnet/coreclr/commit/
01a9eaaa14fc3de8f11eafa6155af8ce4e44e9e9
dotnet-bot [Thu, 12 Jan 2017 20:57:32 +0000 (20:57 +0000)]
Update CoreClr to beta-24912-04
Commit migrated from https://github.com/dotnet/coreclr/commit/
431e18305e00810f5cc727238db598de15251886
Carol Eidt [Thu, 12 Jan 2017 20:15:16 +0000 (12:15 -0800)]
Fix putArgStk dstCount and ConsumeReg errors
The LastConsumedNode used in genCheckConsumeNode was not initialized for arm64.
Fixing this exposed several places where nodes were being consumed twice or in the wrong order.
In addition, since GT_PUTARG_STK doesn't define a register, its dstCount needs to be zero. This is enabled by checking IsValue() instead of type of TYP_VOID for the default case of TreeNodeInfoInit. This was missed for both arm and arm64.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3a44fd490bb83fb3c486cd9b90fe3934733f4a96
Pat Gavlin [Thu, 12 Jan 2017 18:41:54 +0000 (10:41 -0800)]
Mark a small number of tests heap-verify-incompatible.
These tests simply take too long to execute when run with heap
verification.
Commit migrated from https://github.com/dotnet/coreclr/commit/
36427c85b96fd57577ffea4a844cc830c0694097
Gaurav Khanna [Thu, 12 Jan 2017 18:11:44 +0000 (10:11 -0800)]
Merge pull request dotnet/coreclr#8909 from gkhanna79/Docker1404
Add optional argument to skip unmount for rootfs
Commit migrated from https://github.com/dotnet/coreclr/commit/
a33f44f70a992f153d7fd27c840661978ce1e0f4
Carol Eidt [Thu, 12 Jan 2017 16:54:49 +0000 (08:54 -0800)]
Merge pull request dotnet/coreclr#8840 from CarolEidt/Fix8824
Fix initialization of resolution sets
Commit migrated from https://github.com/dotnet/coreclr/commit/
d69811c1ab0074f3ad82697348672c74114e121d
Jonghyun Park [Thu, 12 Jan 2017 15:43:54 +0000 (00:43 +0900)]
[x86/Linux] Port 'ExceptionTracker::ProcessOSExceptionNotification' (dotnet/coreclr#8912)
Commit migrated from https://github.com/dotnet/coreclr/commit/
033b11d631f346a55c4d7c453bca1f49f77a44d5
Sivarv [Thu, 12 Jan 2017 07:11:05 +0000 (23:11 -0800)]
Merge pull request dotnet/coreclr#8588 from litian2025/AVX_SSE
Remove AVX/SSE transition penalties
Commit migrated from https://github.com/dotnet/coreclr/commit/
d187267134f1de239914ef684fe43330b22682e6
Li Tian [Thu, 12 Jan 2017 05:08:11 +0000 (21:08 -0800)]
fix format
Commit migrated from https://github.com/dotnet/coreclr/commit/
b6d69f5da791efceedbda0fc7d001900efe0f326
dotnet bot [Thu, 12 Jan 2017 04:55:50 +0000 (20:55 -0800)]
Update CoreClr, CoreFx to beta-24911-02, beta-24911-08, respectively (dotnet/coreclr#8855)
Commit migrated from https://github.com/dotnet/coreclr/commit/
22ddf5187597a9fe46099141591ec7ef35142cae
Li Tian [Thu, 12 Jan 2017 04:47:48 +0000 (20:47 -0800)]
Add more comments to document remove AVX/SSE transition penalty logic
Commit migrated from https://github.com/dotnet/coreclr/commit/
0981bb41916937f60b5c9b1b0c5691556f630fe1
Joseph Tremoulet [Thu, 12 Jan 2017 02:24:40 +0000 (21:24 -0500)]
Merge pull request dotnet/coreclr#8905 from JosephTremoulet/OneMoreHeapUse
Remove bogus fgCurHeapDef guard
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf2fd1ccd7e575190cc11760f0fb2e04f0c91441
Russell C Hadley [Thu, 12 Jan 2017 01:19:58 +0000 (17:19 -0800)]
Merge pull request dotnet/coreclr#8879 from russellhadley/span-intrinsics
Initial implementation of two field span.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d4fd78eb013de26639b3327f45072807858d0dde
Carol Eidt [Sat, 7 Jan 2017 02:21:31 +0000 (18:21 -0800)]
Fix initialization of resolution sets
This was causing a failure during dumping.
Fixing it exposed another dumping failure in crossgen of System.Private.Corelib.dll on x86, due to a dead node. I've fixed the assert, but I believe the dead node should have been eliminated. I filed issue dotnet/coreclr#8839 for this.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ec7c0b227544c2edec9166216df16dabf495afe3
Mike McLaughlin [Thu, 12 Jan 2017 00:40:49 +0000 (16:40 -0800)]
Fix issue dotnet/coreclr#8139 amd64 decoder bug. (dotnet/coreclr#8901)
Ignore modrm == 0 which ignores "inc dword ptr []" instructions.
Also fixed minor EEHeap formatting bug on Linux.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f2b0e13c2f828b52386b86a6b64cd0187d37c8d9
Drew Scoggins [Thu, 12 Jan 2017 00:36:41 +0000 (16:36 -0800)]
Merge pull request dotnet/coreclr#8907 from DrewScoggins/PullRequestFix
Fix pull request title automation
Commit migrated from https://github.com/dotnet/coreclr/commit/
79be18f28e961ef4e5e2ec4963bdd7e2783046d6
Maarten Mensink [Thu, 12 Jan 2017 00:28:18 +0000 (01:28 +0100)]
Add clang 3.7 support and remove __FakePrologName to fix build (dotnet/coreclr#8904)
* add clang 3.7 support
* Removing
__FakePrologName="DelayLoad_Helper\suffix\()_FakeProlog"
based on https://github.com/dotnet/coreclr/issues/4332#issuecomment-
271990909
Commit migrated from https://github.com/dotnet/coreclr/commit/
7cdeedaa3b69d1dc4b0dc775ab85aa4c6d29b6ab
Drew Scoggins [Thu, 12 Jan 2017 00:24:43 +0000 (16:24 -0800)]
Fix pull request title automation
When I added the ability to give a custom name to a run that was kicked
off using the PR leg I did it by adding an additional parameter. When
using a variable name there I need to use the dollar sign syntax of
groovy and not an environment variable.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4bce446ccc86a500bc7002ce0c91bc6fd6a22557
Gaurav Khanna [Thu, 12 Jan 2017 00:03:51 +0000 (16:03 -0800)]
Add optional argument to skip unmount for rootfs
Commit migrated from https://github.com/dotnet/coreclr/commit/
f345c1d93fef6af12a04200af9e0a555342a45be
Pat Gavlin [Wed, 11 Jan 2017 23:44:28 +0000 (15:44 -0800)]
Merge pull request dotnet/coreclr#8897 from pgavlin/GH8860.1
Fix dotnet/coreclr#8860.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4692866468c1fb5c8a167efebbe2b0365fb69b97
Pat Gavlin [Wed, 11 Jan 2017 23:15:31 +0000 (15:15 -0800)]
Format code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d7f28722caa2f6d8dc5c5ed74ec3f622dc13a57b
Pat Gavlin [Wed, 11 Jan 2017 23:07:44 +0000 (15:07 -0800)]
Merge pull request dotnet/coreclr#8899 from pgavlin/FixTotalMemoryTest
Fix the GC total memory test.
Commit migrated from https://github.com/dotnet/coreclr/commit/
fdc3ce471e56e1f7dee52c954dd4778561192669
Michelle McDaniel [Wed, 11 Jan 2017 23:06:30 +0000 (15:06 -0800)]
Merge pull request dotnet/coreclr#8900 from adiaaida/fix8550
Copy lvExactSize to shadowVar
Commit migrated from https://github.com/dotnet/coreclr/commit/
08058f91ed2d187e1b4ed505450ac37f486ec4c9
Li Tian [Wed, 11 Jan 2017 22:48:20 +0000 (14:48 -0800)]
use assert insteaf of if statement
Commit migrated from https://github.com/dotnet/coreclr/commit/
3d5e08f057970ee07327a86fea34ecce95574f97
Jonghyun Park [Wed, 11 Jan 2017 22:22:00 +0000 (07:22 +0900)]
Rewrite CalleeSavedRegisters for x86 (dotnet/coreclr#8871)
This commit revises CalleeSavedRegisters for x86 using
ENUM_CALLEE_SAVED_REGISTERS as in x64.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c5993d5f79468b373d9796a18a5e052c72d5c86
Jan Kotas [Wed, 7 Dec 2016 05:30:54 +0000 (21:30 -0800)]
Initial implementation of two field span.
Implements two field span struct which is comprised of a byref field
that may be an interior pointer to a managed object, or a native
pointer indicating the start of the span, and a length field which
describes the span of access.
Since there is no MSIL operation which assign a byref field, the jit
gets involved and treats the constructor and getter of a special struct
called ByReference that contains an declared IntPtr. This special
struct is then used as a field in the span implementation and recognized
by the runtime as a field that may contain a GC pointer. In
implementation, the ctor of ByReference is converted into an assignment
value is returned by a reverse assignment.
Since there are some dependencies on CoreFX for the span implementation
local testing of the implementation has been done using the
BasicSpanTest.cs in the CoreCLR tests. Once this is checked in and is
propagated to CoreFX the apporopate code in the packages will be enabled
and then may be referenced in CoreCLR tests. At that time more span
tests will be added.
Additional comments and fixes based on code review added.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0bedde3a63f22b65155d5f369e75c448c6afb786
Sven Boemer [Wed, 11 Jan 2017 21:32:56 +0000 (13:32 -0800)]
Merge pull request dotnet/coreclr#8570 from sbomer/dasm_automation
Fix some problems with the ubuntu dasm output
Commit migrated from https://github.com/dotnet/coreclr/commit/
baa998029e27b5927122d40f3a3a208e6e728421
Andy Ayers [Wed, 11 Jan 2017 21:20:57 +0000 (13:20 -0800)]
Merge pull request dotnet/coreclr#8551 from AndyAyersMS/FinallyCloning
Finally cloning
Commit migrated from https://github.com/dotnet/coreclr/commit/
c3673afaaa3c18495c7b3941c20d82fc9a71a873
Joseph Tremoulet [Wed, 11 Jan 2017 20:59:29 +0000 (15:59 -0500)]
Remove bogus fgCurHeapDef guard
We should set fgCurHeapUse when visiting a heap use regardless of whether
fgCurHeapDef is set, because we haven't proven that the def writes all
memory that the use might read. This should have been included in dotnet/coreclr#8757
but somehow slipped through.
Commit migrated from https://github.com/dotnet/coreclr/commit/
334cf4e004367b8c0c717fe3974ae008ecec0f62
Michelle McDaniel [Wed, 11 Jan 2017 20:48:55 +0000 (12:48 -0800)]
Copy lvExactSize to shadowVar
For TYP_SIMD12 vars, we need to copy the lvExactSize to the shadowVar
so that we have the right size in lower.
Fixes dotnet/coreclr#8550.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c5164321762be137643b3152c5b1a6800df595f6
Pat Gavlin [Wed, 11 Jan 2017 20:34:21 +0000 (12:34 -0800)]
Fix the GC total memory test.
This test was relying upon the result of GC.GetTotalMemory() returning a
greater number after allocating a large array. However, the array was
not kept live past the call to GC.GetTotalMemory, which resulted in this
test failing under GCStress=0xC (in which a GC is performed after each
instruction). This change adds the requisite call to GC.KeepAlive to
keep the allocated array live enough to be observed by
GC.GetTotalMemory.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5b24a580d65272e7e29723d1665eb608dc973e8e
Pat Gavlin [Wed, 11 Jan 2017 19:42:30 +0000 (11:42 -0800)]
Fix dotnet/coreclr#8860.
These failure was an assertion under GC stress due to registers that
were reported as live while containing an invalid GC reference. The root
cause of this assertion was the use of SIMD instructions that did not
kill any GC ref contained in their destination register. This change fixes
the bug by properly killing any GC ref in the destination register for
such an instruction, which required two changes:
- Instructions with the format `IF_RRW_RRW_CNS` were never killing the
destination register. The code that handles this format has been
updated to do so when necessary.
- `pextrw` and `pmovmskb` were not handled correctly in
`emitInsCanOnlyWriteSSE2OrAVXReg`. These instructions may write to
GPRs, so that function must return false when they are passed as
input.
Commit migrated from https://github.com/dotnet/coreclr/commit/
fd967163ddb0844f4ebe4356ad9d67b681156737
Joseph Tremoulet [Wed, 11 Jan 2017 19:47:11 +0000 (14:47 -0500)]
Merge pull request dotnet/coreclr#8880 from JosephTremoulet/SimplifyHeapPhiArg
Simplify HeapPhiArg
Commit migrated from https://github.com/dotnet/coreclr/commit/
fb3270f7756830f8f055b4c76831f684908463cb
Thiago Camargos Lopes [Wed, 11 Jan 2017 19:12:22 +0000 (17:12 -0200)]
Add parameterless overloads of TrimStart/TrimEnd (dotnet/coreclr#8834)
Add parameterless overloads of TrimStart/TrimEnd
Commit migrated from https://github.com/dotnet/coreclr/commit/
f00766b583aea7c4ab7515233b2a5054d86f3555
Stephen Toub [Wed, 11 Jan 2017 17:35:06 +0000 (12:35 -0500)]
Merge pull request dotnet/coreclr#8892 from stephentoub/enumeq_ser
Fix deserialization of EnumEqualityComparer
Commit migrated from https://github.com/dotnet/coreclr/commit/
b345a55d10dc7227558f71191ef8519e0e6bdaff
Hyeongseok Oh [Wed, 11 Jan 2017 14:37:21 +0000 (23:37 +0900)]
[ARM32/Linux] Fix cross-architecture build error: T_CONTEXT (dotnet/coreclr#8888)
confusion of T_CONTEXT and CONTEXT in projects
- cee_dac
- gc_wks
related issue: dotnet/coreclr#8885
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf047369a4f0450b1045d75542df5b8702b8cf46
Stephen Toub [Wed, 11 Jan 2017 13:58:53 +0000 (08:58 -0500)]
Fix deserialization of EnumEqualityComparer
Its deserialization ctor is getting removed by the rewriter, causing deserialization of its instances to fail.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1eef9df849527d4471737407140f20192e24f018
Stephen Toub [Wed, 11 Jan 2017 13:52:58 +0000 (08:52 -0500)]
Merge pull request dotnet/coreclr#8868 from stephentoub/linkedcts_array
Remove array allocation from CTS.CreateLinkedTokenSource
Commit migrated from https://github.com/dotnet/coreclr/commit/
b2b63a82592e433fc4d1a36bbf7ea79819af31f8
Yongseop Kim [Wed, 11 Jan 2017 02:21:56 +0000 (11:21 +0900)]
Impl GT_DIV in genCodeForTreeNode for Ryujit ARM32
Implement GT_DIV in genCodeForTreeNode for ryujit ARM32.
The case of "Zero Exception of Integer Division" is not yet implemented.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c9782caf4b9a0ec9cc891e843d27ac98913cf0f9
Li Tian [Wed, 11 Jan 2017 07:32:57 +0000 (23:32 -0800)]
fix format error
Commit migrated from https://github.com/dotnet/coreclr/commit/
eecbbbf769a1f2f35f4994da4b72f2f57703a510