Hyeongseok Oh [Fri, 10 Mar 2017 01:17:56 +0000 (10:17 +0900)]
[Linux/x86] Enable CI Linux/x86 build job
Make new CI job: Linux/x86 build (debug, checked, release)
- Triggered on-demand
- Docker for crossbuild
- Use build-rootfs.sh script to make x86 rootfs
Commit migrated from https://github.com/dotnet/coreclr/commit/
4d6accc32a86404a210f302e8f1def3a0114bd59
Pat Gavlin [Fri, 10 Mar 2017 00:26:11 +0000 (16:26 -0800)]
Merge pull request dotnet/coreclr#10032 from pgavlin/LastUsesBuildIntervals
Calculate last uses while building intervals.
Commit migrated from https://github.com/dotnet/coreclr/commit/
cb271a205332766ee4716630a332a433e0cee74e
Jan Vorlicek [Thu, 9 Mar 2017 22:28:24 +0000 (23:28 +0100)]
Fix incremental build of resources injected to coreclr.dll (dotnet/coreclr#10045)
* Fix incremental build of resources injected to coreclr.dll
This change fixes the build of resources injected to coreclr.dll so that it
happens only when its dependencies change and not at every build.
Commit migrated from https://github.com/dotnet/coreclr/commit/
cbe0f7d54f6e56611a64291202976d74e700f0d5
Frederik Carlier [Thu, 9 Mar 2017 22:27:55 +0000 (23:27 +0100)]
Support cross compiling for Zesty (dotnet/coreclr#10066)
* Support Zesty, newer liblldb packages
* Describe lldb options
Commit migrated from https://github.com/dotnet/coreclr/commit/
edb21e4087b8496924806f7bd7261b8876327120
Rahul Kumar [Thu, 9 Mar 2017 21:49:22 +0000 (13:49 -0800)]
Merge pull request dotnet/coreclr#9728 from rahku/fixIssue8683
Ignore binder context for corelib when performing binding cache lookup
Commit migrated from https://github.com/dotnet/coreclr/commit/
20528076ec1ae8adfea703ee620e3707ce39e8e1
Koundinya Veluri [Thu, 9 Mar 2017 21:12:43 +0000 (13:12 -0800)]
Improve span copy of pointers and structs containing pointers (dotnet/coreclr#9999)
Improve span copy of pointers and structs containing pointers
Fixes dotnet/coreclr#9161
PR dotnet/coreclr#9786 fixes perf of span copy of types that don't contain references
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6a7bde881a404fd3e44b2909960675072b4fca1
Gaurav Khanna [Thu, 9 Mar 2017 21:03:28 +0000 (13:03 -0800)]
Merge pull request dotnet/coreclr#10063 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25109-03 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
515af5ef422e33f35c13a84bf3d4bd812ca1e0de
Rahul Kumar [Thu, 23 Feb 2017 00:54:48 +0000 (16:54 -0800)]
Ignore binder context for corelib when performing binding cache lookup
Commit migrated from https://github.com/dotnet/coreclr/commit/
3ac0d28ef7b707c026f7ca2a709b248899b186d9
dotnet-bot [Thu, 9 Mar 2017 18:28:01 +0000 (18:28 +0000)]
Update CoreClr to beta-25109-03
Commit migrated from https://github.com/dotnet/coreclr/commit/
280eaf6b570669aa9d00a385af61a6eaf2695412
Gaurav Khanna [Thu, 9 Mar 2017 17:27:09 +0000 (09:27 -0800)]
Merge pull request dotnet/coreclr#10055 from tannergooding/vs2017
Updating the windows-instructions to list the minimum install requirements for VS2017 and to clarify that MSDIA120.dll must be registered.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3b36244d78c244b137205b8e81be7346600e7c81
Hyung-Kyu Choi [Thu, 9 Mar 2017 17:10:21 +0000 (02:10 +0900)]
[Ryujit/ARM32] Support binary operator for decomposed long (dotnet/coreclr#9978)
Implement binary operator for decomposed long type
in Lowering::TreeNodeInfoInit and CodeGen::genGetInsForOper,
i.e. GT_ADD_HI, GT_ADD_LO, GT_SUB_HI and GT_SUB_LO.
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
85641ec931be7f275fe9efcef44f79e1b287fb7f
Tanner Gooding [Thu, 9 Mar 2017 17:08:58 +0000 (09:08 -0800)]
Updating the windows-instructions to list the minimum install requirements for VS2017 and to clarify that MSDIA120.dll must be registered.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9bec3329b692c3eb5f4676afd027fb21519bb023
Gaurav Khanna [Thu, 9 Mar 2017 17:01:17 +0000 (09:01 -0800)]
Merge pull request dotnet/coreclr#10053 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-25109-01, beta-25109-03, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
32a935bd3b0ca9cec6c346443444ea659a388e5d
dotnet-bot [Thu, 9 Mar 2017 15:25:54 +0000 (15:25 +0000)]
Update CoreClr, CoreFx to beta-25109-01, beta-25109-03, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
360566a2facb38ad5ad1acbfdda200a06a94f43c
Ahson Ahmed Khan [Thu, 9 Mar 2017 14:45:45 +0000 (06:45 -0800)]
AggressiveInlining AsBytes and NonPortableCast (dotnet/coreclr#10057)
Commit migrated from https://github.com/dotnet/coreclr/commit/
51a6b5ce75c853e77266b8e1ce8c264736d2aabe
Atsushi Kanamori [Thu, 9 Mar 2017 14:44:26 +0000 (06:44 -0800)]
Move System.Security attributes to shared partition. (dotnet/coreclr#10036)
* Split System\Security\Attributes.cs into properly named files.
* Formatting cleanup
"sealed public" => "public sealed"
"System.Attribute" => "Attribute"
Use autoprops when possible.
Be explicit about nullary constructors
(since 90% of them already were.)
* Remove blank line.
Commit migrated from https://github.com/dotnet/coreclr/commit/
dd0dd2234eb982b8cfbfa9dbf1e8a3979bcb79c4
Pat Gavlin [Thu, 9 Mar 2017 06:10:36 +0000 (22:10 -0800)]
Do not set the last use bit on UVR ref positions.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d9580cb54e121cc0e53b7c7554996189ad085738
Pat Gavlin [Thu, 9 Mar 2017 05:51:47 +0000 (21:51 -0800)]
Fix extend lifetimes stress.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a1c62a8b28038c8b3576719e3ad6bcb56677915a
Jonghyun Park [Thu, 9 Mar 2017 01:27:51 +0000 (10:27 +0900)]
[x86/Linux] Correctly adjust stack for double aligned frames (dotnet/coreclr#9998)
[x86/Linux] Correct stack align for double aligned frames
Commit migrated from https://github.com/dotnet/coreclr/commit/
4e9f01623721f8da6b79793812ecb5b85509092d
Jonghyun Park [Thu, 9 Mar 2017 01:19:57 +0000 (10:19 +0900)]
[x86/Linux] 16-byte aligned UMThunkStubs (dotnet/coreclr#9997)
Commit migrated from https://github.com/dotnet/coreclr/commit/
fc588bec4852a1beedf9a13b78b28b550696b9eb
Tanner Gooding [Thu, 9 Mar 2017 00:16:42 +0000 (16:16 -0800)]
Merge pull request dotnet/coreclr#9956 from tannergooding/vs2017
Updating the build scripts to support VS2017.
Commit migrated from https://github.com/dotnet/coreclr/commit/
767f6e07c5648ccaf60426cc014fd2d4551d40e1
chcosta [Thu, 9 Mar 2017 00:07:32 +0000 (16:07 -0800)]
Update to buildtools version 1.0.27-prerelease-01407-02, and enable creating transport packages (dotnet/coreclr#10020)
* Update BuildTools fixes
* Update to buildtools version 1.0.27-prerelease-01407-02, and enable
building transport packages
* fix netcore project
* Avoid msb3644 error
* Fix bad copy
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f23fca0ff57c97707d4f6b5068e8044d2dcc13c
Bruce Forstall [Thu, 9 Mar 2017 00:05:37 +0000 (16:05 -0800)]
Merge pull request dotnet/coreclr#10038 from BruceForstall/DontBuildLegacy
Stop building x86 LEGACY_BACKEND
Commit migrated from https://github.com/dotnet/coreclr/commit/
5bdc20368230e271000109319f3e3236e855d374
Jonghyun Park [Wed, 8 Mar 2017 22:35:33 +0000 (07:35 +0900)]
Revise Interop TC Calling Convention (dotnet/coreclr#10014)
Commit migrated from https://github.com/dotnet/coreclr/commit/
cf7d6d924842e8975ede592fbab096bad9f780c8
Aditya Mandaleeka [Wed, 8 Mar 2017 22:34:40 +0000 (14:34 -0800)]
SRV->SVR in BotR GC section.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2971f7df986c5361b60b4970cfb489efeffe8449
Tanner Gooding [Wed, 8 Mar 2017 02:15:25 +0000 (18:15 -0800)]
Updating the building/windows-instructions.md to indicate the support for and requirements of using VS2017.
Commit migrated from https://github.com/dotnet/coreclr/commit/
af158263f3ab3143dbe0722b8eca7b58f2c8594c
Matt Mitchell [Wed, 8 Mar 2017 21:01:40 +0000 (13:01 -0800)]
Merge pull request dotnet/coreclr#10044 from mmitche/remove-nuget-cache
Remove the nuget cache from the archival
Commit migrated from https://github.com/dotnet/coreclr/commit/
d33ca701e424caf8ac58197913d18583f528f38f
Matt Mitchell [Wed, 8 Mar 2017 20:35:55 +0000 (12:35 -0800)]
Add all .nuget subdirs
Commit migrated from https://github.com/dotnet/coreclr/commit/
641ac67c8780dbe14f15d99d0fcd896a9e133959
Matt Mitchell [Wed, 8 Mar 2017 20:20:51 +0000 (12:20 -0800)]
Remove the nuget cache from the archival
This is taking an incredible amount of space and causing problems
Commit migrated from https://github.com/dotnet/coreclr/commit/
099085d2dc49f23cd255c04966209dcb364810a0
Gaurav Khanna [Wed, 8 Mar 2017 19:50:36 +0000 (11:50 -0800)]
Merge pull request dotnet/coreclr#9950 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-25108-04, beta-25108-02, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
50326e18b3fe0a82b3431f2a788322cf815eea5a
Michelle McDaniel [Wed, 8 Mar 2017 19:20:43 +0000 (11:20 -0800)]
Merge pull request dotnet/coreclr#10040 from adiaaida/perfjobtriggers
Change perf test trigger phases
Commit migrated from https://github.com/dotnet/coreclr/commit/
afa001d054708447cafeedb14d338fed422edd29
Michelle McDaniel [Wed, 8 Mar 2017 18:54:29 +0000 (10:54 -0800)]
Change perf test trigger phases
Currently the trigger phases for perf testing use an underscore between OS
and architecture. This is inconsistent with our other trigger phrases.
This change changes the underscore to whitespace.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a80e0eed648eb1f4d82d2bdceb9a2a9b03ce41ca
Bruce Forstall [Wed, 8 Mar 2017 17:44:38 +0000 (09:44 -0800)]
Stop building x86 LEGACY_BACKEND
Since we require a compatjit.dll to be built so the JIT NuGet
package can be built, even if JIT32 isn't being built, change
the compatjit.dll build (when JIT32 isn't being built) to just
a normal JIT build.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a191501c8229869f4e4308e83a99fccb6a77ab74
Bruce Forstall [Wed, 8 Mar 2017 18:20:49 +0000 (10:20 -0800)]
Merge pull request dotnet/coreclr#10013 from BruceForstall/CiTailcallStress
Add COMPlus_TailcallStress=1 testing
Commit migrated from https://github.com/dotnet/coreclr/commit/
0d1de6ee05b2d9f71353726e4455d7712536dca4
Sivarv [Wed, 8 Mar 2017 18:15:59 +0000 (10:15 -0800)]
Merge pull request dotnet/coreclr#10017 from sivarv/morphAssertFix
Morph assert fix.
Commit migrated from https://github.com/dotnet/coreclr/commit/
05a025cf21a8525d2e60769a4febfd8201594d56
dotnet-bot [Wed, 8 Mar 2017 17:26:01 +0000 (17:26 +0000)]
Update CoreClr, CoreFx to beta-25108-04, beta-25108-02, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
d09fc33bb70d779e09bcd10e3161366a93709fdd
Pat Gavlin [Wed, 8 Mar 2017 16:59:08 +0000 (08:59 -0800)]
Format code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f11e0fb6e3ce11980def0501652c6f8d711154d
Jonghyun Park [Wed, 8 Mar 2017 11:40:26 +0000 (20:40 +0900)]
[x86/Linux] Calling convention mismatch inside Vector3Interop tests (dotnet/coreclr#10028)
* [x86/Linux] Fix Calling Convention on JIT.SIMD.Vector3Interop tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
f581375d423d8fb6f2e1b7148aa949c8f14c952b
Jonghyun Park [Wed, 8 Mar 2017 11:39:55 +0000 (20:39 +0900)]
[x86/Linux] Calling convention mismatch inside systemvbrinup test (dotnet/coreclr#10029)
* [x86/Linux] Fix calling convention mismatch inside JIT.Methodical.struct.systemvbringup test
Commit migrated from https://github.com/dotnet/coreclr/commit/
6b4e35ffe958773298a753dbfda6a19431e47b9b
chunseoklee [Wed, 8 Mar 2017 09:39:40 +0000 (18:39 +0900)]
Remove CORECLR_GDBJIT length check in gdbjit (dotnet/coreclr#10016)
realted issue: https://github.com/dotnet/coreclr/issues/10003
Commit migrated from https://github.com/dotnet/coreclr/commit/
92fc7a07e0f1ac3b5a49d173ce42dbabace79aec
ragmani [Wed, 8 Mar 2017 09:22:19 +0000 (18:22 +0900)]
Fix wrong gcc inline assembly code. (dotnet/coreclr#10024)
It was coded as "rbx" instead of "ebx" register in clobber list position.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a5e4dc79d1c1fcea413522099f7981ac1a7d9625
Mike McLaughlin [Wed, 8 Mar 2017 08:29:50 +0000 (00:29 -0800)]
Fix assert in portable pdb reader running the clrstack command (dotnet/coreclr#10011)
Issue dotnet/coreclr#9969
Commit migrated from https://github.com/dotnet/coreclr/commit/
292770c5a5782425ab742b2739521eefc89fc725
Atsushi Kanamori [Wed, 8 Mar 2017 08:23:30 +0000 (00:23 -0800)]
Move two sharable classes into the shared partition. (dotnet/coreclr#10009)
The corert side of this was commited by
https://github.com/dotnet/corert/pull/2915#event-
990346611
Commit migrated from https://github.com/dotnet/coreclr/commit/
fe28e4034928d4d2daa3144de8d14013d18af468
William Godbe [Wed, 8 Mar 2017 06:33:45 +0000 (22:33 -0800)]
Merge pull request dotnet/coreclr#10006 from wtgodbe/parallelWrapperGen
Zip all test wrappers in parallel
Commit migrated from https://github.com/dotnet/coreclr/commit/
fe2b9d6b0e02afd03c16ea513cc95e71ce5cd1ea
Pat Gavlin [Wed, 8 Mar 2017 03:50:53 +0000 (19:50 -0800)]
Calculate last uses during buildIntervals.
This change moves LSRA's last use calculation from `setLastUses`
into `buildIntervals`.
The algorithm flips is as follows:
- When adding a ref position to a lclVar interval:
- If the ref position is not a parameter def, zero init, or an
exposed use, set the ref position's last use bit
- Additionally, if the ref position is a use and there is a
preceding ref position in the same basic block, clear that ref
position's last use bit.
- Once a basic block has been processed, clear the last use bit of the
final ref position in that basic block (if any exists) for each lclVar
that is live out of that block.
Aside from the algorithmic change, the other major difference is that
the GTF_VAR_DEATH bit is not updated until `resolveLocalRef`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
adf3dd7ccdb8f25173d0b96872c4916dd50be20c
Aditya Mandaleeka [Wed, 8 Mar 2017 05:30:02 +0000 (21:30 -0800)]
Remove TRACK_CXX_EXCEPTION_CODE_HACK and related code. (dotnet/coreclr#10018)
Commit migrated from https://github.com/dotnet/coreclr/commit/
08e125e154eaaa9a1f124945b54684c5b09c5b25
Daniel Podder [Wed, 8 Mar 2017 03:14:57 +0000 (21:14 -0600)]
Port Windows PGO support to master (dotnet/coreclr#9985)
The bulk of this PR is a cherry-pick of commit fa02660 that shipped in
release/1.1.0, updating the build system support for PGO to support
consuming PGDs properly during release builds on Windows.
Also included are the following new changes:
* Skip restore of opdata if the requisite project.json is missing
* If the optdata package restore fails, fail the build.
* Add new build option: 'skiprestoreoptdata'
Note: This change doesn't by itself enable PGO in master yet, because
training data (optdata packages) for master don't exist on myget yet.
However, with these changes, the only step remaining to enable PGO
optimizations is to add a project.json referencing the correct optdata
package.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a1fdb8fb0839832b64248582082c90e166b74b5
Tanner Gooding [Wed, 8 Mar 2017 02:04:25 +0000 (18:04 -0800)]
Updating the various windows build scripts to have a comment explaining the VS version selection logic.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d6158c82c37c72a9af96d5b51139a821b8071f1c
Aditya Mandaleeka [Wed, 8 Mar 2017 01:54:45 +0000 (17:54 -0800)]
Merge pull request dotnet/coreclr#10021 from adityamandaleeka/fix_broken_ci_badges
Fix broken CI badges
Commit migrated from https://github.com/dotnet/coreclr/commit/
32f10867031f0913a1bfc4e6bc159639369bf4bb
Bruce Forstall [Wed, 8 Mar 2017 01:45:33 +0000 (17:45 -0800)]
Add new JIT stress modes to the CI system; clean up netci.groovy duplication
1. Add JIT tailcall stress: COMPlus_TailcallStress=1
2. Add "SSE2 only": COMPlus_EnableAVX=0, COMPlus_EnableSSE3_4=0
3. Add new JIT stress regs mode: COMPlus_JitStressRegs=0x1000
a. Do this plain, with JitStress=2, with CoreFX, and in R2R testing
4. Fix R2R JitStressRegs10 and 80 to actually test 10 and 80! (previously, they
were passing "x10" and "x80", which get parsed as zero.
5. Delete tons of duplicate code from netci.groovy, and use a table/function
to determine test display names.
Fixes dotnet/coreclr#8626, dotnet/coreclr#6129, dotnet/coreclr#10004
Commit migrated from https://github.com/dotnet/coreclr/commit/
1aaa378a37c97705fee92df7c1450503aee2a346
Aditya Mandaleeka [Wed, 8 Mar 2017 01:49:12 +0000 (17:49 -0800)]
Fix broken badges.
Commit migrated from https://github.com/dotnet/coreclr/commit/
96d3475a5abd37f62cb7759d63072d7338c9d074
Alex Perovich [Wed, 8 Mar 2017 01:49:42 +0000 (19:49 -0600)]
Add shared changes from corert (dotnet/coreclr#10010)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3e897075b1ab5afb914671ccca240b5e41116242
sivarv [Wed, 8 Mar 2017 01:15:47 +0000 (17:15 -0800)]
Morph assert fix.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6b9eb39d97cc0a2cf26b73574a0c38e226d4e0b
Stephen Toub [Wed, 8 Mar 2017 01:02:56 +0000 (20:02 -0500)]
Merge pull request dotnet/coreclr#10005 from stephentoub/taskextensions
Add TaskExtensions to CoreLib
Commit migrated from https://github.com/dotnet/coreclr/commit/
d2d91ddc7a104f5e372a1cfa419ab7cde9b51b3f
Frederik Carlier [Tue, 7 Mar 2017 22:46:27 +0000 (23:46 +0100)]
Add scripts for building for arm Android (dotnet/coreclr#9961)
* Add scripts for building for arm Android
* Use arm soft float for bringup
* Use NDK r14
* Set HAVE_PT_REGS to false, as they are not available on Android
* _aligned_alloc is not available on clang
* Detect Visual C++ instead of clang
* Detect Android instead of clang
Commit migrated from https://github.com/dotnet/coreclr/commit/
b7b65a5fe1f893ae308f0984f1169d49c07a24dd
ragmani [Tue, 7 Mar 2017 22:28:58 +0000 (07:28 +0900)]
[x86/linux] Fix "Undefined Reference" error in CLR release build. (dotnet/coreclr#10000)
Replace "IncCantStopCount()" and "DecCantStopCount()" functions with
nothing(#define IncCantStopCount()) to call in methods of UTSemReadWrite
on x86/Linux.
Commit migrated from https://github.com/dotnet/coreclr/commit/
47487b06044e7defc5ba66e096bb207eced03d9a
Jan Vorlicek [Tue, 7 Mar 2017 21:41:22 +0000 (22:41 +0100)]
Fix incremental build of mscordaccore (dotnet/coreclr#9982)
* Fix incremental build of mscordaccore
This change sets up proper dependency for the mscordaccore build and stops
using PRE_LINK command which is executed always.
The way it solves the problem is that it creates an object library from the
mscordac.cpp and then lets the mscordaccore.exp be generated from that object
and finally use both that object library and the mscordaccore.exp while building
mscordaccore.
Commit migrated from https://github.com/dotnet/coreclr/commit/
be4ab599db716c105956befffc39a303682ad801
Michelle McDaniel [Tue, 7 Mar 2017 19:24:10 +0000 (11:24 -0800)]
Merge pull request dotnet/coreclr#9992 from adiaaida/fixjit32testing
Fix jit32 perf and throughput testing
Commit migrated from https://github.com/dotnet/coreclr/commit/
509a6b5d5cca156000fd8d2296c253365d02a75d
Stephen Toub [Tue, 7 Mar 2017 17:50:17 +0000 (12:50 -0500)]
Add TaskExtensions to CoreLib
Our TaskExtensions.Unwrap implementation in corefx is more allocation-heavy than the implementation we had in desktop and we could have in CoreLib, where CreateUnwrapPromise is available. By moving this implementation down to CoreLib, the code:
```C#
Task<Task> toUnwrap = ...;
Task t = toUnwrap.Unwrap();
```
incurs 1 allocation instead of 4.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d8f3e8eebee940cb3c52aee3df3298f1a143f304
Michelle McDaniel [Mon, 6 Mar 2017 22:21:15 +0000 (14:21 -0800)]
Fix jit32 perf and throughput testing
For jit32, we need to download the compatjit to make sure we are using a
jit32 build, not legacy backend (which is what is built when we run a
regular build out of coreclr). This change updates the groovy scripting to
pull down the jit nuget package that contains compatjit.
Until the packaging is fixed (dotnet/coreclr#9991), we are defaulting to the last
package that packaged compatjit along with clrjit.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf80bc7ee8905168c79826a060d4768537c14b7f
Bruce Forstall [Tue, 7 Mar 2017 19:14:00 +0000 (11:14 -0800)]
Merge pull request dotnet/coreclr#9996 from BruceForstall/FixCallFunFormatting
Un-clang-format-horrible-ify emitIns_Call() and genEmitCall()
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f8746e442fc7eb2e090270af43e5eceaf12987f
wtgodbe [Tue, 7 Mar 2017 19:07:58 +0000 (11:07 -0800)]
Zip all test wrappers in parallel
Commit migrated from https://github.com/dotnet/coreclr/commit/
944eef91ee06d09cfaea6ea6adf270532eab6749
Jonghyun Park [Tue, 7 Mar 2017 11:27:35 +0000 (20:27 +0900)]
[x86/Linux] CDECL as default P/Invoke Calling Convetion (dotnet/coreclr#9977)
* [x86/Linux] CDECL as default P/Invoke Calling Convetion
Commit migrated from https://github.com/dotnet/coreclr/commit/
e5994fa5507a5f08058193ff26dc3698cd2e6444
Jan Vorlicek [Tue, 7 Mar 2017 11:03:08 +0000 (12:03 +0100)]
Enhance ICU version scan (dotnet/coreclr#9993)
The scanning that tries to find locally installed ICU version was not
considering the case when only ICU library files with major version
component were present (like libicuuc.so.52). This is a rare case that
I've seen so far only when people built and installed ICU manually.
But it is worth to add checks for such case as a fallback, which is
what this change does.
I have also added checks for minorVersion and subVersion being -1 when
trying to detect the symbol versioning used. While the pre-existing code
would still work fine, it would unnecessarily try nonsensical version.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6c60ce7d4b1c438ecd034fdc5456697c5805e850
Hanjoung Lee [Tue, 7 Mar 2017 08:57:29 +0000 (17:57 +0900)]
[x86/Linux] Fix incorrect FP values (dotnet/coreclr#9975)
* [x86/Linux] Fix incorrect FP values
Restoring FP by CallerSP could be incorrect for nested EH.
Now that we have dotnet/coreclr#9820, we can use current context for 1st pass of EH.
Fix dotnet/coreclr#9848
Commit migrated from https://github.com/dotnet/coreclr/commit/
fd62b32850e9f6be88c6ece155b447b1ff167908
Bruce Forstall [Tue, 7 Mar 2017 07:34:31 +0000 (23:34 -0800)]
Merge pull request dotnet/coreclr#9995 from BruceForstall/FixNetciForceRelocs
Add missing "break" in a forcerelocs case
Commit migrated from https://github.com/dotnet/coreclr/commit/
b948d963376e07cf7381010af727fb330f717c41
Andy Ayers [Tue, 7 Mar 2017 03:31:24 +0000 (19:31 -0800)]
Harden resolveVirtualMethod against invalid types (dotnet/coreclr#9989)
Split resolveVirtualMethod into a wrapper/helper to allow early
returns as failure reasons are discovered.
Before devirtualizing, ensure that the derived class claimed by the jit
is really a subclass of the class that introduces the virtual method.
Fail early if this is not the case.
Also add early out for interface call devirtualization. The jit currently
does not ask for this but asking for it should not trigger an assert.
Closes dotnet/coreclr#9945 (along with dotnet/coreclr#9959).
Commit migrated from https://github.com/dotnet/coreclr/commit/
8902cdb044587ec713f25cb2a137b9532b98e7a2
Jonghyun Park [Tue, 7 Mar 2017 01:31:47 +0000 (10:31 +0900)]
[x86/Linux] Check Stack Alignment in StubRareEnable/StubRareDisableTHROW (dotnet/coreclr#9925)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e42a181ae55df183a79f3bea1ae8f881682c057b
William Godbe [Tue, 7 Mar 2017 00:36:06 +0000 (16:36 -0800)]
Merge pull request dotnet/coreclr#9986 from wtgodbe/XunitWrapperGranularity
Create Xunit wrappers for 2nd-level test directories instead of top-level
Commit migrated from https://github.com/dotnet/coreclr/commit/
85f6b130db198a85194cd1863c97ce5ddcfbddc5
Jan Vorlicek [Tue, 7 Mar 2017 00:35:14 +0000 (01:35 +0100)]
Fix ICU detection in System.Globalization.Native build (dotnet/coreclr#9990)
The config.cmake was not getting the ICU library paths it requires to
build a code that detects presence of the ucol_setMaxVariable.
I have excluded the libraries detection from the CMakeLists.txt
some time ago since they are not used in the build itself anymore,
but I have not realized that they are needed for this detection
script that's included from the CMakeLists.txt.
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc22420af24474fc500cbb47d289337b1762b23d
Bruce Forstall [Tue, 7 Mar 2017 00:29:58 +0000 (16:29 -0800)]
Un-clang-format-horrible-ify emitIns_Call() and genEmitCall()
Commit migrated from https://github.com/dotnet/coreclr/commit/
bd2e11551f146a033b384d404da3da7a22c89291
Bruce Forstall [Tue, 7 Mar 2017 00:22:07 +0000 (16:22 -0800)]
Add missing "break" in a forcerelocs case
Commit migrated from https://github.com/dotnet/coreclr/commit/
1cd7ceba344f994d8a055a8024321488e82944f8
Michelle McDaniel [Mon, 6 Mar 2017 23:25:57 +0000 (15:25 -0800)]
Merge pull request dotnet/coreclr#9991 from adiaaida/fixx86NugetPackageCreation
Change PackagePlatform to Platform for x86 jit pkg
Commit migrated from https://github.com/dotnet/coreclr/commit/
d67517364d978ab233ed767020c9581b44f8dc75
Michelle McDaniel [Mon, 6 Mar 2017 22:36:19 +0000 (14:36 -0800)]
Change PackagePlatform to Platform for x86 jit pkg
PackagePlatform was removed in dotnet/coreclr@
8dcf9665feabee339029c79b9d86dd24c71905d1,
but the x86 jit package props file was never updated to not use that
property. This change updates the props file to use Platform instead of
PackagePlatform to make sure we package compatjit.dll for x86.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0444288993ff9ced49a215e4d2a01a2363d9fc4b
wtgodbe [Mon, 6 Mar 2017 21:44:21 +0000 (13:44 -0800)]
Create Xunit wrappers for 2nd-level test directories instead of top-level
Commit migrated from https://github.com/dotnet/coreclr/commit/
54d5f431ee2492f8b4f2f12d0b6171c6a846c930
James Ko [Mon, 6 Mar 2017 18:44:34 +0000 (13:44 -0500)]
Implementation for Dictionary.TryAdd (dotnet/coreclr#9923)
* Add Dictionary.TryAdd
* Fix the conflicts for real
* Remove branch from Add(TKey, TValue)
* Tweak naming
* Remove a slow assert
* PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
aeef0d20caceb33c80312fdf40ed242139cdd003
Sivarv [Mon, 6 Mar 2017 18:25:03 +0000 (10:25 -0800)]
Merge pull request dotnet/coreclr#9398 from mikedn/switch-cast
Change switch value widening
Commit migrated from https://github.com/dotnet/coreclr/commit/
65dcffc4376ebff8c905ccfc9fa9a4ad0aca818c
Davis Goodin [Mon, 6 Mar 2017 17:40:56 +0000 (11:40 -0600)]
Add stripSymbols argument; refactor symbol package build (dotnet/coreclr#9664)
* Add argument to explicitly enable symbol stripping
* Refactor symbol package build
* Remove unnecessary native file distinctions
* Remove unnecessary WindowsSymbolFile step
Commit migrated from https://github.com/dotnet/coreclr/commit/
61619268805bace6b730de1237fd3c7545eb99b5
Tanner Gooding [Sat, 4 Mar 2017 05:32:28 +0000 (21:32 -0800)]
Updating the build scripts to support VS2017.
Commit migrated from https://github.com/dotnet/coreclr/commit/
029c38fa726ccfc5bf3e18a567075643ee5efd35
Jonghyun Park [Mon, 6 Mar 2017 11:31:37 +0000 (20:31 +0900)]
[x86/Linux] Stack align aware unwinder (dotnet/coreclr#9928)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ccf4cb343f6b9f47fc4b08d8811ead1caa3c706c
Jan Kotas [Mon, 6 Mar 2017 05:58:13 +0000 (21:58 -0800)]
Delete a few more unused hosting methods (dotnet/coreclr#9973)
Commit migrated from https://github.com/dotnet/coreclr/commit/
93d8ee3cb97f4071503f4e9e59d26f110c62200b
Rich Lander [Mon, 6 Mar 2017 02:09:31 +0000 (18:09 -0800)]
Add 3PN for GCBench (dotnet/coreclr#9971)
Commit migrated from https://github.com/dotnet/coreclr/commit/
54a84d07af050b6948cd54dc28cc694010623cb4
Rich Lander [Mon, 6 Mar 2017 02:09:17 +0000 (18:09 -0800)]
Add 3PN entry for Livermore Loops coded in C (dotnet/coreclr#9972)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f249b15e485a711a70985455bff3586f0451e15e
Austin Wise [Mon, 6 Mar 2017 01:51:40 +0000 (17:51 -0800)]
Remove hosting methods that always return false (dotnet/coreclr#9930)
* Remove CLRIoCompletionHosted as it always returns false.
* Remove CLRSyncHosted as it always returns false.
* Remove CLRMemoryHosted as it always returns false.
* Remove CLRTaskHosted as it always returns false.
* Remove CLRAssemblyHosted, CLRGCHosted,and CLRSecurityHosted.
They are not called.
* Remove IsThreadPoolHosted as it always returns false.
* Remove EnterRuntime and LeaveRuntime, as they do nothing.
* Add back calls to RevertIfImpersonated and GCX_PREEMP.
I accidentally deleted the call to RevertIfImpersonated instead of just
removing an extra parameter.
When I removed the HR_LEAVE_RUNTIME_HOLDER macro from windowsruntime.h,
I not only removed a LeaveRuntimeHolder but also a GCX_PREEMP. So I added
it back. The holder and GCX_PREEMP where only inserted when the
FEATURE_LEAVE_RUNTIME_HOLDER macro was defined. Since it is always defined,
I removed it. Also as I understand it, you would always want to have a
GCX_PREEMP before calling into the Windows API as not to block the GC,
so I'm not sure why you would want to disable it.
Commit migrated from https://github.com/dotnet/coreclr/commit/
51e968b013e9b1582035f202e004ed024f747f4f
Jan Kotas [Mon, 6 Mar 2017 01:27:36 +0000 (17:27 -0800)]
Delete IsNonW8PFrameworkAPI checks (dotnet/coreclr#9964)
Dead code in CoreCLR
Commit migrated from https://github.com/dotnet/coreclr/commit/
118f88dc17c75800ca249330ea41a963d3bae306
Rich Lander [Sun, 5 Mar 2017 22:55:57 +0000 (14:55 -0800)]
Add 3PN for Burgers equation (dotnet/coreclr#9966)
- Thanks to @taumuon for licensing the test, per our request!
- License is MIT.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b5b5e51118afd95a0dc29fdfe8b8fc9e48c0e47c
Andy Ayers [Sat, 4 Mar 2017 04:01:52 +0000 (20:01 -0800)]
JIT: change codgen for dup to not lose type information
The jit has traditionally optimized most cases of a
zz; dup; stloc.x
sequence into
zz; stloc.x; ldloc.x
with a comment noting that this makes the resulting compiler IR
more amenable to CSE. Here zz is any IL operation that pushes
a value on the stack. However if zz's result is a ref type, the
dup'ed value produced by zz may be a subtype of the type of the
local x, so this transformation can lose type information.
In the past the loss of type information hasn't mattered, but now if
zz subsequently is used as the this object in a virtual call, the jit
may attempt devirtualization and ask an ill-posed question to the VM,
claiming the type of the this object is an impossible supertype.
This changes modifies the transformation by introducing a new local temp y
that has the type of zz. The result is now
zz; stloc.y; ldloc.y; ldloc.y; stloc.x
with the net result that a ldloc.y is left on the stack with the proper
type. As an optimization, if zz is ldloc.z then the expansion is simply
zz (ldloc.z); ldloc.z; stloc.y
and if zz is a simple "cheap" constant (say ldnull) then the constant
expression is duplicated:
zz (ldnull); ldnull; stloc.y
This resolves the jit side of dotnet/coreclr#9945. Further work is needed on the VM
side since in unverifiable IL there may be other cases where the jit
can present an impossible type.
Diffs from this were minor and in many cases small improvements.
Commit migrated from https://github.com/dotnet/coreclr/commit/
743e5e1660b308cba660565419a972146a6b4191
Paul Westcott [Sun, 5 Mar 2017 05:32:12 +0000 (16:32 +1100)]
Remove ComVisible as per dotnet/coreclr#9371 (dotnet/coreclr#9962)
When lazy was merged, this change was lost.
Commit migrated from https://github.com/dotnet/coreclr/commit/
55fe7d685a88bf837ac29fcf33375f285f7c8136
mikedn [Sat, 4 Mar 2017 17:58:56 +0000 (19:58 +0200)]
Remove unused bbAssertionKill (dotnet/coreclr#9957)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c89728f3b9a78c99fe27d3126e601df433f50dc7
Adeel Mujahid [Sat, 4 Mar 2017 17:50:24 +0000 (19:50 +0200)]
Update glossary.md (dotnet/coreclr#9951)
* Added the definitions for AOT, UTC and UWP.
* Made R2R as the initialism with 'Read-to-Run' its abbreviation.
* Fixed a typo: contributers -> contributors.
* Format as Term-Description markdown table.
Commit migrated from https://github.com/dotnet/coreclr/commit/
81cc07600e2800e5abd5dd8b00cf2c477e8db05f
Varun Venkatesan [Sat, 4 Mar 2017 17:24:30 +0000 (09:24 -0800)]
Extending optimized JIT helpers to Buffer.MemoryCopy (dotnet/coreclr#9786)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c6372c5bfebd61470ea5d111f224d035b1d2ebdf
Jan Kotas [Sat, 4 Mar 2017 08:40:56 +0000 (00:40 -0800)]
Move System.Lazy to shared CoreLib partition (dotnet/coreclr#9955)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d22a22140ad29e90e1a5ee44e5288418b2b7d3d4
Tanner Gooding [Sat, 4 Mar 2017 06:26:26 +0000 (22:26 -0800)]
Merge pull request dotnet/coreclr#9954 from tannergooding/fcall
Updating `COMSingle` in `classlibnative` to use the appropriate FCALL declarations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
da2cebba91a6a0454234c86299070d2696cef412
Alex Perovich [Sat, 4 Mar 2017 05:44:12 +0000 (23:44 -0600)]
Remove unreferenced file (dotnet/coreclr#9952)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6bf345c219690328bd839e7719af36dc98c2c9d6
Paul Westcott [Sat, 4 Mar 2017 03:14:02 +0000 (14:14 +1100)]
Alternative System.Lazy implementation (dotnet/coreclr#8963)
* Remove use of lock for PublicationOnly
This involves a little bit of trickery. In avoiding the lock we need to
go from m_implementation as PublicationOnly to null in a single step. We
can't do this though without another object, so we reuse out Lazy
object, which basically just spins its wheels until the value is ready.
This shouldn't be a very common scenerio (i.e. hitting that code path)
but it is possible.
* Minimize additional object creation
Storing factory in Lazy object, and passing Lazy as a parameter to
ILazyItem functions. This means that None & PublicationOnly now need no
creation of secondary object.
* Remove Func<T> for default constructor invoking
Fixing startup performance concerns
* Moved non-generic functionality out of Lazy
...and into a helper class
* Expression-bodied functions
Commit migrated from https://github.com/dotnet/coreclr/commit/
2453adf1afba45dec79c6c643623b656702a17de
Tanner Gooding [Sat, 4 Mar 2017 03:08:33 +0000 (19:08 -0800)]
Fixing the FCALL 'common gotchas' comment to clarify that it applies to all types that are not passable via register in __fastcall.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0af0491aacc1473218d4b2715c9fc180c9889483
Tanner Gooding [Sat, 4 Mar 2017 02:56:56 +0000 (18:56 -0800)]
Updating `COMSingle` in `classlibnative` to use the appropriate FCALL Declarations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
41a518bee6213bac61173e142ccd2b6ce552d876
Jonghyun Park [Fri, 3 Mar 2017 23:57:35 +0000 (08:57 +0900)]
[x86/Linux] Clean up pContext access (dotnet/coreclr#9933)
* [x86/Linux] Clean up pContext access
* Fix ARM/Windows build error
Commit migrated from https://github.com/dotnet/coreclr/commit/
3834e6b27cbd32ebb7433e6a15f320c77c3074c6
Jonghyun Park [Fri, 3 Mar 2017 23:56:06 +0000 (08:56 +0900)]
[x86/Linux] Revise VirtualMethodFixupStub (dotnet/coreclr#9929)
* [x86/Linux] Revise VirtualMethodFixupStub
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad9153147dcc2045041c178a49a69cc441758c79
Tarek Mahmoud Sayed [Fri, 3 Mar 2017 22:50:38 +0000 (14:50 -0800)]
Clean up Normalization code (dotnet/coreclr#9941)
Commit migrated from https://github.com/dotnet/coreclr/commit/
63757399c44f92ac2e89a83a70cf27c53cfa16c0