Fadi Hanna [Fri, 23 Aug 2019 19:43:16 +0000 (12:43 -0700)]
Replace Ubuntu 1404 platforms with 1604 (dotnet/coreclr#26302)
* Replace Ubuntu 1404 platforms with 1604
Commit migrated from https://github.com/dotnet/coreclr/commit/
460b883a45de04b3b77718ae5f945cf541d96023
Carol Eidt [Fri, 23 Aug 2019 18:23:40 +0000 (11:23 -0700)]
Repro for dotnet/coreclr#25468 (dotnet/coreclr#26009)
Also some additional dump & debugging support.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c5bad0e2f4c94733138e3c7b1f9bdc4acf2d3b7
Jan Vorlicek [Fri, 23 Aug 2019 17:32:07 +0000 (19:32 +0200)]
Remove unused runtime functions and files (dotnet/coreclr#26298)
Commit migrated from https://github.com/dotnet/coreclr/commit/
eab2a618963fc4e193501fb4e1c3fe0809c5de6d
Jan Vorlicek [Fri, 23 Aug 2019 15:03:01 +0000 (17:03 +0200)]
Fix PIE options (dotnet/coreclr#26323)
* Fix PIE options
We were missing passing the -pie linker option. That means that while we
were compiling our code as position independent, the executables
(not shared libraries) were not marked as position independent and
ASLR was not applied to them. They were always loaded to fixed addresses.
This change adds the missing -pie option and also replaces all the individual
settings of -fPIE / -fPIC on the targets we build by a centralized setting
of CMAKE_POSITION_INDEPENDENT_CODE variable that causes cmake to add the
appropriate compiler options everywhere.
* Fix native parts of coreclr tests build
The native parts of the tests are not built using the root CMakeLists.txt
so I am moving enabling the position independent code to configurecompiler.cmake
Commit migrated from https://github.com/dotnet/coreclr/commit/
f7205db2901015b721cb75a4d595441265223c21
Michal Strehovský [Fri, 23 Aug 2019 13:32:23 +0000 (15:32 +0200)]
Do not expand variant isinst check inline (dotnet/coreclr#26314)
This probably cannot be hit with vanilla CoreCLR right now (we seem to be using the slow helper for variant casts) but this got hit in a non-shipping configuration.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d7708262bc557e85ee7a8ef926cc889f7a9c15cb
Sergey Andreenko [Fri, 23 Aug 2019 06:59:41 +0000 (23:59 -0700)]
Small cleaning in JIT32_GCENCODER functions. (dotnet/coreclr#26192)
* Put gcCountForHeader under JIT32_GCENCODER.
* Prepare to extract gcIsVarUntracked.
Move `lvaIsFieldOfDependentlyPromotedStruct` up so we skip struct fields that have struct type (would be a bug if we have recursive struct promotion).
Move `if (varDsc->lvType == TYP_STRUCT`) under else, because the parent `if (varTypeIsGC(varDsc->TypeGet()) )` always skips `TYP_STRUCT`.
Merge other diffs.
That is a good example why you should not copy-paste!
* Extract gcIsUntrackedLocalOrNonEnregisteredArg.
* Update gcCountForHeader.
* Delete if (!varDsc->lvOnFrame) under if (varDsc->lvOnFrame).
I found that after the legacy backend was deleted we ended up with:
```
if (!varDsc->lvOnFrame)
{}
else
{
if (!varDsc->lvOnFrame)
{}
}
```
so i decided to delete that, but then I found that there were 2 such cases, decided to clean that and thats how this PR appeared.
* Delete useless first pass in gcMakeRegPtrTable.
Use gcCountForHeader for checking purposes.
Extract logic for WIN64EXCEPTIONS.
* Update the comment about lvIsRegArg.
* Update the header for the new function.
* Response review.
* Add a comment for the future readers.
* format fix.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e6641750e99815cfc292aaa7d6ce656021110692
Vladimir Sadov [Fri, 23 Aug 2019 02:57:06 +0000 (19:57 -0700)]
Do not clip CPU count when CPU quota is used. (dotnet/coreclr#26153)
Commit migrated from https://github.com/dotnet/coreclr/commit/
db8fc1b420be60f6a2afb153dd9e645ec231ec82
Koundinya Veluri [Fri, 23 Aug 2019 02:13:24 +0000 (19:13 -0700)]
Remove timeout in a test for GCStress modes (dotnet/coreclr#26258)
Fixes https://github.com/dotnet/coreclr/issues/25510
- Timeout will be handled by the harness
Commit migrated from https://github.com/dotnet/coreclr/commit/
34f545d0ea70ee69af622615189faa787d91d273
John Salem [Thu, 22 Aug 2019 23:46:24 +0000 (16:46 -0700)]
Move TypeSystemLog::OnKeywordsChanged from EtwCallback to EtwCallbackCommon to enable this same behavior in ETW and EventPipe. This unblocks parity for GCHeapDumps between ETW and EventPipe (dotnet/coreclr#26270)
Commit migrated from https://github.com/dotnet/coreclr/commit/
16e83a73cb2df7e2434a7332f7608fc39286ac72
Brian Sullivan [Thu, 22 Aug 2019 22:43:25 +0000 (15:43 -0700)]
Implement ilasm and ildasm support for .param constraint with Custom attributes (dotnet/coreclr#26219)
* Implement ildasm support for .param constraint with Custom attributes
* Implement ilasm support for .param constraint with Custom attributes
Commit migrated from https://github.com/dotnet/coreclr/commit/
5f0c2f35ec943fcc7a360f059af1fc5b2b9ce1f5
Tarek Mahmoud Sayed [Thu, 22 Aug 2019 22:16:46 +0000 (15:16 -0700)]
Cleanup GregorianCalendarHelper leap month checks (dotnet/coreclr#26321)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ee9920ac82a2e7452a8e973c80470e738d098f35
mikedn [Thu, 22 Aug 2019 22:13:14 +0000 (01:13 +0300)]
Fix loop hoist ordering (part I - "swap" case) (dotnet/coreclr#20650)
* Change optHoistLoopExprsForTree to use GenTreeVisitor
* Rename ArrayStack::Index to Top
Having Bottom/Top/Index is risky, sooner or later someone will get confused and use Index instead of Bottom.
* optHoistLoopExprsForTree -> optHoistLoopExprsForStmt
Change `optHoistLoopExprsForTree` to handle the entire statement tree so we no longer need the `hoistable` parameter and `optHoistCandidate` is confined to the visitor.
* optHoistLoopExprsForStmt -> optHoistLoopExprsForBlock
Now move block hoisting to optHoistLoopExprsForStmt so the visitor can maintain `firstBlockAndBeforeSideEffect` itself instead of having a bool* passed to it.
* optHoistLoopExprsForBlock -> optHoistLoopBlocks
Put the block hoisting in one place so we can reuse the visitor,
together with it's value stack and whatever memory it has allocated.
optHoistLoopExprsForBlock -> optHoistLoopBlocks
* Fix loop hoist ordering
When a non-hoistable node is encountered it is not sufficient to hoist all its hoistable children, there may be siblings that are also hoistable and since the tree is traversed in execution order they need to be hoisted first.
* Remove optTreeIsValidAtLoopHead
It is redundant. HoistVisitor traverses a tree, decides that it is invariant and attempts to hoist it using optHoistCandidate.
And optHoistCandidate calls optTreeIsValidAtLoopHead that traverses the tree again and rejects hoisting if the tree contains non-SSA variables or SSA variables defined outside the loop.
Well, just check for such cases during the traversal done by HoistVisitor, there's no need to traverse the tree twice.
* Remove bogus conditions from optHoistCandidate
Nobody's calling it with an invalid loop number or with a loop that isn't hoistable.
* Remove bogus block op check
OperIsCopyBlkOp can't be true - the GT_ASG case was already handled and what's left are STORE_BLK/OBJ nodes, but those don't appear until lowering.
* Remove bogus PHI VN check
The "It's not *really* a definition, rather a pass-through of some other VN." case doesn't actually use VNF_PhiDef functions. If it's a pass-through then the VN of the PHI is just that "other VN".
* Remove MAX_CHILDREN define
It was used only by optHoistLoopExprsForTree. It's also incompatible with the elimination of GT_LIST nodes as that makes nodes have an unbounded number of children.
* PR feedback
* Mark local nodes as hoistable/invariant
Commit migrated from https://github.com/dotnet/coreclr/commit/
f0c2c565528ebf71f41e9fa782ac4c2bb121fd7e
Jarret Shook [Thu, 22 Aug 2019 17:10:03 +0000 (10:10 -0700)]
Remove native test build from build.sh (dotnet/coreclr#26176)
* Remove native test build from build.sh
* Remove skiptests from unix documentation and yml
* Add back skiptests for winodws
Commit migrated from https://github.com/dotnet/coreclr/commit/
42e189be4fd1fbb68a13345074d726b4cf86d195
Michal Strehovský [Thu, 22 Aug 2019 17:02:43 +0000 (19:02 +0200)]
Mark methods specially handled in JitInterface Intrinsic (dotnet/coreclr#26209)
* Mark methods specially handled in JitInterface Intrinsic
For CPAOT compiler's sake.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2173d922ece1d267b60c64e19b61b3c8fdb36c04
Fadi Hanna [Thu, 22 Aug 2019 11:31:08 +0000 (04:31 -0700)]
Fix issue with local getting out of scope (dotnet/coreclr#25708)
Commit migrated from https://github.com/dotnet/coreclr/commit/
47a155800eecb965e7f49e19f6109e93f370716c
Stephen Toub [Wed, 21 Aug 2019 17:06:37 +0000 (13:06 -0400)]
Fix IDE0034 (simplify default expression)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4aa65f077778c7c05211825f98684aae9c52caaf
Stephen Toub [Wed, 21 Aug 2019 16:57:38 +0000 (12:57 -0400)]
Fix IDE0054 (use compound assignment)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2070bff3393170e2337eb78d0668fe9daf20c5f
Stephen Toub [Wed, 21 Aug 2019 16:51:58 +0000 (12:51 -0400)]
Fix (mostly) IDE0055 (formatting)
Lots of various spacing issues. I say "mostly" because I explicitly undid some changes that added to rather than reduced inconsistency, e.g. region indents. We can revisit that later.
Commit migrated from https://github.com/dotnet/coreclr/commit/
45715d1250e30823826722cfc3e6f968cec9bf3f
Stephen Toub [Tue, 20 Aug 2019 16:26:05 +0000 (12:26 -0400)]
Fix StyleCop warning SA1114 (parameter list should follow declaration)
Fixed just be removing stale/unnecessary comments.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7afef89433043d1d2e9952ea5f2ec883b6e2e346
Stephen Toub [Tue, 20 Aug 2019 16:22:38 +0000 (12:22 -0400)]
Fix StyleCop warning SA1006 (empty statements)
This is just running the rule and auto-fixing everything. I undid changes that converted e.g. `while (...);` to `while (...) { }`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef147b4841cc97c098d2e9917b2096bdb0ed665c
Stephen Toub [Tue, 20 Aug 2019 15:52:42 +0000 (11:52 -0400)]
Fix StyleCop warning SA1005 (single line comment spacing)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4bd878e0ca61b5654b0e9869f6af7e1b9241966b
Stephen Toub [Tue, 20 Aug 2019 13:29:48 +0000 (09:29 -0400)]
Fix (mostly) StyleCop warning SA1003 (operator symbol spacing)
The "mostly" here is that I undid changes where it was forcing formatting around a `: this` or `: base` call for a ctor, in particular where it was moving one up from the next line to be at the end of the current line.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3ca042455a4a1cfa3063b68eeeb698a1201d6f4
Stephen Toub [Tue, 20 Aug 2019 13:20:57 +0000 (09:20 -0400)]
Fix StyleCop warning SA1024 (colon spacing)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d74d72bc27db5897f85bb28d30a0ef1020606b23
Stephen Toub [Tue, 20 Aug 2019 13:16:19 +0000 (09:16 -0400)]
Fix StyleCop warning SA1015 (closing generic brace spacing)
Commit migrated from https://github.com/dotnet/coreclr/commit/
40d1c18bdabcd702bb4377a7702d2453391c3dd5
Stephen Toub [Tue, 20 Aug 2019 13:14:01 +0000 (09:14 -0400)]
Fix StyleCop warning SA1013 (closing brace spacing)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f390984ebff217763a8a587d4cff5686adb240bf
Stephen Toub [Tue, 20 Aug 2019 13:11:58 +0000 (09:11 -0400)]
Fix StyleCop warning SA1012 (opening brace spacing)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0290560c5211c31235496c7dd692808dcc71ed4b
Stephen Toub [Tue, 20 Aug 2019 01:27:54 +0000 (21:27 -0400)]
Fix StyleCop warning SA1008 (opening paren spacing)
Commit migrated from https://github.com/dotnet/coreclr/commit/
604264d025f794d44cdb1a8195aae0017616ec42
Stephen Toub [Tue, 20 Aug 2019 01:25:08 +0000 (21:25 -0400)]
Fix StyleCop warning SA1002 (semicolon spacing)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef4940d1332b929b9d42e7a9390cace58b01b931
Stephen Toub [Tue, 20 Aug 2019 01:17:07 +0000 (21:17 -0400)]
Fix StyleCop warning SA1001 (commas followed by whitespace)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e511bdacffaf58f652de82195b88a2cbeb89e4a7
Jan Vorlicek [Wed, 21 Aug 2019 05:11:24 +0000 (07:11 +0200)]
Remove unused PAL functions (dotnet/coreclr#26277)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5068bb8820ebd1820e70aea091bf56b19ae84f13
David Wrighton [Wed, 21 Aug 2019 00:30:10 +0000 (17:30 -0700)]
Add support ildasm to support the metadata option again. (dotnet/coreclr#26266)
Fixes issue dotnet/coreclrdotnet/coreclr#26265
Commit migrated from https://github.com/dotnet/coreclr/commit/
d141466a04924f09bb7f4578a78919b1e20b556e
Matt Galbraith [Tue, 20 Aug 2019 23:19:50 +0000 (16:19 -0700)]
Merge pull request dotnet/coreclr#26177 from MattGal/update-more-docker-images
Update docker images to pick up ones with LibGDIPlus preview builds
Commit migrated from https://github.com/dotnet/coreclr/commit/
b10204bcae58eeacacdd11622e03a3330fafd4da
Jakob Botsch Nielsen [Tue, 20 Aug 2019 21:44:53 +0000 (14:44 -0700)]
Mark emitted types assembly as collectible in ABI stress (dotnet/coreclr#26253)
This makes it compatible with RunInContext.
Commit migrated from https://github.com/dotnet/coreclr/commit/
25cd347a0273c1889d70a4e63257138a3eca0715
Sergey Andreenko [Tue, 20 Aug 2019 21:42:32 +0000 (14:42 -0700)]
Rename WIN64EXCEPTIONS to FEATURE_EH_FUNCLETS. (dotnet/coreclr#26220)
* Use FEATURE_EH_FUNCLETS in jit as WIN64EXCEPTIONS is used in VM.
It will help as to add this as global defenition and replace WIN64EXCEPTIONS with it.
* Make FEATURE_EH_FUNCLETS available for VM.
Note that we do not add this define to jit\linuxnonjit for x86,
because it needs FEATURE_PAL to be defined on x86 Linux and
FEATURE_PAL is not defined when we are running linux altjit on Windows.
* Rename WIN64EXCEPTIONS to FEATURE_EH_FUNCLETS.
* Delete WIN64EXCEPTIONS.
That was confusing because it was defined on Linux x64/arm64 and on Windows arm32.
* Define DFEATURE_EH_FUNCLETS later in the file, with a condition.
* Fix two typos in comments.
Commit migrated from https://github.com/dotnet/coreclr/commit/
84d4ed44b5c7f1b3db6e9ae3c71e8e1bb585bbaf
Jarret Shook [Tue, 20 Aug 2019 21:02:08 +0000 (14:02 -0700)]
Mark nogc as a long running gc test (dotnet/coreclr#26236)
This test has been repeatedly flaky in CI
Commit migrated from https://github.com/dotnet/coreclr/commit/
6895ad7b6c0237ec5b33ae6139dc5c6ecdfdeec7
Stephen Toub [Tue, 20 Aug 2019 19:21:27 +0000 (15:21 -0400)]
Avoid race condition in DiagnosticCounter (dotnet/coreclr#26260)
* Avoid race condition in DiagnosticCounter
If while a DiagnosticCounter instance is being created the timer fires to process counters, the timer may end up evaluating a DiagnosticCounter whose constructor or derived types' constructor hasn't finished configuring the instance's state yet.
* Remove unnecessary #if
Commit migrated from https://github.com/dotnet/coreclr/commit/
5ae4f6d650b001f61961316206b373c9c71e5fe5
John Salem [Tue, 20 Aug 2019 16:40:11 +0000 (09:40 -0700)]
Fix IPC response for CollectTracingV2 (dotnet/coreclr#26224)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0467a570d1e37fccd125dac4fb6953c37458ab41
Ryan Lucia [Tue, 20 Aug 2019 14:45:03 +0000 (10:45 -0400)]
Move AssemblyLoadContext VM-invoked static resolve methods to shared (dotnet/coreclr#26248)
Shared between CoreCLR and Mono. Mono began using a copy of these methods with https://github.com/mono/mono/pull/16256/
Commit migrated from https://github.com/dotnet/coreclr/commit/
d305063523370cfe3b728898df9b4e67acd6e3cb
madmir [Tue, 20 Aug 2019 00:59:07 +0000 (02:59 +0200)]
Re-enable xunit warning 1019 (dotnet/corefxdotnet/coreclr#40415)
Make MemberData reference IEnumerable<object[]>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
b7cc21b66cabfb6ebc2d205dcf4bf353a5174d26
David Mason [Tue, 20 Aug 2019 03:17:18 +0000 (20:17 -0700)]
Update crtsts (dotnet/coreclr#26238)
Commit migrated from https://github.com/dotnet/coreclr/commit/
1283331fcfe9f475586b8dfd1fe2784e3252fe33
Aaron Robinson [Tue, 20 Aug 2019 01:25:13 +0000 (18:25 -0700)]
Create flag to skip test jobs on internal builds (dotnet/coreclr#26261)
* Create flag to skip test jobs on internal builds
Commit migrated from https://github.com/dotnet/coreclr/commit/
ab866093506c6fe38360e69a50733f37d8c7bdfc
Stephen Toub [Tue, 20 Aug 2019 00:58:20 +0000 (20:58 -0400)]
Remove unused usings from Corlib (dotnet/coreclr#26250)
* Fix IDE0065 (misplaced using)
* Fix IDE0005 (remove unnecessary usings)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b51cde6de82c25638de81bc1202e51cfd0b086a8
Juan Hoyos [Tue, 20 Aug 2019 00:12:41 +0000 (17:12 -0700)]
Use function-local StackingAllocator for adding EnC methods (dotnet/coreclr#26106)
As adding EnC methods happens on the Debugger Thread, there's no managed Thread object from which to obtain the cached StackingAllocator. Instead, just use a function-local StackingAllocator.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a2fa078d7cf18f8e51cdc34f1c8b322691e10c1
Sung Yoon Whang [Mon, 19 Aug 2019 20:22:54 +0000 (13:22 -0700)]
Add a check before firing events (dotnet/coreclr#25501)
Commit migrated from https://github.com/dotnet/coreclr/commit/
04b8663d62e5f0903b1a90eb0f63009980e6a5c5
Jan Kotas [Mon, 19 Aug 2019 19:00:27 +0000 (21:00 +0200)]
Change missed by the mirror (dotnet/coreclr#26251)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b08d1d49ec227baa68064fffe13483e46f0e8edf
Koundinya Veluri [Mon, 19 Aug 2019 18:22:30 +0000 (11:22 -0700)]
Use native code slot for default interface methods (dotnet/coreclr#25770)
- So that `MethodDesc::GetNativeCode()` can retrieve the current native code entry point (instead of returning null as before), and code versioning can find a matching code version from the code start address
- Interface methods currently require having a precode, so the "method entry point" can't be used to directly store the native code entry point
- Reenabled a couple of default interface method tests under GCStress
- Other small cleanup
Fixes https://github.com/dotnet/coreclr/issues/25690
Commit migrated from https://github.com/dotnet/coreclr/commit/
98bf56a2cf19645563b41ab01f6972cbe83c9d44
Nikita Zhikharev [Mon, 19 Aug 2019 02:18:21 +0000 (05:18 +0300)]
Fixing spelling errors in BotR chapters (dotnet/coreclr#26237)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e1fa3c83171e09ec29481c82c3042c30146fc4d4
Jan Kotas [Mon, 19 Aug 2019 02:14:03 +0000 (19:14 -0700)]
Revert "Update proftoeeinterfaceimpl.cpp"
This reverts commit dotnet/coreclr@
bd6116b6b7d06450f4973a62c080ce827ef004f8.
Commit migrated from https://github.com/dotnet/coreclr/commit/
deb2983cf50f8790ebc656a34236703d2efb9dd8
David Mason [Sun, 18 Aug 2019 23:12:01 +0000 (16:12 -0700)]
Update proftoeeinterfaceimpl.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
bd6116b6b7d06450f4973a62c080ce827ef004f8
Jakob Botsch Nielsen [Sun, 18 Aug 2019 21:50:38 +0000 (14:50 -0700)]
Remove redundant ABI stress tests (dotnet/coreclr#26183)
* Properly optimize in ABI stress tests
* Delete useless tests
The debug type does not affect the dynamically generated code at all.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a0bb6351629bac1eeed84f169e6cfa8a12ae0eb9
Stephen Toub [Sun, 18 Aug 2019 00:37:22 +0000 (20:37 -0400)]
Undo use of Index/Range in files compiled into netfx-compat assemblies
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
5365382cf1734aecce8d22f2c0ab8b907e3c673f
Jan Kotas [Sun, 18 Aug 2019 06:20:00 +0000 (23:20 -0700)]
Fix CoreRT build breaks
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
f1ac0f6b9b6ae63e72f444f2be16d1009ed8d47e
Stephen Toub [Fri, 16 Aug 2019 15:24:54 +0000 (11:24 -0400)]
Fix IDE0066 across corefx (dotnet/corefxdotnet/coreclr#40288)
* Fix IDE0066 across corefx
"Fix all", but then manual tweaking to accommodate places the rule doesn't work quite right.
* Address PR feedback
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6f0c0a4fad1f8dad21fa41257f79074181a5789
Stephen Toub [Sun, 18 Aug 2019 05:19:36 +0000 (01:19 -0400)]
Remove useless GetLongPathNameW call (dotnet/coreclr#26210)
Immediately after calling this we're going to loop around and call it again at the beginning of the while loop.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8633aff4be85e00fdb2cecc9e9743fed10ef0385
Jarret Shook [Sun, 18 Aug 2019 05:00:24 +0000 (22:00 -0700)]
Create upload task in superpmi (dotnet/coreclr#26226)
* Create upload task in superpmi
In addition allow downloading specific mch collections if there are multiple collections available.
* Address feedback
* Add return
Commit migrated from https://github.com/dotnet/coreclr/commit/
f1741db8794d0aa2125012e00065591de12533d4
Stephen Toub [Sun, 18 Aug 2019 00:52:27 +0000 (20:52 -0400)]
Fix DecoderExceptionFallbackBuffer message (dotnet/coreclr#26211)
When the number of unknown bytes is exactly 20, the message includes a misleading " ..." at the end.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b291538ed18d906fc4be39bc385068633eccbbfe
Stephen Toub [Fri, 16 Aug 2019 20:55:01 +0000 (16:55 -0400)]
Fix IDE0025 (use expression body for properties)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8a2c065cdfddb93be6fb3f1075268abc77d07723
Stephen Toub [Fri, 16 Aug 2019 20:30:44 +0000 (16:30 -0400)]
Fix IDE0056 (use index operator)
Commit migrated from https://github.com/dotnet/coreclr/commit/
52c6c771feea9ad8b9e86834eed96570ef2c7dcc
Stephen Toub [Fri, 16 Aug 2019 20:23:17 +0000 (16:23 -0400)]
Fix IDE0057 (use range operator)
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a3b806e8cb5f641633de4591ce3130a1949fd44
Stephen Toub [Fri, 16 Aug 2019 20:12:34 +0000 (16:12 -0400)]
Fix IDE0054 (use compound assignment)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a5845f266fac36d07414990c7faab6fa0d4a1ce
Stephen Toub [Fri, 16 Aug 2019 14:04:30 +0000 (10:04 -0400)]
Fix IDE0060 (unused parameter)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4510509e4d17102670b0a3271aaf68f571a5753b
Stephen Toub [Fri, 16 Aug 2019 14:03:50 +0000 (10:03 -0400)]
Fix IDE0059 (unnecessary assignment)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4f12c23bc4b17bdf8cc0d82bc04342158f077bc0
Stephen Toub [Fri, 16 Aug 2019 13:06:04 +0000 (09:06 -0400)]
Fix IDE0029 (use coalesce expression)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3e61222f2c42637a1b88d69c19e28e9cff60b238
Stephen Toub [Fri, 16 Aug 2019 13:05:00 +0000 (09:05 -0400)]
Fix IDE0031 (use null propagation)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5ea8e2d33b8981f1f99f33cf89b93f7e7b635bb0
Stephen Toub [Thu, 15 Aug 2019 21:29:16 +0000 (17:29 -0400)]
Fix IDE0028 (collection initializers)
Commit migrated from https://github.com/dotnet/coreclr/commit/
67b9710c32a795a7e98f8fe94ba602a2c2993892
Stephen Toub [Thu, 15 Aug 2019 20:31:52 +0000 (16:31 -0400)]
Fix IDE0008 (use explicit type instead of var)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a11131ccfeec81ced0124c519b947c30d4ddd75
Stephen Toub [Thu, 15 Aug 2019 19:09:43 +0000 (15:09 -0400)]
Fix IDE0065 (using directives should be outside of a namespace)
Commit migrated from https://github.com/dotnet/coreclr/commit/
662553a0cebe746542356e56f4831a8af28ecd4b
Stephen Toub [Thu, 15 Aug 2019 19:04:04 +0000 (15:04 -0400)]
Fix IDE0019/20 (Use pattern matching)
Commit migrated from https://github.com/dotnet/coreclr/commit/
fcc82b49cccb4cb01de1fb51ad1bbf3829e4f65d
Juan Hoyos [Fri, 16 Aug 2019 23:28:53 +0000 (16:28 -0700)]
Update Docker build instructions for Linux (dotnet/coreclr#26222)
* Update linux-instructions.md
* Add instructions on how to find images used for official Linux builds
Commit migrated from https://github.com/dotnet/coreclr/commit/
b9177c03b592a0583af576530552ecca0d8b2ad9
Jeremy Koritzinsky [Fri, 16 Aug 2019 22:33:06 +0000 (15:33 -0700)]
Explicitly handle char marshalling in OleVariant::GetNativeMet… (dotnet/coreclr#26218)
* Explicitly handle char marshalling in OleVariant::GetNativeMethodTableForVarType.
* Added test case for ByVal Unicode Char Array.
* Fix contracts and remove unneeded GC transition.
Commit migrated from https://github.com/dotnet/coreclr/commit/
72ceb36dbd4777461740e25099c83d9be5b3a7ff
Sergey Andreenko [Fri, 16 Aug 2019 18:24:46 +0000 (11:24 -0700)]
Delete TRACK_GC_TEMP_LIFETIMES. (dotnet/coreclr#26198)
I was able to track this define back to 2005 and it was never set to 1.
Probably it was a debug/diagnostic switch, does anybody think that it is still useful/working?
Commit migrated from https://github.com/dotnet/coreclr/commit/
f17ece0a2d06b0662568ff4861f9be71cc2d4acc
Jan Vorlicek [Fri, 16 Aug 2019 17:45:12 +0000 (19:45 +0200)]
Enable MHR support on OSX (dotnet/coreclr#26193)
* Enable MHR support on OSX
* Move JIT_WriteBarrier that is modified at runtime to a dynamically
allocated memory instead of making a page in libcoreclr.dylib RWX.
* Update PAL to add MEM_JIT flag for allocations and reservations of
executable memory.
* Update native runtime in EH and stack unwinding areas so that it can
unwind from the write barrier copy. That code has no unwind info, so
without special handling, runtime would not be able to unwind from
it.
* Fix JIT_Stelem_Ref calls to JIT_WriteBarrier
Commit migrated from https://github.com/dotnet/coreclr/commit/
0e64ecf712da163d0f091c76705e400e55a2b87a
Michelle McDaniel [Fri, 16 Aug 2019 16:03:48 +0000 (09:03 -0700)]
Add perf pipeline (dotnet/coreclr#26188)
* Add performance testing pipeline
* Specify netcoreapp5.0 framework
* Add windows x86
* Address feedback
* Remove stale comment
* Remove unnecessary parameters
Commit migrated from https://github.com/dotnet/coreclr/commit/
a337302babdb07387e5777c42748c3788ee317b6
Jan Vorlicek [Thu, 15 Aug 2019 23:52:25 +0000 (01:52 +0200)]
Fix ARM64 HFA arguments passing via reflection (dotnet/coreclr#26174)
* Fix ARM64 HFA arguments passing via reflection
There was an issue happening in case there were not enough floating point
registers for passing a HFA argument. The argument iterator was returning
confusing result for such argument. The offset was correctly pointing to
stack, but the state indicated that the arguments should be passed in
registers. That caused the argument to be passed incorrectly.
The fix is to not set m_hasArgLocDescForStructInRegs when the HFA doesn't
fit into registers.
Commit migrated from https://github.com/dotnet/coreclr/commit/
230c33193842d28c8d6c2a341563f7defd4febc4
Aaron Robinson [Thu, 15 Aug 2019 22:55:31 +0000 (15:55 -0700)]
Add symbol publishing exclusion list (dotnet/coreclr#26180)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e42dc29fd5487b2ac149a1bff8fa0da261d0b362
Egor Chesakov [Thu, 15 Aug 2019 21:45:50 +0000 (14:45 -0700)]
Deprecate OSX 10.12 Helix queues (dotnet/coreclr#26194)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3ed10b57f4d4433190d14186e1d4c772e0685081
John Salem [Thu, 15 Aug 2019 21:22:38 +0000 (14:22 -0700)]
Account for quoted values in provider filter string (dotnet/coreclr#26159)
* Account for quoted values in provider filter string
* Add comments detailing logic
Commit migrated from https://github.com/dotnet/coreclr/commit/
7f5bbb1c84dc5a1c0aad8ea2fcae0d9cb41e8b81
Stephen Toub [Thu, 15 Aug 2019 12:17:46 +0000 (08:17 -0400)]
Fix non-ASCII characters across corefx (dotnet/corefxdotnet/coreclr#40318)
* Fix several non-visible characters in test files
* Replace Unicode surrogate pairs with escaped hex values
* Fix non-ASCII characters in most C# files
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
2af25277cfc7162fe5f64fcfce901502e3859218
Jan Vorlicek [Thu, 15 Aug 2019 09:43:37 +0000 (11:43 +0200)]
Fix GenerateShuffleArray to support cyclic shuffles (dotnet/coreclr#26169)
* Fix GenerateShuffleArray to support cyclic shuffles
The GenerateShuffleArray was not handling case when there was a cycle in
the register / stack slots shuffle and it resulted in an infinite loop
in this function. This issue is Unix Amd64 ABI specific.
To fix that, this change reworks the algorithm completely. Besides
fixing the issue, it has also better performance in some cases.
To fix the cyclic shuffling, I needed an extra helper register. However,
there was no available general purpose register available, so I had to
use xmm8 for this purpose.
* Remove special handling of the hang from ABI stress
Commit migrated from https://github.com/dotnet/coreclr/commit/
94b27e2b0bfd7cfe915816a44906b61f055da139
Jan Kotas [Tue, 13 Aug 2019 20:18:33 +0000 (13:18 -0700)]
Undo readonly on _isLastFrameFromForeignExceptionStackTrace
This makes the field symmetric with other fields and fixes build break for CoreRT
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
9fa3e5e5bd570f2d81ed8cc5fb48b452f4c9c681
Vitek Karas [Thu, 15 Aug 2019 05:21:01 +0000 (22:21 -0700)]
Remove unused method (dotnet/coreclr#26168)
Commit migrated from https://github.com/dotnet/coreclr/commit/
bc1bf27bd1b58a34b169b77988b74e58273be2a4
Jeremy Koritzinsky [Thu, 15 Aug 2019 02:21:16 +0000 (19:21 -0700)]
Remove knowledge of specific field marshalers from non-marshalling subsystems (dotnet/coreclr#21415)
* Generalize important NFTs into NativeFieldCategory's. This way in the future we can expose those externally and have less integration between our field marshalling and other parts of the runtime.
* Attempt to refactor SystemV classification to use NativeFieldSubcategories instead of NFTs.
* Add default body for FieldMarshaler_NestedType::GetNestedMethodTableImpl since UNUSED_METHOD_IMPL only works for VOID returning methods.
* Remove unused nsenumhandleallcases machinery.
* Rename the NativeField(Sub)Categories.
* Make enums 2-bytes wide to allow us to shrink the FieldMarshaler size.
* Fix inconsistency in enum member names.
* Rename NativeFieldCategory->NativeFieldFlags.
* Remove NFC_SAFE_ARRAY and split NFC_OTHER into NFC_WELL_KNOWN and NFC_ILLEGAL with a NFSC_OTHER subcategory.
* Enable tracking blittability via nativefieldflags.h.
* Always use the NFTDataBase to look up native size when possible.
* Use C++11 standard alignas to enforce alignment of m_FieldMarshaler.
* Add more comments to what NFSC_OTHER represents.
* Change elseif OTHER to else to match original behavior.
* Remove m_nft member from LayoutRawFieldInfo.
* Refactor last NFT uses outside of initialization and stringification. Refactor disqulaification from managed sequential layout into a separate function from ParseNativeType.
* PR Feedback.
* Use template-based InitFieldMarshaler instead of macro.
Make SetNStructFieldType and SetNativeFieldFlags private.
* Clean up visibility of members on FieldMarshaler
* Move nft<->FieldMarshaler mapping to directly hang off each FieldMarshaler_* subclass.
* Reduce the number of native field subcategories. Make FieldMarshaler_NestedType have enough knowledge to allow us to remove the SystemV classifier's knowledge of FieldMarshaler_FixedArray.
Fix miscatoregorization of float and double fields
Fix build break and in-array field offset calculations.
* Clean up comments in nativefieldflags.h
* PR Feedback.
* Misc fixes that were lost in rebase.
* Add NativeVariant type for GetNativeMethodTableForVarType.
* Revert change to VT_VOID since I don't think its needed.
* Fix typo
* Enable PInvoke/DateTime test off-Windows.
* Enable decimal fields to be enregistered on SystemV (and structures containing decimal to be considered blittable). Fixes dotnet/coreclr#25974 in this branch.
* Due to alignment differences, decimal fields can't be blittable. Make decimal fields non-blittable.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d0b65d12cc9d692b2f78062fa9621a120470afbd
Matt Galbraith [Wed, 14 Aug 2019 21:02:34 +0000 (14:02 -0700)]
Update docker images to pick up ones with LibGDIPlus preview builds in them.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a97f62e85eb1a31e443370d115cb20e6bd83161
Egor Chesakov [Wed, 14 Aug 2019 18:05:39 +0000 (11:05 -0700)]
Build tests as SDK projects (dotnet/coreclr#25761)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8e48470c613b3246932f424e6326d088ee9c419f
Aaron Robinson [Wed, 14 Aug 2019 17:54:23 +0000 (10:54 -0700)]
Test set continueOnError to 'true' only on internal builds. (dotnet/coreclr#26172)
- This is done to enable publishing regardless of test failures.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9e9b9eea0988ea5c3a7071ee5861cdc9e3ffa179
Stephen Toub [Wed, 14 Aug 2019 06:18:06 +0000 (02:18 -0400)]
Delete dead _pauseTicks from TimerQueue (dotnet/coreclr#26160)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2c0bc4aa34a8b55d4d6de016fbe5e85a4c73e8a
Jakob Botsch Nielsen [Wed, 14 Aug 2019 05:33:31 +0000 (22:33 -0700)]
Add ABI stress tests (dotnet/coreclr#26090)
* Add ABI stress tests
This adds stress tests that dynamically generates methods with different
signatures and tests calls to them. It tests both tailcalls to them and
pinvokes to them (caller -> pinvoke -> reverse pinvoke -> callee).
* Add arm32 abi stress support
* Write prettier signatures
* No structs >= 17 bytes on Arm64
These are passed by-ref.
* Do not test thiscall on winx86
* Mark tests GC/JIT stress incompatible
* Address feedback and some small improvements
* Exclude ABI stress on arm32
* Disable ABI stress on arm32 try 2
* Address some feedback, fix some comments
* Some more comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf033773808221a27cae8096a06bdd3d3e09e39f
Elinor Fung [Wed, 14 Aug 2019 02:39:32 +0000 (19:39 -0700)]
Add ci argument to build script instead of checking environment variable (dotnet/coreclr#26150)
* Add ci argument to build script instead of checking environment variable
* Remove explicit passing of ContinuousIntegrationBuild in pipeline job
Commit migrated from https://github.com/dotnet/coreclr/commit/
18fa1d0b9934cc8f09a1cc0979bd325b6a97c108
Stephen Toub [Tue, 13 Aug 2019 19:50:35 +0000 (15:50 -0400)]
Fix StyleCop warnings for rules enabled in corefx
Commit migrated from https://github.com/dotnet/coreclr/commit/
952ded9f0a9f513d50bbd28301864a6b6c1aa158
Stephen Toub [Mon, 12 Aug 2019 20:45:34 +0000 (16:45 -0400)]
Enable StyleCop rules 1205, 1411, 1026, and 1000 (dotnet/corefxdotnet/coreclr#40254)
* Fix StyleCop warning SA1411 (attribute ctor shouldn't use unnecessary parens)
* Fix StyleCop warning SA1026 (new[] spacing)
* Fix StyleCop warning SA1000 (consistent spacing around if, for, switch, etc.)
* Fix StyleCop warning SA1205 (partial elements should declare an access modifier)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
6015c8415f42c73a12292f73214875ca3864d12d
Aaron Robinson [Tue, 13 Aug 2019 23:07:11 +0000 (16:07 -0700)]
Fix the targeted blob feed URL (dotnet/coreclr#26157)
Commit migrated from https://github.com/dotnet/coreclr/commit/
1cec35aa2cc75a78701fb523313e9a9894e73d82
Aaron Robinson [Tue, 13 Aug 2019 21:06:59 +0000 (14:06 -0700)]
Unblock official build publish (dotnet/coreclr#26151)
* Address issue in Arcade for publishing artifact category.
* Create mechanism to indicate warnings should not be treated as errors.
- This will be automatically reverted on the next Arcade insertion.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bf9f5a7444fdabaa37b1575b4b2455fda2ab5cb5
Stephen Toub [Tue, 13 Aug 2019 18:05:56 +0000 (14:05 -0400)]
Convert several static readonly byte[]s to ReadOnlySpan<byte> (dotnet/coreclr#26138)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4fae816227800ad3edc8dd45b7b6eff9d5bf7377
Stephen Toub [Fri, 9 Aug 2019 19:18:50 +0000 (15:18 -0400)]
Fix IDE1005 (simplify delegate invocation)
Commit migrated from https://github.com/dotnet/coreclr/commit/
cbf8ac8c3863b61a644801ddf1894f5fb77d8248
Stephen Toub [Fri, 9 Aug 2019 19:15:07 +0000 (15:15 -0400)]
Fix IDE0062 (make local functions static)
Commit migrated from https://github.com/dotnet/coreclr/commit/
117217ff8e8b8b9aaf5655b808354521b49a0f9f
Stephen Toub [Fri, 9 Aug 2019 18:59:12 +0000 (14:59 -0400)]
Contribute to IDE0060 (unused argument)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6426282d912164ce7e806faccaf6ca4940cf36f8
Stephen Toub [Fri, 9 Aug 2019 17:53:24 +0000 (13:53 -0400)]
Contribute to IDE0059 (unnecessary assignment)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3561b8b30d1251c1e4dbab5cbbd6f5c2a81bd8a0
Stephen Toub [Fri, 9 Aug 2019 15:55:23 +0000 (11:55 -0400)]
Contribute to IDE0019 (use pattern matching) and IDE0066 (use switch expression)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c052397f92ad73bcf8b30281eec3cb85abdb3b56
Stephen Toub [Fri, 9 Aug 2019 15:32:32 +0000 (11:32 -0400)]
Contribute to IDE0044 (make field readonly)
I used the auto-fix and then undid changes in areas where the fields were potentially mutated in native, e.g. I undid many of the changes in reflection. We can revisit those individually later.
Commit migrated from https://github.com/dotnet/coreclr/commit/
cead92222cb951eab80ed2bc3c2fc55cccd226e0
Jan Kotas [Tue, 13 Aug 2019 11:18:19 +0000 (13:18 +0200)]
Rename _WIN64 define to BIT64 (dotnet/coreclr#26080)
Avoids confusion with _WIN64 being defined even on Unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
ab2f9caaf35c96d029b96aa171ee65d04253cf7c