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
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
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
Carol Eidt [Tue, 16 May 2017 23:56:05 +0000 (16:56 -0700)]
Streamline LSRA for non-enregistered lclVars
- Don't create any lclVar intervals if no lclVars are ever enregistered.
- Don't create intervals for tracked lclVars that are not register candidates.
- Don't create any `RegToVarMap`s when no lclVars are ever enregistered.
- Don't do edge resolution if no lclVars are enregistered.
- Eliminate non-candidate lclVars from the sets used by LSRA.
Also:
- Change VarToRegMap to use regNumberSmall.
- Enhance `COMPLus_JitLsraStats` and `COMPlus_JitTimeLogCsv` dumping.
Commit migrated from https://github.com/dotnet/coreclr/commit/
47050655f1ce630ddcdd999bcde9a535d9b3b9dd
Bruce Forstall [Tue, 6 Jun 2017 23:37:40 +0000 (16:37 -0700)]
Remove use of gtEffectiveVal in RyuJIT codegen
This is not required in RyuJIT at the codegen phase: COMMA and
value-producing NOPs are no longer in place.
Commit migrated from https://github.com/dotnet/coreclr/commit/
423cae3a1fdeb8ef975047b4969e983946c2a825
Joseph Tremoulet [Tue, 6 Jun 2017 22:46:55 +0000 (18:46 -0400)]
Merge pull request dotnet/coreclr#12113 from JosephTremoulet/NoTailStress
Stop extraneously setting tail call stress
Commit migrated from https://github.com/dotnet/coreclr/commit/
9656975264b39e28465fe01711563c40fe598119
William Godbe [Tue, 6 Jun 2017 22:03:23 +0000 (15:03 -0700)]
Merge pull request dotnet/coreclr#12119 from wtgodbe/StableVersion
Fix error with Stable Version
Commit migrated from https://github.com/dotnet/coreclr/commit/
585ca2e8c0fe4d4e35786ec6d455ccf392540861
wtgodbe [Tue, 6 Jun 2017 21:59:31 +0000 (14:59 -0700)]
Fix error with Stable Version
Commit migrated from https://github.com/dotnet/coreclr/commit/
eb1f17fc62b4b5250bdd459a871e867c34a905f9
Bruce Forstall [Tue, 6 Jun 2017 21:14:03 +0000 (14:14 -0700)]
Merge pull request dotnet/coreclr#12079 from hseok-oh/ryujit/fix_11850
[RyuJIT/ARM32] Fix assertion when struct argument passing less than 4 byte
Commit migrated from https://github.com/dotnet/coreclr/commit/
25fead1c0dfae680696b9885cae0e7ec3dc3f3f6
William Godbe [Tue, 6 Jun 2017 21:07:04 +0000 (14:07 -0700)]
Merge pull request dotnet/coreclr#11897 from wtgodbe/TestCorrectVersion
Test packages from current build in pipeline
Commit migrated from https://github.com/dotnet/coreclr/commit/
df24237732067741f3613c09a775ed0fb53c9df5
sergey ignatov [Tue, 6 Jun 2017 20:11:38 +0000 (23:11 +0300)]
Fix for CoreRT issue https://github.com/dotnet/corert/issues/3672 (armel tizen) (dotnet/coreclr#12104)
Commit migrated from https://github.com/dotnet/coreclr/commit/
73287a13f4028835182126b93f3935b6e99cb0aa
Joseph Tremoulet [Tue, 6 Jun 2017 20:11:17 +0000 (16:11 -0400)]
Stop extraneously setting tail call stress
Tests GitHub_10780 and GitHub_11689 are repro cases for issues that don't
have anything to do with tail calls; the bit of code in their csproj's
that sets COMPlus_TailCallStress was an accidental copy-paste inclusion
from GitHub_11408. Remove that extra code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
51db0371abd26362b539813b1c0a8e6356ebf2e0
wtgodbe [Wed, 24 May 2017 21:34:46 +0000 (14:34 -0700)]
Test packages from current build in pipeline
Commit migrated from https://github.com/dotnet/coreclr/commit/
029a54431d17569b6656ed644de426d3f4f8d346
Carol Eidt [Tue, 6 Jun 2017 18:47:33 +0000 (11:47 -0700)]
Merge pull request dotnet/coreclr#12069 from CarolEidt/CrossGenMinOpts
Support COMPlus_JITMinOpts for crossgen
Commit migrated from https://github.com/dotnet/coreclr/commit/
e3e870ed7d5d6bf92a740712385ede9346c31262
Brian Sullivan [Tue, 6 Jun 2017 18:06:20 +0000 (11:06 -0700)]
Fixed the loading of ReadyToRun tuning native image
Corrected the new ifdef that prevented the loading of tuning/profiling ReadyToRun native images
Commented out a costly precondition check, it is always true at all callsites.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5a298a4ac8c0370c0c2417b56f58b97764c79238
Omair Majid [Tue, 6 Jun 2017 17:28:09 +0000 (13:28 -0400)]
Rename CMAKE_ENABLE_CODE_COVERAGE to CLR_CMAKE_ENABLE_CODE_COVERAGE (dotnet/coreclr#12106)
Commit migrated from https://github.com/dotnet/coreclr/commit/
794eca076a882fcd2639fa692ca457150940231b
Sergey Andreenko [Tue, 6 Jun 2017 17:19:11 +0000 (10:19 -0700)]
new JitEE interface method: expandRawHandleIntrinsic (dotnet/coreclr#12071)
Create a new JitEE method expandRawHandleIntrinsic. Delete old isDelegateCreationAllowed and getAddrModuleDomainID.
Support CORINFO_INTRINSIC_GetRawHandle.
Change JITEEVersionIdentifier.
fix MEASURE_CLRAPI_CALLS: add resolveVirtualMethod and expandRawHandleIntrinsic there.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b23a11e834074e3e030b42fc8d93083e15b7545d
Sean Gillespie [Tue, 6 Jun 2017 17:05:50 +0000 (10:05 -0700)]
Fix a bad merge for Windows standalone GC build (dotnet/coreclr#12097)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b68851126b20e4ad40219760bfe80b73fb6db835
Petr Bred [Tue, 6 Jun 2017 15:59:40 +0000 (18:59 +0300)]
Fix crash due to lack of PSPSym in the CoreRT ABI (dotnet/coreclr#12082)
Signed-off-by: Petr Bred <bredpetr@gmail.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
c87487709235e22217a57aee3703138825db3a39
Tom Deseyn [Tue, 6 Jun 2017 08:42:28 +0000 (10:42 +0200)]
build.sh: fall back to portable linux when Linux host has unknown rid
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf37adf13f844eff9b8693b62cefe2853bed7346
Sean Gillespie [Tue, 6 Jun 2017 05:23:46 +0000 (22:23 -0700)]
[Local GC] Add TrapReturningThreads to the GC/EE interface (dotnet/coreclr#12067)
Commit migrated from https://github.com/dotnet/coreclr/commit/
bab2cc30b1516cd257aba763c7a1c06497219ede
Viktor Hofer [Mon, 5 Jun 2017 23:17:54 +0000 (01:17 +0200)]
TypeForwardedFrom attributes on coretypes for NetFX serialization (dotnet/coreclr#12059)
* TypeForwardedFrom attributes on coretypes for NetFX serialization
* ValueTuple added
* Removed StubEnvironment typeforwards
* Modified FQAN for some special type forwards
* Support desktop to core serialization with InternalsVisibleTo for mscorlib
* Remove typeforwards from nested types
* Removed unused file
Commit migrated from https://github.com/dotnet/coreclr/commit/
5b9680fcc9b6fe9429f4a649bf5215de273fcbec
Jan Kotas [Mon, 5 Jun 2017 19:38:24 +0000 (12:38 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3793 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/
be6dc5d8895658cc03204231dc39aff516033683
Sean Gillespie [Mon, 5 Jun 2017 22:42:03 +0000 (15:42 -0700)]
Disable AppDomainLeaks configuration option for now until it is removed (dotnet/coreclr#12095)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4b7e3ef155f6b1c149a5345109d8a03f3efcc187
Brian Sullivan [Mon, 5 Jun 2017 22:28:48 +0000 (15:28 -0700)]
Merge pull request dotnet/coreclr#11205 from mskvortsov/FixFloatingLdSt
[RyuJIT/ARM32] Workaround vstr/vldr addressing modes limitations
Commit migrated from https://github.com/dotnet/coreclr/commit/
4a796cfcf3cf210150a541c7a9f136fb2f008b31