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
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
John Salem [Mon, 12 Aug 2019 23:55:45 +0000 (16:55 -0700)]
Change preconditions to only check for null m_pSerializer and NOT write errors (dotnet/coreclr#25891)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d2fda99276abb6ed0df96b7a5db53758d09a0bc
Stephen Toub [Fri, 9 Aug 2019 14:42:01 +0000 (10:42 -0400)]
Fix StyleCop warning SA1400 (missing access modifiers)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d27a3ce086d66673e2da3b768340b3cf19ea7b3
Stephen Toub [Mon, 12 Aug 2019 12:29:20 +0000 (08:29 -0400)]
Re-enable StyleCop warning SA1400 (elements should specify access) (dotnet/coreclr#40240)
One of the more common things we "nit" in PRs. Now the compiler will flag it for us.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
12f9137be956308230916d8d19a07cc1fb43e39d
Stephen Toub [Mon, 12 Aug 2019 20:48:18 +0000 (16:48 -0400)]
Add NotNullIfNotNull attribute to Interlocked.CompareExchange (dotnet/coreclr#26135)
To handle its return value, which (ignoring race conditions, as wel do for nullability analysis in general) is the input value of `location1`. The output value of `location1` is handled as a special-case by the compiler.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6a5062bd6c870fd4d378996b50ce32d610d04cae
Aaron Robinson [Mon, 12 Aug 2019 19:36:12 +0000 (12:36 -0700)]
Tell Arcade to continue on error for test runs. (dotnet/coreclr#26134)
Commit migrated from https://github.com/dotnet/coreclr/commit/
566fa8b6fb5f19fb43add49550ec846bf906ff02
Aaron Robinson [Mon, 12 Aug 2019 17:25:09 +0000 (10:25 -0700)]
Cleanup YML and and create readme.md (dotnet/coreclr#26109)
* Remove `azure-pipelines.yml`
Create a readme.md for build infrastructure under `eng/`
* Add `Build` prefix to name of product build job.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d0c681bce39598160a91708c0cc84ae26ee1bce8
mikedn [Mon, 12 Aug 2019 16:21:21 +0000 (19:21 +0300)]
Recognize unsigned compare with 0 (dotnet/coreclr#20661)
This pattern shows up here and there due to the use of unsigned compares for performance reasons. For example, `Span.Slice` checks if `start` is valid by using `(uint)start > (uint)_length` and if `start` happens to be 0 and the method is inlined a useless compare is generated.
Commit migrated from https://github.com/dotnet/coreclr/commit/
20fd4e6cbdcd839d86da49e519ec06a5e21c15f5
Jan Kotas [Thu, 8 Aug 2019 15:46:54 +0000 (17:46 +0200)]
Cleanup ProjectN ifdefs (dotnet/corertdotnet/coreclr#7675)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
9e18310d693d27410f8718c27613a1509561dc8a
Aaron Robinson [Mon, 12 Aug 2019 06:08:03 +0000 (23:08 -0700)]
Remove unnecessary error check for QueryUnbiasedInterruptTime call (dotnet/coreclr#26120)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8739b11ca4ec6ed3c5bec854d864b2252ab14861
Sergey Andreenko [Mon, 12 Aug 2019 02:07:29 +0000 (19:07 -0700)]
Separate statements from GenTree, part 2 (dotnet/coreclr#26092)
Separate GenTreeStmt and GenTree.
* Separate fgInsertStmt* and fgInsertTree*.
* Add unreached for GT_STMT in TryGetUse, GenTreeUseEdgeIterator, GetChild.
* Do not call gtDispTree for statements.
Call it for gtStmtExpr instead.
* Separate bbTreeList and bbStmtList.
bbTreeList is used for LIR, bbStmtList for the previous phases.
They can't be both set at the same time.
* Create gtDispStmtList.
To make it obvious that we expect statements.
* Fix another forgotten case of tree instead of stmt.
* Fix rationalize.
Because now bbStmtList and bbTreeList, GT_STMT and GT_IL_OFFSET are separated
we can simplify logic when switch to LIR.
* Delete leftovers.
* Separate Stmt and Tree.
Do not inherit GenTreeStmt from GenTree.
* Update GetIndirSize to handle no user case.
This doesn't change behaviour for the Stmt case because user that was GT_STMT was not able to be GT_ASG at the same time.
* BasicBlock::Contains uses LIR::Range iterator and can't be used for non-LIR case.
* Response review, part 1.
* Response review, part 2.
* Response review, part 3.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7b55aab9ee80734e00894a4391dff51b285a4d0
Aaron Robinson [Sat, 10 Aug 2019 00:51:34 +0000 (17:51 -0700)]
Add support for servicing (post-build.yml) (dotnet/coreclr#26020)
* Use stages for internal build
* Remove publishwitharcade project
Commit migrated from https://github.com/dotnet/coreclr/commit/
ecca02d99b0be956bf088a78e2286d01e36c6009
Stephen Toub [Fri, 9 Aug 2019 17:40:56 +0000 (13:40 -0400)]
Enable FxCop and StyleCop analyzers (dotnet/coreclr#26100)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c9150c99d4c5c565ca6958bcf9434e7a4b7868a0
Mike McLaughlin [Fri, 9 Aug 2019 17:24:06 +0000 (10:24 -0700)]
ARM32 out of proc unwind support (dotnet/coreclr#26082)
ARM32 out of proc unwind support
Removed the old dwarf unwind info decoding and use libunwind
for both dwarf and arm exidx.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e8f08ff064b406d0ab0f36217abe6328ea61c081
Stephen Toub [Fri, 9 Aug 2019 00:46:24 +0000 (20:46 -0400)]
Fix xunit warning xUnit1013 (public method should be marked as a theory)
Commit migrated from https://github.com/dotnet/coreclr/commit/
52651008a5fb72eb678467cd2eb42aac4e5334e8
Stephen Toub [Thu, 8 Aug 2019 19:25:14 +0000 (15:25 -0400)]
Fix FxCop warning CA1823 (unused fields)
Commit migrated from https://github.com/dotnet/coreclr/commit/
65a807986867488ef8f9b4316eefbee7f034548d
Stephen Toub [Thu, 8 Aug 2019 19:12:50 +0000 (15:12 -0400)]
Fix FxCop warning CA2229 (private deserialization ctor)
Commit migrated from https://github.com/dotnet/coreclr/commit/
17655f12b5ba2230a544dbe10eaceaf444a77965
Stephen Toub [Thu, 8 Aug 2019 19:10:25 +0000 (15:10 -0400)]
Fix FxCop warning CA1810 (explicit static cctor)
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc39170009646990e141324ab901ec81b69a2f92
Stephen Toub [Thu, 8 Aug 2019 19:08:33 +0000 (15:08 -0400)]
Fix FxCop warning CA1825 (Array.Empty)
Commit migrated from https://github.com/dotnet/coreclr/commit/
941a1435b38baaec2207a062178194b179c5f3b1
Stephen Toub [Thu, 8 Aug 2019 19:03:12 +0000 (15:03 -0400)]
Fix StyleCop warning SA2200 (throwing caught exception)
Commit migrated from https://github.com/dotnet/coreclr/commit/
53b2b7eedb9c297cdd1f7ebaeea12a168cc3d8b5
Stephen Toub [Thu, 8 Aug 2019 18:49:39 +0000 (14:49 -0400)]
Fix FxCop warning CA2007 (ConfigureAwait)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b50411daee41c2a8666ba6c3c7a60bfa77093286
Stephen Toub [Thu, 8 Aug 2019 18:48:14 +0000 (14:48 -0400)]
Fix StyleCop warning SA1620 (generic XML comment ordering)
Commit migrated from https://github.com/dotnet/coreclr/commit/
66e2b81dc9bffeef4926f813b253e456e8bcabdf
Stephen Toub [Thu, 8 Aug 2019 18:38:14 +0000 (14:38 -0400)]
Fix StyleCop warning SA1617 (void return XML comment)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d79a7ed5efa61811f98961d2734b0246872f3609
Stephen Toub [Thu, 8 Aug 2019 18:37:31 +0000 (14:37 -0400)]
Fix StyleCop warning SA1113 (comma position for parameters)
Commit migrated from https://github.com/dotnet/coreclr/commit/
51e524ed4f1600a5a0707401b1fdc5acac2d4bc0
Stephen Toub [Thu, 8 Aug 2019 18:36:06 +0000 (14:36 -0400)]
Fix StyleCop warning SA1212 (accessor order)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9ed3c08f62b58bfd27b182f2afcd583485d13296
Stephen Toub [Thu, 8 Aug 2019 18:35:33 +0000 (14:35 -0400)]
Fix StyleCop warning SA1206 (modifer ordering)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d5cd7526f9d1e5d7a3c98d3a745f8566f789af17
Stephen Toub [Thu, 8 Aug 2019 18:32:22 +0000 (14:32 -0400)]
Fix StyleCop warning SA1121 (use built-in types)
Commit migrated from https://github.com/dotnet/coreclr/commit/
db65876ca97128d9297282228b1f90b55f960989
Stephen Toub [Thu, 8 Aug 2019 18:26:51 +0000 (14:26 -0400)]
Fix StyleCop warning SA1200 (cref prefixes)
Commit migrated from https://github.com/dotnet/coreclr/commit/
1ad94fc5c7c66bb151dab4ea6a16b5a4482064e8
Stephen Toub [Thu, 8 Aug 2019 18:15:21 +0000 (14:15 -0400)]
Fix StyleCop warnings SA1028 and SA1518 (trailing whitespace and blank lines)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f4ce6c7b8b1e4181f4c5567111414528d21f7629
Stephen Toub [Thu, 8 Aug 2019 18:11:25 +0000 (14:11 -0400)]
Fix FxCop warning CA1018 (attributes should have AttributeUsage)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f395f657fc40abb8eb2a1895a476c60b6652e64b
Stephen Toub [Thu, 8 Aug 2019 22:09:17 +0000 (18:09 -0400)]
Move CodeAnalysis.ruleset to shared (dotnet/corefxdotnet/coreclr#40153)
So that the same settings can be applied to corelib.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
16697076c0a6af47fbcce75e11c45d35a12b7d4e
Jeremy Koritzinsky [Thu, 8 Aug 2019 23:31:55 +0000 (16:31 -0700)]
Make ILAsm and ILDasm packages standalone. Clean up Microsoft.NET.Sdk.IL (dotnet/coreclr#25930)
* Remove reference to CoreCLR package from ILAsm and ILDasm packages.
* Directly reference ILAsm and ILDasm in their packages instead of copying. Don't pull down CoreCLR or ClrJit since ILAsm and ILDasm don't need them. Don't copy ILAsm or ILDasm to the output directory of the project when using the tools from packages.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4e960d72ad19086a9615229b24b50dbd9ccb143c
Sung Yoon Whang [Thu, 8 Aug 2019 22:14:56 +0000 (15:14 -0700)]
Fix a potential division by 0 in post GC counter computation (dotnet/coreclr#26085)
* Fix a potential division by 0 in post GC counter computation
* Remove useless code
Commit migrated from https://github.com/dotnet/coreclr/commit/
740752c9d206a465e96a4d01e7dafb6adb6ded63
Stephen Toub [Thu, 8 Aug 2019 01:07:58 +0000 (21:07 -0400)]
Re-enable StyleCop warnings SA1028 and SA1518 (trailing whitespace and blank lines) (dotnet/coreclr#40113)
Mechanical/automated change. The only manual changes were a) removing the two rules from the CodeAnalysis.ruleset file, b) removing spaces from one line of a .targets file that is used to generate a .cs file, and c) reverting the changes in a few test files where the naive replacement happened in the middle of a verbatim string where the whitespace actually mattered.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
df75e5abd02cecaad95222dd0ef5f594138d7f04
Jeffrey Zhao [Thu, 8 Aug 2019 20:28:02 +0000 (15:28 -0500)]
Catch InvalidCastException properly in Collection (dotnet/coreclr#25953)
The explicit implementations of IList.Add/Insert/Set methods catch
InvalidCastException for casting input argument to type T to throw
an ArgumentException. The issue here is they put the core collection
modification operation in the try block, which could be overridden
by sub-classes and produce an InvalidCastException from user logic,
even the argument passed to IList.Add/Insert/Set is valid.
To fix the issue, we just need to move the collection modification
outside the try block, and leave the casting in try block only. In
this way, we'll get an ArgumentException when the argument type is
invalid, but propagate the InvalidCastException thrown from user
code as it should be.
dotnet/corefxdotnet/coreclr#39919
Commit migrated from https://github.com/dotnet/coreclr/commit/
322529912639e9ba0ea2306181b9f6034fdee5ae
Stephen Toub [Thu, 8 Aug 2019 16:20:01 +0000 (12:20 -0400)]
Improve building Corelib in VS (dotnet/coreclr#26076)
Commit migrated from https://github.com/dotnet/coreclr/commit/
19824b5f9cf8a1c6e39f6ce134be9f753a013c69
Adam Sitnik [Thu, 8 Aug 2019 15:50:03 +0000 (17:50 +0200)]
make DateTime.UtcNow 5% faster to minimize the leap second performance impact (dotnet/coreclr#26046)
* make few methods used by DateTime.UtcNow inlinable to minimize the leap second performance regression impact, related to dotnet/coreclr#25728
* apply suggested micro-optimizations
Commit migrated from https://github.com/dotnet/coreclr/commit/
4450e5ca663b9e66c20e6f9751c941efa3716fde
Jeremy Koritzinsky [Thu, 8 Aug 2019 15:12:26 +0000 (08:12 -0700)]
String test refresh (dotnet/coreclr#25948)
* Rewrite all LP*STR/BSTR/AnsiBSTR parameter/return type tests.
* Add string-field-in-struct tests.
* Add tests for UnmanagedType.ByValTStr.
* Fix casing in name.
* PR Feedback.
* Fix AnsiBStr test.
* Remove redundant cast.
* 2-phase lookup compliance. SysFreeString -> CoreClrBStrFree.
* Remove extra using
* Remove extra space
* Calling conventions....
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef1b0f7440b534fc9bfdbbd6469533987e6d2fdf
Michal Strehovský [Thu, 8 Aug 2019 14:41:35 +0000 (16:41 +0200)]
Mark CoreLib as .NET Framework assembly (dotnet/coreclr#26067)
Noticed this is missing while enabling some new code paths in the CPAOT compiler. We need some way to mark assemblies that are part of the platform. This attribute is used to determine if assembly is part of the platform in full AOT mode. It would be convenient for CoreCLR's CoreLib to also have this.
Not critical to have this, but it would help me avoid special casing CoreLib.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e348bf9a3930f67d89d937d1c441165131ba3cbb
Mukul Sabharwal [Thu, 8 Aug 2019 05:18:22 +0000 (22:18 -0700)]
Delete dead code (dotnet/coreclr#26060)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b9664e79fbe424d98b446e068b65128487e682d2
Sergey Andreenko [Thu, 8 Aug 2019 03:50:34 +0000 (20:50 -0700)]
Separate statements from GenTree, part 1 (dotnet/coreclr#25898)
* Fix some leftovers where we used GenTree instead of GenTreeStmt.
* Separate GT_IL_OFFSET and GT_STMT.
* Add unreached to gtHashValue for GT_STMT.
it has an assert that tree is not GT_STMT: https://github.com/dotnet/coreclr/blob/dotnet/coreclr@
65a50887b9a460d7833f0ab476fab9027f1e8166/src/jit/gentree.cpp#L1837 the assert was added before 2010.
* Do not use gtCloneExpr for stms.
* Fix optUnrollLoops.
The was a wrong change in
cbf3704a8421ef0b093d68a93d867c9a768dc9d.
Commit migrated from https://github.com/dotnet/coreclr/commit/
86fd1ea08c3d05855992df64fbb09929cb47e068
Stephen Toub [Thu, 8 Aug 2019 02:00:43 +0000 (22:00 -0400)]
Delete PROJECTN ifdefs from Corelib (dotnet/coreclr#26058)
Commit migrated from https://github.com/dotnet/coreclr/commit/
dfbd83657e46e43adead674585f6957409a7d47f
Jarret Shook [Wed, 7 Aug 2019 22:51:01 +0000 (15:51 -0700)]
Publish built tests (dotnet/coreclr#25925)
* Publish built tests
* Fix indentation
* remove if
* Fix indent
* Fix indent part 2
* Add back if
* Remove if.
* zip tests before upload
* Disable running tests to test change
* Zip without full paths on unix and fix windows zip
* Switch to tar for unix and fix windows quotes
* Correct pushd location
* Fix upload path unix
* Remove artifactName from block
* Try more syntax
* more syntax
* More syntax....
* Remove temporary changes
* Use archive task
* Change artifact name
* Change to upload
* Use explicit location
* uncomment test submission
* change artifact name
* Do not publish for corefx
* Conditionally publish tests
* Fix syntax error
* Re-enable helix submission
Commit migrated from https://github.com/dotnet/coreclr/commit/
578bc4deedd03cb53cc54054a0161d38e12f9032
Sung Yoon Whang [Wed, 7 Aug 2019 22:21:07 +0000 (15:21 -0700)]
Clean up diagnosticserver socket on unexpected shutdown (dotnet/coreclr#25976)
* Clean up diagnosticserver socket/pipe on shutdown
* Refactor dbg transport pipe cleanup to be registered as signal handler from the vm side
* cleanup dead code
* Remove more dead code and fix windows builds
* Moving some ifdefs around
Commit migrated from https://github.com/dotnet/coreclr/commit/
07d6aa440441b611883b348af47ef91ecd71936f
Russ Keldorph [Tue, 30 Jul 2019 22:30:18 +0000 (15:30 -0700)]
Consistent telm. type for crossgen-comparison job
For some reason our telemetry prefers a slash appended to the HelixType parameter.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b130d3664976054b70e846908dae6efe7b6221e
Sung Yoon Whang [Wed, 7 Aug 2019 21:49:25 +0000 (14:49 -0700)]
Improve ArgumentNullExceptions on DiagnosticCounter.DisplayName/Unit (dotnet/coreclr#26035)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ee426b2bb050109936f758e6174a7c8e40997fb9
Gleb Balykov [Wed, 7 Aug 2019 20:22:37 +0000 (23:22 +0300)]
Fix undefined references to methods from MetaData::HotTable during ilasm build with FEATURE_PREJIT=true (dotnet/coreclr#26052)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2e4d93170543983446260e9d88265de4e6223498
Jeremy Koritzinsky [Wed, 7 Aug 2019 20:19:51 +0000 (13:19 -0700)]
Delegate marshaling test refresh. (dotnet/coreclr#25981)
* Delegate marshaling test refresh.
Clean up and coalese delegate tests. Separate the native side of the "delegate as IDispatch" tests to a separate C++ file that is conditionally compiled in on Windows.
* PR Feedback.
Commit migrated from https://github.com/dotnet/coreclr/commit/
919906fa38edc65186ee8905881204e06c620df8
Omair Majid [Wed, 7 Aug 2019 19:38:36 +0000 (15:38 -0400)]
Support managed build on linux/aarch64 (dotnet/coreclr#26047)
We have everything we need to build the native and managed components on
linux/aarch64 (hosted, not cross compiled). So lets enable building the
managed components on linux/aarch64.
Also remove out-of-date list of unsupported RIDs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c77906469107c5cbe5829595aa4f28851f85b5de
Elinor Fung [Wed, 7 Aug 2019 19:31:06 +0000 (12:31 -0700)]
Fix passing unprocessed build args when building managed tests (dotnet/coreclr#26048)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f7197948e0c6924bf147c19d91be0990d99639a9
Jakob Botsch Nielsen [Wed, 7 Aug 2019 17:09:44 +0000 (10:09 -0700)]
Generate relative jump/branch for tailcalls on x64/ARM (dotnet/coreclr#25848)
* Generate RIP-relative jmp for fast direct tailcalls on x64
* Also use relative branch on ARM
* Fix compiler errors
Commit migrated from https://github.com/dotnet/coreclr/commit/
a5a13ba179f88018a89578646ffae69d4c39698d
Sergey Andreenko [Wed, 7 Aug 2019 05:37:37 +0000 (22:37 -0700)]
Delete TRANSLATE_PDB. (dotnet/coreclr#26036)
Does anybody know what it was for and if it is still used?
I have not found any references in desktop sources.
When you enable it there are many compile errors.
Commit migrated from https://github.com/dotnet/coreclr/commit/
45851dffd1f6dd1550a9be691247326090dca8c9
Jarret Shook [Wed, 7 Aug 2019 00:47:17 +0000 (17:47 -0700)]
Superpmi mch merge (dotnet/coreclr#26018)
* Initial changes to allow merging mch files
* Finish merging mch files
* Address nit
Commit migrated from https://github.com/dotnet/coreclr/commit/
35d5e1225ca2969020f61fd1b8d9d44d82b6f71d
Elinor Fung [Tue, 6 Aug 2019 18:32:18 +0000 (11:32 -0700)]
Use Arcade's internal tool restore project for restoring IBCMerge (dotnet/coreclr#26023)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c36fd8c702e26d5bb3cf582cfcab51d8c94af440
Vitek Karas [Tue, 6 Aug 2019 13:16:22 +0000 (06:16 -0700)]
Remove inspection only from binder (dotnet/coreclr#26030)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f6bc3ad63ccc268dbad8247f722e40d8f75c6ba
Jan Kotas [Tue, 6 Aug 2019 11:48:15 +0000 (13:48 +0200)]
Revert "Fix issue with out-of-scope GCFrame in Frame list (dotnet/coreclr#25795)" (dotnet/coreclr#26029)
This reverts commit dotnet/coreclr@
09cb367557c580466b6de7582f1e53c9af526c9b.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3dd26cb712030151c68c0c391ea0e4fbe9e2155
Vitek Karas [Tue, 6 Aug 2019 10:45:16 +0000 (03:45 -0700)]
Binder minor cleanup (dotnet/coreclr#26015)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b4c5709a5de55622d839d75f89dabf9d2e47085f
Aleksey Kliger (λgeek) [Tue, 6 Aug 2019 09:11:45 +0000 (05:11 -0400)]
Move AssemblyLoadContext VM-invoked resolve methods to shared (dotnet/coreclr#25989)
Share between CoreCLR and Mono
Mono began using a copy of these methods with
https://github.com/mono/mono/pull/15946
Commit migrated from https://github.com/dotnet/coreclr/commit/
799bda9a3af28bc3095c705018566fc550173dc6
Stephen Toub [Mon, 5 Aug 2019 15:05:14 +0000 (11:05 -0400)]
Remove some unused locals (dotnet/corefxdotnet/coreclr#39956)
* Remove some unused locals
Trying out various analyzers, including one to flag unused locals. There are more than this, but this is a first batch. Some of these are just clean-up. Others are saving unnecessary cost. At least one appears to be a real functional bug.
* Address PR feedback
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
2b7c285a4f6b177513bfc814d1e59756d479a26b
Jesús Corrius [Tue, 6 Aug 2019 09:10:39 +0000 (11:10 +0200)]
Fix List Format (dotnet/coreclr#26027)
Although the source text is correct, "1)" gets interpreted as another element of the list and it is automatically changed to "3)"
I added the word "Option" in front of it just to make sure "1)" is interpreted as intended.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1d82486fba5b2666819bb3e8913c61154acf6126