Bruce Forstall [Tue, 13 Jun 2017 16:50:40 +0000 (09:50 -0700)]
Merge pull request dotnet/coreclr#12235 from BruceForstall/FixSuperPmiCollect
Fix SuperPMI collection script to allow passing arch/flavor args
Commit migrated from https://github.com/dotnet/coreclr/commit/
845d2597c1bae425c735ee3b86c921ae0be49327
Michelle McDaniel [Tue, 13 Jun 2017 16:27:39 +0000 (09:27 -0700)]
Merge pull request dotnet/coreclr#12245 from adiaaida/throughputJobChanges
Replace System.Private.CoreLib with new version in TP jobs
Commit migrated from https://github.com/dotnet/coreclr/commit/
24fe4185b30e283fb64a88745d9d06de85912253
Daniel Podder [Tue, 13 Jun 2017 16:22:29 +0000 (09:22 -0700)]
Pull CoreCLR build from RHEL7.2 in perf runs (dotnet/coreclr#12238)
Our Ubuntu perf testing has been creating Linux CoreCLR builds by
creating the build locally. This fits the local developer scenario, but
doesn't actually test the bits that ship; the 'official' product
configuration is generated by building on RHEL 7.2 and packaging those
bits for various distros, including Ubuntu.
In order to more accurately measure end-user-perceived performance, we
should do the same thing official builds do: build on RHEL7.2, then copy
those bits onto other OSes to test perf on those OSes.
This PR makes that happen by structuring Linux perf and throughput jobs
as flow jobs, with builds up front on a RHEL VM, before the bits are
dropped onto Ubuntu perf test machines.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d133544362e7bed58c4cbff4aa58d927764320d0
dotnet bot [Tue, 13 Jun 2017 15:28:51 +0000 (08:28 -0700)]
Update CoreClr, CoreFx to preview1-25413-01, preview1-25413-02, respectively (dotnet/coreclr#12242)
Commit migrated from https://github.com/dotnet/coreclr/commit/
02fbd334c4d2b7b654fcc58b64d9bef5df55f74c
Michelle McDaniel [Tue, 13 Jun 2017 15:03:18 +0000 (08:03 -0700)]
Replace System.Private.CoreLib with new version in TP jobs
SPC and the jit/coreclr are tightly coupled. With the changes to
crossgen into the dll, rather than the ni.dll, the throughput jobs are
now using the non-crossgen'd version of SPC on TP runs, which led to a
regression in TP on Linux because our comparison was not the same. This
change updates testing to replace the System.Private.CoreLib in the
throughput directory with the System.Private.CoreLib built by the
coreclr build.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6de9e94f4896c541eaa7711a204436f03e0549b4
Ruben Ayrapetyan [Tue, 13 Jun 2017 13:58:41 +0000 (16:58 +0300)]
Partially remove relocations for ModuleSection (ZapVirtualSectionType). (dotnet/coreclr#11853)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b258792e59b09060f54e0c9bbd31edc3e67d1ae8
Davis Goodin [Tue, 13 Jun 2017 13:55:25 +0000 (08:55 -0500)]
Use NuGetPush target from BuildTools (dotnet/coreclr#12221)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8115d8bdaa208f100897c30d9016c77259adb762
Daniel Podder [Tue, 13 Jun 2017 08:14:34 +0000 (01:14 -0700)]
Fix Linux PGO optdata consumption + PGO count update (dotnet/coreclr#12239)
* Update PGO package version to
20170612-1411
* Fix PGO optdata path issue on Linux
Commit migrated from https://github.com/dotnet/coreclr/commit/
a3ebe55ad325b1a68c5418a5e163ddbf71168a73
dotnet bot [Tue, 13 Jun 2017 04:01:29 +0000 (21:01 -0700)]
Update CoreClr, CoreFx to preview1-25412-03, preview1-25413-01, respectively (dotnet/coreclr#12234)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e977dde4c5f5210447564ca8779d3c6c00eaf7c1
Jarret Shook [Tue, 13 Jun 2017 02:34:48 +0000 (19:34 -0700)]
Fix legacy backend build when FEATURE_READYTORUN_COMPILER is undefined (dotnet/coreclr#12232)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a249583f3d5c581dc13eeaca784a2bc50e08eca
William Godbe [Tue, 13 Jun 2017 00:56:29 +0000 (17:56 -0700)]
Merge pull request dotnet/coreclr#12175 from wtgodbe/VS2017
Use roslyn common props in test build
Commit migrated from https://github.com/dotnet/coreclr/commit/
b14ac34a328831c1a34fb78a8ecc7dc1a495813b
Drew Scoggins [Tue, 13 Jun 2017 00:16:24 +0000 (17:16 -0700)]
Merge pull request dotnet/coreclr#12223 from DrewScoggins/AddHelpToPerf
Add help statement for perf.groovy
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f118db246205f40dd2a96eb5bff88f531fd0fdc
Steve MacLean [Mon, 12 Jun 2017 23:49:39 +0000 (19:49 -0400)]
[Arm64/Unix] Implement YieldProcessor() (dotnet/coreclr#12229)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3adf9c1baadbb90136cbcc7b8e1833ac422a6f6
Bruce Forstall [Mon, 12 Jun 2017 23:26:23 +0000 (16:26 -0700)]
Fix SuperPMI collection script to allow passing arch/flavor args
Previously, runtest would always be invoked with the default
args, meaning x64 debug.
This script is not used in the coreclr test run.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2ef197c877c61a567dc9ee940e04064c5cfca07a
Steve MacLean [Mon, 12 Jun 2017 21:14:12 +0000 (17:14 -0400)]
[Arm64/Unix] Add 64K page support (dotnet/coreclr#10981)
* [Arm64/Unix] Support 64K pages
* GC move GCToOSInterface::Initialize() into InitializeGarbageCollector()
Commit migrated from https://github.com/dotnet/coreclr/commit/
0ee3b5e64a98dc71aefed2304fe4bcf7f66ca9f5
Bruce Forstall [Mon, 12 Jun 2017 20:33:13 +0000 (13:33 -0700)]
Merge pull request dotnet/coreclr#12163 from hseok-oh/ryujit/fix_11850_2
[RyuJIT/ARM32] Fix comment and ifdef condition
Commit migrated from https://github.com/dotnet/coreclr/commit/
c655981474be1d3aa0165408e5c3914c5cfc35a1
Sergey Andreenko [Mon, 12 Jun 2017 20:16:08 +0000 (13:16 -0700)]
make REG_VIRTUAL_STUB_PARAM depended on Abi. (dotnet/coreclr#12209)
* make REG_VIRTUAL_STUB_PARAM depended on Abi.
Add VirtualStubParamInfo that is part of compiler and must be init in
compCompile.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f8c5e8f3596c7e1607356894473db75b4353503
Wes Haggard [Mon, 12 Jun 2017 19:55:53 +0000 (12:55 -0700)]
Disable some test cases to workaround compiler bug
Need to workaround compiler bug https://github.com/dotnet/roslyn/issues/14785
so disabling some test cases in the JIT isisnt tests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a0033795f551053cb199d85c77926f0840f5b583
Drew Scoggins [Mon, 12 Jun 2017 17:15:55 +0000 (10:15 -0700)]
Add help statement for perf.groovy
When you use the help from dotnet bot you do not get any of the
performance runs in the help. This should add those in.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b236624a1d867c94f918356f324c38785f1018e0
dotnet bot [Mon, 12 Jun 2017 17:00:13 +0000 (10:00 -0700)]
Update CoreClr, CoreFx to preview1-25412-01, preview1-25412-02, respectively (dotnet/coreclr#12214)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d1ee1145a37f355715160cb0895d8f5e57dc2d8b
Jonghyun Park [Mon, 12 Jun 2017 15:40:24 +0000 (00:40 +0900)]
[x86/Linux] Port 'ThrowControlForThread' (dotnet/coreclr#11641)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b386a62a3b191d01723fa9a5c65fa4914dcb4854
Daniel Podder [Sat, 10 Jun 2017 19:06:34 +0000 (12:06 -0700)]
Update PGO counts to version
20170609-1125 (dotnet/coreclr#12201)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6c19fef3ed9dc3674ce761972e27a9c5f00ddfa9
Yi Zhang (CLR) [Sat, 10 Jun 2017 16:08:41 +0000 (09:08 -0700)]
Disable IEnumerable.GetEnumerator on RCW through IDispatch (dotnet/coreclr#11865)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d4a4144b622e4304ca04d450807a18807027ab38
dotnet bot [Sat, 10 Jun 2017 04:51:16 +0000 (21:51 -0700)]
Update CoreClr, CoreFx to preview1-25409-02, preview1-25410-01, respectively (dotnet/coreclr#12212)
Commit migrated from https://github.com/dotnet/coreclr/commit/
073d54b96f8577f7a14c03877fb84b8ce757cede
Swaroop Sridhar [Fri, 9 Jun 2017 03:30:02 +0000 (20:30 -0700)]
Move ILLink Perf to a separate job
This changes ILLink performance testing to its own leg.
With this change, ILLink perf test will not be run for every PR by default.
It can be requested explicitly on a PR, and will run on the rolling builds.
JitBench build breaks have broken the PR builds a few times, so this change
moves ILLink perf tests out of the PR job, so that MusicStore testing can be
enabled again.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef0fcc8b6f28d380cd193ca393557dc10aa0fb96
Santiago Fernandez Madero [Sat, 10 Jun 2017 00:18:01 +0000 (17:18 -0700)]
Revert ResourceManager change to unblock uap tests (dotnet/coreclr#12179)
Commit migrated from https://github.com/dotnet/coreclr/commit/
daed7e573ae715a3b7991fc63ea0c91c38d870f5
Sean Gillespie [Fri, 9 Jun 2017 23:08:10 +0000 (16:08 -0700)]
[Local GC] No longer need to initialize SVR dacvars separately (dotnet/coreclr#12173)
* [Local GC] No longer need to initialize SVR dacvars separately
* Remove rest of uses of DEFINE_DACVAR_SVR
Commit migrated from https://github.com/dotnet/coreclr/commit/
1e11b32ca720f886adfa0cc2a6a46829feba78d0
Roman Artemev [Fri, 9 Jun 2017 23:06:53 +0000 (16:06 -0700)]
Merge pull request dotnet/coreclr#12208 from rartemev/fix_encoding_1
Fixed files encoding to utf8 (issue dotnet/coreclr#12182)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d15b1253b773080543d7e5b656e42d6e4b994688
Eugene Rozenfeld [Fri, 9 Jun 2017 22:24:26 +0000 (15:24 -0700)]
Merge pull request dotnet/coreclr#12200 from erozenfeld/FastTailCallLoweringFix
Fix fast tail call lowering bug.
Commit migrated from https://github.com/dotnet/coreclr/commit/
da86bd58e4781077733b4dc1815a87092855912d
William Godbe [Fri, 9 Jun 2017 21:25:47 +0000 (14:25 -0700)]
Merge pull request dotnet/coreclr#12206 from wtgodbe/OverlayOnly
Add documentation for build-overlay-only
Commit migrated from https://github.com/dotnet/coreclr/commit/
d70747230545129a275dfff3a6f5fc1817acb912
wtgodbe [Fri, 9 Jun 2017 21:20:54 +0000 (14:20 -0700)]
Add documentation for build-overlay-only
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f595e2370b1dd29c147c573d72efcd87a5c2191
Roman Artemev [Fri, 9 Jun 2017 20:12:51 +0000 (20:12 +0000)]
Fix files encoding to utf8
Commit migrated from https://github.com/dotnet/coreclr/commit/
37b9167187ee454908c60319c5b126386c73c68b
Roman Artemev [Fri, 9 Jun 2017 19:42:00 +0000 (12:42 -0700)]
Merge pull request dotnet/coreclr#12184 from rartemev/legacy_jit_1
Fix and enable legacy jit for x86
Commit migrated from https://github.com/dotnet/coreclr/commit/
979cb251801d5a53286d3172a36815569e3da9a4
Eugene Rozenfeld [Fri, 9 Jun 2017 18:05:48 +0000 (11:05 -0700)]
Fix fast tail call lowering bug.
Lowering::LowerFastTailCall has code that handles the case when the caller and the callee both have parameters
passed on the stack and the callee has register arguments that are computed from the caller's stack-passed arguments.
In that case the stack arguments of the callee are set up in the caller's incoming argument area so they override
the caller's arguments. Lowering::LowerFastTailCall creates temps for any caller's arguments passed on the stack that are
used to compute callee's register arguments. That code had a bug where it was converting GT_LCL_FLD nodes into
GT_LCL_VAR nodes. That's problematic both for the case of a single-field struct with a double field and for multi-field structs.
In the former case we were getting LSRA asserts in checked builds and SBCG in release builds. In the latter case we were getting SBCG
both in checked and release builds.
The fix is not to convert GT_LCL_FLD nodes into GT_LCL_VAR nodes and mark the new temps as not-enregisterable if the
local is not-enregisterable.
An alternative fix would be to create multiple register temps for each GT_LCL_FLD or GT_LCL_VAR targeting the local but that
would complicate the code and I decided to go with a simlper solution for this uncommon case.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c1bac92bcba5f3c9af08ba5088aa27c264d23f37
Carol Eidt [Fri, 9 Jun 2017 18:40:22 +0000 (11:40 -0700)]
Merge pull request dotnet/coreclr#12189 from mskvortsov/FixExplicitContainedness
[RyuJIT/ARM32] Fix failures related to explicit containedness
Commit migrated from https://github.com/dotnet/coreclr/commit/
c8c9f6d1ce72aa2ffcced312ce818779fc9aed0b
Pat Gavlin [Fri, 9 Jun 2017 16:51:06 +0000 (09:51 -0700)]
Merge pull request dotnet/coreclr#10996 from mikedn/magic-udiv
Do unsigned magic division
Commit migrated from https://github.com/dotnet/coreclr/commit/
e3c4bd2a8768e405b00e7d807d7f2cb1a64c66e8
Jonghyun Park [Fri, 9 Jun 2017 15:47:07 +0000 (00:47 +0900)]
Allow users to set the number of build processes (dotnet/coreclr#12188)
* Allow users to set the number of build processes
* Add a command-line option
* Use common initialization style (use __NumProc and extract initialization from build_native)
* Set __NumProc before argument parsing (and replace NumProc with __NumProc)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2235dcc5711bde70f16a846ce88c622d18ae63d
dotnet bot [Fri, 9 Jun 2017 15:10:58 +0000 (08:10 -0700)]
Update CoreClr, CoreFx to preview1-25409-01, preview1-25409-03, respectively (dotnet/coreclr#12187)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c5977560b5124680c3b1032a0702fd72fadb3fc
Viktor Hofer [Fri, 9 Jun 2017 15:08:13 +0000 (17:08 +0200)]
DateTime serialization fixed, added attention labels to serialized fields (dotnet/coreclr#12181)
* DateTime serialization fixed, added attention labels to serialized fields
* CultureAwareComparer serialization fix
* Order or property fixed
Commit migrated from https://github.com/dotnet/coreclr/commit/
cdb827b6cf72bdb8b4d0dbdaec160c32de7c185f
Jonghyun Park [Fri, 9 Jun 2017 10:48:49 +0000 (19:48 +0900)]
[ARM/Linux] Validate memory using ldrb instead of ldr (dotnet/coreclr#12191)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2c6ed7fedb868885660cd656c763e04464a9a284
Mikhail Skvortcov [Fri, 9 Jun 2017 07:55:19 +0000 (10:55 +0300)]
RyuJIT/ARM32: Fix failures related to explicit containedness
Commit migrated from https://github.com/dotnet/coreclr/commit/
712eefbd2c75d94eacbe97192ca0414fdd3c337b
Xiangyang (Mark) Guo [Fri, 9 Jun 2017 07:59:47 +0000 (00:59 -0700)]
Enable CPU Group on Linux AMD64 (dotnet/coreclr#12140)
* fix GetCurrentProcessCpuCount on Linux AMD64
* code refactor
* expose NUMA related APIs on Linux
Commit migrated from https://github.com/dotnet/coreclr/commit/
f846eb71aebefeb0363682c1fd0ef86bee82865a
Sergey Andreenko [Fri, 9 Jun 2017 07:07:46 +0000 (00:07 -0700)]
delete DECLARE_TYPED_ENUM (dotnet/coreclr#12177)
* delete DECLARE_TYPED_ENUM
delete the workaroung for g++ c++11, that was fixes in gcc 4.4.1 many
years ago.
The workaround makes code dirty and sometimes we have typos like:
};
END_DECLARE_TYPED_ENUM(insFlags,unsigned)
or
END_DECLARE_TYPED_ENUM(ChunkExtraAttribs, BYTE);
with double ;;
* jit-format
Commit migrated from https://github.com/dotnet/coreclr/commit/
47afd9434be8c0b5997a0a5618569abc30596546
José Rivero [Fri, 9 Jun 2017 00:44:44 +0000 (17:44 -0700)]
perf.groovy fails to sanitize <PR> name properly (dotnet/coreclr#12167)
Fix dotnet/coreclr#12166
* Using "double quotes" instead of [square brackets] in the if condition.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8763ef5f815e314405e41265186719de8759756e
Roman Artemev [Fri, 9 Jun 2017 00:01:03 +0000 (17:01 -0700)]
Enable legacy jit for x86
Commit migrated from https://github.com/dotnet/coreclr/commit/
2242b2ec7caa929b862c63bfbdd08604b5ce69b4
Carol Eidt [Thu, 8 Jun 2017 23:34:20 +0000 (16:34 -0700)]
Merge pull request dotnet/coreclr#11901 from CarolEidt/RegVal
Make containedness explicit
Commit migrated from https://github.com/dotnet/coreclr/commit/
699b25847ec14e47abc03cf7f3a1ffdb249d68b6
Steve MacLean [Thu, 8 Jun 2017 23:02:33 +0000 (19:02 -0400)]
[Arm64/Unix] Fix SOFTWARE_WRITE_WATCH for 64K pages (dotnet/coreclr#11413)
* Decouple Software Write Watch from page size
* Use WRITE_WATCH_UNIT_SIZE in revisit_written_page(s)
* GC add align_write_watch_lower_page
Commit migrated from https://github.com/dotnet/coreclr/commit/
4af0f91b0f3b9a99b8cb9bc3551576494b058732
Pat Gavlin [Thu, 8 Jun 2017 22:59:07 +0000 (15:59 -0700)]
Merge pull request dotnet/coreclr#12011 from pgavlin/FixTestNugetRuntimeId
Fix TestNugetRuntimeId.
Commit migrated from https://github.com/dotnet/coreclr/commit/
46201b3b92bcacfff7518bf98b3627879158c322
Cyd Haselton [Thu, 8 Jun 2017 22:34:04 +0000 (17:34 -0500)]
First steps for generating nuget packages for ARM64/Android. (dotnet/coreclr#10286)
* First steps for generating nuget packages for ARM64/Android. Adds Android RIDS and related conditionals to appropriate files
* Additional changes for Android package build
* Revert addition of Android to supported packages
* Allow Android .nuget package build
Adding runtime.Android files for package generation
Adding TODO for reliable generation of __DistroRid for Android
* Added/corrected logic for detecting __DistroRid at commandline
Removed hack and TODO
* Removed newline
* Revert unintentional change to osx rid
* Removed commenting of __DistroRid initialization
* Latest fixes for __DistroRid cmdline detection
Removed __DistroRid initialization (clobbers value set at cmdline)
Removed echo test of __DistroRid in generate nuget pkg function
(Hopefully) fixed cross-build os-release detection
* Removed android.21-arm from supported RIDs
Removed arm32 from supported RIDs until test build can be done or CI for arm32 added (?)
* Fixes for package generation for android
Modified build-android-rootfs.sh so it would generate file w/platform info
Reverted all prior changes to initTargetDistroRid, added new android platform detection
* Fixed conditional for Android
* Added platform generation for Android portable build, if ever needed
* Added information about android_platform
Added help info about android_platform file
Added TODO for dynamic generation of RID based on $__ApiLevel and $__BuildArch
* Syntax cleanup for build.sh
Removed extra space in initTargetDistroRid() logic
* Recommended review changes
removed Android-specific runtime files for packaging
added conditional to have Android use Linux runtime files
* Updated topic branch from master, resolving SPC.ni.dll file nuget pkg issue
* ericstj review changes
Fixed accidental fedora version change
Fixed indenting
* Removed TODO comment; logic already in place, added in earlier commit
* Removed Android OfficialBuildRID
Commit migrated from https://github.com/dotnet/coreclr/commit/
b4cbd9dbdc9f1850e5953bc785d2abb6cf0f69c3
Pat Gavlin [Thu, 8 Jun 2017 20:37:08 +0000 (13:37 -0700)]
Merge pull request dotnet/coreclr#12172 from pgavlin/gh12154
Don't dump an uninitialized bitset in LSRA.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0060a37d80d8164a2454557213832348c7bd85ec
wtgodbe [Thu, 8 Jun 2017 20:29:22 +0000 (13:29 -0700)]
Use roslyn common props in test build
Commit migrated from https://github.com/dotnet/coreclr/commit/
a1fee5f3951deea2e146456f7a429597e9721477
Russell C Hadley [Thu, 8 Jun 2017 19:54:06 +0000 (12:54 -0700)]
Merge pull request dotnet/coreclr#12148 from mikedn/oper-dump
Make JIT dumps more readable
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a8f3a0b687497a264ea11dd9ad1cceef3d8e133
Pat Gavlin [Thu, 8 Jun 2017 19:00:45 +0000 (12:00 -0700)]
Don't dump an uninitialized bitset in LSRA.
LSRA was unconditionally dumping `fpCalleeSaveCandidateVars`, which is
not initialized if we are not enregistering any lclVars. This was
causing an assertion with dumping enabled.
Commit migrated from https://github.com/dotnet/coreclr/commit/
87d7b178eaf20c04eb7fd45957373fcf0578ac18
Sean Gillespie [Thu, 8 Jun 2017 18:07:12 +0000 (11:07 -0700)]
[Local GC] Add GetThread to the GC/EE interface (dotnet/coreclr#12036)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f1d81d24932391c0f087364cd91a66ac2c758e35
Carol Eidt [Thu, 8 Jun 2017 16:47:45 +0000 (09:47 -0700)]
Merge pull request dotnet/coreclr#12005 from wateret/wip-armel-lsra
[RyuJIT/armel] Support putting floating-point args
Commit migrated from https://github.com/dotnet/coreclr/commit/
0d7c2d19a1b2e8c03ed609cccc6a01b3c5f7325b
Tom Deseyn [Thu, 8 Jun 2017 16:08:00 +0000 (18:08 +0200)]
Describe how to use daily by setting RuntimeFrameworkVersion and publishing self-contained. (dotnet/coreclr#12056)
* Describe how to use daily by setting RuntimeFrameworkVersion and publishing self-contained.
Commit migrated from https://github.com/dotnet/coreclr/commit/
62516da2b8a66bbe2c5cee5179e9b41fcc5ce6e2
[Arm64] stlr for JIT_WriteBarrier
Commit migrated from https://github.com/dotnet/coreclr/commit/
057686e1789897e453100086209a72d9e3353073
[Arm64] Use ish domain JIT_WriteBarrier
Commit migrated from https://github.com/dotnet/coreclr/commit/
56d40339e615ea035883f60fc77a91b6be5c4445
Andy Ayers [Thu, 8 Jun 2017 15:31:35 +0000 (08:31 -0700)]
Merge pull request dotnet/coreclr#12145 from AndyAyersMS/UpdateBenchmarks
Modify iteration behavior some benchmarks
Commit migrated from https://github.com/dotnet/coreclr/commit/
d9526fde97edf79822380f437e0058c5f8988d2f
dotnet bot [Thu, 8 Jun 2017 14:40:41 +0000 (07:40 -0700)]
Update CoreClr to preview1-25408-03 (dotnet/coreclr#12161)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2f35b51419219b4b39b82e4b3f3564ec7b37c736
Jan Kotas [Thu, 8 Jun 2017 03:16:48 +0000 (20:16 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3832 from dotnet/nmirror
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
688b470713c81b03abfe0aa388122d553f424f7b
Jan Vorlicek [Thu, 8 Jun 2017 10:54:18 +0000 (12:54 +0200)]
Fix linker GUARD option (dotnet/coreclr#11492)
I have found that the /GUARD:CF option set in the root CMakeFiles.txt
was not being propagated to the Visual C++ project files generated
by cmake because of a wrong casing. The CMakeFiles.txt used /guard:cf
but it works correctly only if it is all upper case.
Commit migrated from https://github.com/dotnet/coreclr/commit/
65ff5146ad706a9393133df44ad2abdfd5caa9c4
Hyeongseok Oh [Thu, 8 Jun 2017 07:15:13 +0000 (16:15 +0900)]
[RyuJIT/ARM32] Fix comment and ifdef condition
Fix comment for elif and endif
Apply fix for RyuJIT/ARM32 only (not for LegacyJIT/ARM32)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d71f8c15206d09f5e12aa8118867df10d03905e4
Matt Ellis [Thu, 8 Jun 2017 06:53:49 +0000 (23:53 -0700)]
Merge pull request dotnet/coreclr#12102 from tmds/any-linux
build.sh: fall back to portable Linux when Linux host has unknown rid
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d2a54449d6b9d8fecb788e741654d7dbd992a87
dotnet bot [Thu, 8 Jun 2017 05:09:52 +0000 (22:09 -0700)]
Update CoreClr, CoreFx to preview1-25408-01, preview1-25408-01, respectively (dotnet/coreclr#12157)
Commit migrated from https://github.com/dotnet/coreclr/commit/
aa96acbf53bfcfcc12fb9c0a9c3ded23f6fd63ed
Pat Gavlin [Thu, 8 Jun 2017 04:48:42 +0000 (21:48 -0700)]
Merge pull request dotnet/coreclr#12155 from pgavlin/LclVarChecks
Add lclVar semantic checks to CheckLIR.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a8c359c5d262b81a02d0178e19b966e28afdf691
Pat Gavlin [Thu, 8 Jun 2017 04:27:41 +0000 (21:27 -0700)]
Format code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e20bbc4ffdaa22e39c667f200f037eee4580f4ad
Hanjoung Lee [Wed, 7 Jun 2017 10:12:19 +0000 (19:12 +0900)]
[RyuJIT/armel] Support putting floating-point args
- Make Lowering and LSRA be aware of armel argument push convention.
- Implement codegen for GT_COPY that was newly created from `LowerArg()`.
- Only `float` type is supported. (`double` is not supported yet.)
Fix dotnet/coreclr#11928
Commit migrated from https://github.com/dotnet/coreclr/commit/
2b3d55acdd920e9bb221830f2c16bff9f14f3ce2
Pat Gavlin [Thu, 8 Jun 2017 02:22:51 +0000 (19:22 -0700)]
Address PR feedback.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4f38ae737c586432e3d1d4c21b3df5c4f2b8d5ce
Bruce Forstall [Thu, 8 Jun 2017 00:43:22 +0000 (17:43 -0700)]
Merge pull request dotnet/coreclr#12142 from BruceForstall/ReduceNoway
Convert some very common noway_assert to simple assert
Commit migrated from https://github.com/dotnet/coreclr/commit/
06c08437ea63aae067d3a7510c00965864532ef7
Carol Eidt [Thu, 8 Jun 2017 00:20:38 +0000 (17:20 -0700)]
Merge pull request dotnet/coreclr#12087 from sdmaclea/PR-JIT-AcquireRelease-SimpleCases
[Arm64] Pr jit acquire release simple cases
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a6c1d1b4a6abfd7a37dd7fd4a6f22dfce4de17b
Pat Gavlin [Wed, 7 Jun 2017 22:09:29 +0000 (15:09 -0700)]
Add lclVar semantic checks to CheckLIR.
Specifically, ensure that an unaliasable lclVar is not redefined between the
point at which a use appears in linear order and the point at which that
use is consumed by its user. This ensures that it is always safe to treat
a lclVar use as happening at the user (rather than at the lclVar node).
Commit migrated from https://github.com/dotnet/coreclr/commit/
585d4d779053c7986d29d4f0d486702c6ecaaded
Sergey Andreenko [Wed, 7 Jun 2017 22:28:26 +0000 (15:28 -0700)]
delete BLOCKSET_INIT_NOCOPY and BLOCKSET_INIT. (dotnet/coreclr#12144)
BLOCKSET_INIT was unused.
BLOCKSET_INIT_NOCOPY was replaced by the implicit constructor.
Commit migrated from https://github.com/dotnet/coreclr/commit/
738945cfaf69b0f37d3020944936fe4ad0eef127
Sergey Andreenko [Wed, 7 Jun 2017 22:28:02 +0000 (15:28 -0700)]
rename temp variables with meaningful names. (dotnet/coreclr#12023)
It was hard to follow the logic.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4da8aa3c0f7deaa904d8112d15746a760a16e5ec
Daniel Podder [Wed, 7 Jun 2017 21:41:31 +0000 (16:41 -0500)]
Only restore optdata for release builds (dotnet/coreclr#12136)
Avoid restoring optdata during a non-release build to minimize work done
by build.sh/cmd. Fix dotnet/coreclr#12126
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c216db85eab677921cbbe2d1d3d00a4ec322523
Bruce Forstall [Wed, 7 Jun 2017 21:39:24 +0000 (14:39 -0700)]
Simplify genRegArgNext() (dotnet/coreclr#12124)
* Simplify genRegArgNext()
There is no need to check the register type before calling REG_NEXT.
* Rewrite using `switch`
* Fix genRegArgNext for Linux x64
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef1cb89d9ddb8427d0c906a2c86ea39a579d9e53
Mike Danes [Sun, 28 May 2017 06:44:02 +0000 (09:44 +0300)]
Make JIT dumps more readable
Replace all uses of NodeName with OpName so we get proper names instead of symbols (e.g. ADD instead of +). Names stand out better, especially in JIT dumps where we use various symbols to draw tree lines.
Commit migrated from https://github.com/dotnet/coreclr/commit/
89f56ab4f11114dc82e1983988fa74ad1bed069c
Andy Ayers [Fri, 19 May 2017 19:40:15 +0000 (12:40 -0700)]
Modify iteration behavior some benchmarks
This change updates the iteration behavior for the following benchmarks, so that
they generally run for about 1 second per iteration:
* Inline/InlineGCStruct
* Inline/NoThrowInline
* Span/IndexerBench/Indexer4
* Functions/MathTests/*
It also removes the length 1, 10, and 1000 variants of the Span/SpanBench
tests, leaving just the length 100 variants. Analysis has shown that there
is no need to test varying lengths here. Iteration counts for these tests
have been left as is and will be fixed subsequently.
Partially addresses dotnet/coreclr#11654.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c92d35ba6171640fb6ebb34c0f45ebfd8be4182f
Pat Gavlin [Wed, 7 Jun 2017 20:30:01 +0000 (13:30 -0700)]
Merge pull request dotnet/coreclr#12138 from pgavlin/CheckLIRCodegen
Run the LIR checker before codegen.
Commit migrated from https://github.com/dotnet/coreclr/commit/
cd5de7576d93f6006c4ef1659e3760488e159e82
Pat Gavlin [Wed, 7 Jun 2017 20:09:01 +0000 (13:09 -0700)]
Merge pull request dotnet/coreclr#12139 from pgavlin/coredistoolsfix
Define `__cdecl` if necessary in coredistools.h.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ff7810c64a12baae6829e80af33d328f0099c14c
Bruce Forstall [Wed, 7 Jun 2017 19:20:08 +0000 (12:20 -0700)]
Convert some very common noway_assert to simple assert
With these few changes, I measured a JIT instruction count reduction
of 0.37% of SuperPMI over the tests, and 0.17% for MinOpts.
Related to dotnet/coreclr#10421
Commit migrated from https://github.com/dotnet/coreclr/commit/
dbf724cd88d2fc513bc95f8787dc72bc99dfc7cd
Brian Sullivan [Wed, 7 Jun 2017 18:20:50 +0000 (11:20 -0700)]
Merge pull request dotnet/coreclr#12109 from briansull/ibc-tuning
Fixed the loading of ReadyToRun tuning native image
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a97f3ca9630bc770e0b4bd54279bc7897ee26c2
Pat Gavlin [Wed, 7 Jun 2017 17:28:44 +0000 (10:28 -0700)]
Define `__cdecl` if necessary in coredistools.h.
This fixes a build break for CoreDisTools on Linux.
Commit migrated from https://github.com/dotnet/coreclr/commit/
15d31659309c603e3bb2b748615a86423e62c6b6
Pat Gavlin [Wed, 7 Jun 2017 17:26:43 +0000 (10:26 -0700)]
Run the LIR checker before codegen.
Just what it says on the tin.
Commit migrated from https://github.com/dotnet/coreclr/commit/
50cc4e427ba7d4a2a88ea02449a5f8ee7d9b7b53
Bruce Forstall [Wed, 7 Jun 2017 17:06:31 +0000 (10:06 -0700)]
Merge pull request dotnet/coreclr#12122 from BruceForstall/CleanupEffectiveVal
Remove use of gtEffectiveVal in RyuJIT codegen
Commit migrated from https://github.com/dotnet/coreclr/commit/
58770caff735d6334e73a2f32212a1770f5375f3
Carol Eidt [Wed, 7 Jun 2017 16:43:44 +0000 (09:43 -0700)]
Merge pull request dotnet/coreclr#11994 from CarolEidt/Throughput
Streamline LSRA for non-enregistered lclVars
Commit migrated from https://github.com/dotnet/coreclr/commit/
8ad9cd160cbc716c87b804a47e552509c2910135
Mike Danes [Wed, 31 May 2017 17:33:08 +0000 (20:33 +0300)]
Disable signed magic division in minopts mode
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a5d5e59bba2417ba6c744dca8cb2fcb146a0539
Mike Danes [Wed, 31 May 2017 17:32:21 +0000 (20:32 +0300)]
Add signed magic division tables
Commit migrated from https://github.com/dotnet/coreclr/commit/
a09c598297a056489b013589694b3e7b1fde1744
Mike Danes [Wed, 31 May 2017 17:30:18 +0000 (20:30 +0300)]
Move GetSignedMagicNumberForDivide to utils.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
0435fbb7f154193dc3df35918e11945d0cf9e2b2
Mike Danes [Sat, 15 Apr 2017 18:43:14 +0000 (21:43 +0300)]
Do unsigned magic division
Commit migrated from https://github.com/dotnet/coreclr/commit/
64a4d4969363dd8a96afece3ff48e1b20cccba68
dotnet bot [Wed, 7 Jun 2017 15:47:22 +0000 (08:47 -0700)]
Update CoreClr, CoreFx to preview1-25407-02, preview1-25407-02, respectively (dotnet/coreclr#12133)
Commit migrated from https://github.com/dotnet/coreclr/commit/
be21b511fc3ee42a2db1c8ce70499efd8d82d37e
Carol Eidt [Thu, 19 Jan 2017 00:53:05 +0000 (16:53 -0800)]
Make containedness explicit
Eliminate the use of GTF_REG_VAL in RyuJIT and reuse the
bit to mark nodes as contained.
Abstract GTF_REG_VAL for legacy backend.
Commit migrated from https://github.com/dotnet/coreclr/commit/
88421f9f43a49bdbdae36c063d6397e1c333ba49
Tom Deseyn [Wed, 7 Jun 2017 08:55:08 +0000 (10:55 +0200)]
Fix FreeBSD build
Commit migrated from https://github.com/dotnet/coreclr/commit/
16ef19c51b19907e589155e8f9d24b3247c8745b
Mike McLaughlin [Wed, 7 Jun 2017 06:53:15 +0000 (23:53 -0700)]
Fix portable build sos plugin problems (dotnet/coreclr#12125)
* Fix portable build sos plugin problems.
Removing the explicit reference to liblldb. Since the lldb program has
already loaded this lib, our will now load regardless of the distro
and version of lldb.
Issue dotnet/coreclr#12098.
* Fix OSX build.
Commit migrated from https://github.com/dotnet/coreclr/commit/
eb852b90f11fca0ab1f5ff4cc76ad298650d4d5e
Tom Deseyn [Wed, 7 Jun 2017 06:39:25 +0000 (08:39 +0200)]
build{,-test}.sh: revert and add list of unsupported rids
Commit migrated from https://github.com/dotnet/coreclr/commit/
48bc0fa682d6e45c4d9b27ecc460520b44094bc0
dotnet bot [Wed, 7 Jun 2017 04:21:29 +0000 (21:21 -0700)]
Update CoreClr, CoreFx to preview1-25406-05, preview1-25406-02, respectively (dotnet/coreclr#11951)
Commit migrated from https://github.com/dotnet/coreclr/commit/
fe246f4d1f60d09925858cccd14d8300febd3c7f
Omair Majid [Wed, 7 Jun 2017 04:19:48 +0000 (00:19 -0400)]
Fix build breakage on high-processsor machines (dotnet/coreclr#12114)
The build calls `make -j $NumProc`. This breaks on machines with a high
number of procesors (such as 25).
To reproduce this on any machine, edit build.sh and change
buildTool install -j $NumProc
to
buildTool install -j 100
The error trace looks like this:
In file included from coreclr/bin/obj/Linux.x64.Debug/Generated/eventpipe/dotnetruntime.cpp:12:
In file included from coreclr/src/vm/common.h:306:
In file included from coreclr/src/vm/eepolicy.h:15:
In file included from coreclr/src/vm/vars.hpp:70:
In file included from coreclr/src/vm/eeprofinterfaces.h:19:
In file included from coreclr/src/inc/profilepriv.h:128:
In file included from coreclr/src/inc/profilepriv.inl:18:
In file included from coreclr/src/vm/eetoprofinterfaceimpl.h:23:
coreclr/src/inc/eventtracebase.h:306:10: fatal error: 'clretwallmain.h' file not found
It turns out that the eventpipe code has a dependency on
clretwallmain.h. src/CMakeLists.txt points out that clretwallmain.h is a
generated file. But there's no actual dependency between the eventpipe
target and the header file(s).
Fix that by fixing the generator script to insert an explicit dependency
between 'eventpipe' module and 'GeneratedEventingFiles' module.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f14cffc86b49cb803a6ed8e5a864f8c0c7b87f33
Jan Kotas [Wed, 7 Jun 2017 03:25:45 +0000 (20:25 -0700)]
Restore logic for when to use satellite resource lookup under AppX (dotnet/coreclr#12117)
Remove unused cache of Assembly flags while I was on it
Commit migrated from https://github.com/dotnet/coreclr/commit/
c80f895350b9327868e96abb12ff7da838bc9949
Carol Eidt [Wed, 7 Jun 2017 01:39:13 +0000 (18:39 -0700)]
More formatting
Commit migrated from https://github.com/dotnet/coreclr/commit/
e9ca8a9d66d557971ab285a1acae22677dbbf136
Carol Eidt [Wed, 7 Jun 2017 00:57:39 +0000 (17:57 -0700)]
Formatting
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf7cec69a350e380dbe895d2c41a6c38d2a91174