platform/upstream/dotnet/runtime.git
5 years agoRemove unused method (dotnet/coreclr#26168)
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

5 years agoRemove knowledge of specific field marshalers from non-marshalling subsystems (dotnet...
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

5 years agoBuild tests as SDK projects (dotnet/coreclr#25761)
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

5 years agoTest set continueOnError to 'true' only on internal builds. (dotnet/coreclr#26172)
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

5 years agoDelete dead _pauseTicks from TimerQueue (dotnet/coreclr#26160)
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

5 years agoAdd ABI stress tests (dotnet/coreclr#26090)
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

5 years agoAdd ci argument to build script instead of checking environment variable (dotnet...
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

5 years agoFix StyleCop warnings for rules enabled in corefx
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

5 years agoEnable StyleCop rules 1205, 1411, 1026, and 1000 (dotnet/corefxdotnet/coreclr#40254)
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

5 years agoFix the targeted blob feed URL (dotnet/coreclr#26157)
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

5 years agoUnblock official build publish (dotnet/coreclr#26151)
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

5 years agoConvert several static readonly byte[]s to ReadOnlySpan<byte> (dotnet/coreclr#26138)
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

5 years agoFix IDE1005 (simplify delegate invocation)
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

5 years agoFix IDE0062 (make local functions static)
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

5 years agoContribute to IDE0060 (unused argument)
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

5 years agoContribute to IDE0059 (unnecessary assignment)
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

5 years agoContribute to IDE0019 (use pattern matching) and IDE0066 (use switch expression)
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

5 years agoContribute to IDE0044 (make field readonly)
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

5 years agoRename _WIN64 define to BIT64 (dotnet/coreclr#26080)
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

5 years agoChange preconditions to only check for null m_pSerializer and NOT write errors (dotne...
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

5 years agoFix StyleCop warning SA1400 (missing access modifiers)
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

5 years agoRe-enable StyleCop warning SA1400 (elements should specify access) (dotnet/coreclr...
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

5 years agoAdd NotNullIfNotNull attribute to Interlocked.CompareExchange (dotnet/coreclr#26135)
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

5 years agoTell Arcade to continue on error for test runs. (dotnet/coreclr#26134)
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

5 years agoCleanup YML and and create readme.md (dotnet/coreclr#26109)
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

5 years agoRecognize unsigned compare with 0 (dotnet/coreclr#20661)
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

5 years agoCleanup ProjectN ifdefs (dotnet/corertdotnet/coreclr#7675)
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

5 years agoRemove unnecessary error check for QueryUnbiasedInterruptTime call (dotnet/coreclr...
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

5 years agoSeparate statements from GenTree, part 2 (dotnet/coreclr#26092)
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

5 years agoAdd support for servicing (post-build.yml) (dotnet/coreclr#26020)
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

5 years agoEnable FxCop and StyleCop analyzers (dotnet/coreclr#26100)
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

5 years agoARM32 out of proc unwind support (dotnet/coreclr#26082)
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

5 years agoFix xunit warning xUnit1013 (public method should be marked as a theory)
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

5 years agoFix FxCop warning CA1823 (unused fields)
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

5 years agoFix FxCop warning CA2229 (private deserialization ctor)
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

5 years agoFix FxCop warning CA1810 (explicit static cctor)
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

5 years agoFix FxCop warning CA1825 (Array.Empty)
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

5 years agoFix StyleCop warning SA2200 (throwing caught exception)
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

5 years agoFix FxCop warning CA2007 (ConfigureAwait)
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

5 years agoFix StyleCop warning SA1620 (generic XML comment ordering)
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

5 years agoFix StyleCop warning SA1617 (void return XML comment)
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

5 years agoFix StyleCop warning SA1113 (comma position for parameters)
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

5 years agoFix StyleCop warning SA1212 (accessor order)
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

5 years agoFix StyleCop warning SA1206 (modifer ordering)
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

5 years agoFix StyleCop warning SA1121 (use built-in types)
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

5 years agoFix StyleCop warning SA1200 (cref prefixes)
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

5 years agoFix StyleCop warnings SA1028 and SA1518 (trailing whitespace and blank lines)
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

5 years agoFix FxCop warning CA1018 (attributes should have AttributeUsage)
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

5 years agoMove CodeAnalysis.ruleset to shared (dotnet/corefxdotnet/coreclr#40153)
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

5 years agoMake ILAsm and ILDasm packages standalone. Clean up Microsoft.NET.Sdk.IL (dotnet...
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

5 years agoFix a potential division by 0 in post GC counter computation (dotnet/coreclr#26085)
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

5 years agoRe-enable StyleCop warnings SA1028 and SA1518 (trailing whitespace and blank lines...
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

5 years agoCatch InvalidCastException properly in Collection (dotnet/coreclr#25953)
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

5 years agoImprove building Corelib in VS (dotnet/coreclr#26076)
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

5 years agomake DateTime.UtcNow 5% faster to minimize the leap second performance impact (dotnet...
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

5 years agoString test refresh (dotnet/coreclr#25948)
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

5 years agoMark CoreLib as .NET Framework assembly (dotnet/coreclr#26067)
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

5 years agoDelete dead code (dotnet/coreclr#26060)
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

5 years agoSeparate statements from GenTree, part 1 (dotnet/coreclr#25898)
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

5 years agoDelete PROJECTN ifdefs from Corelib (dotnet/coreclr#26058)
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

5 years agoPublish built tests (dotnet/coreclr#25925)
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

5 years agoClean up diagnosticserver socket on unexpected shutdown (dotnet/coreclr#25976)
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

5 years agoConsistent telm. type for crossgen-comparison job
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

5 years agoImprove ArgumentNullExceptions on DiagnosticCounter.DisplayName/Unit (dotnet/coreclr...
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

5 years agoFix undefined references to methods from MetaData::HotTable during ilasm build with...
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

5 years agoDelegate marshaling test refresh. (dotnet/coreclr#25981)
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

5 years agoSupport managed build on linux/aarch64 (dotnet/coreclr#26047)
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

5 years agoFix passing unprocessed build args when building managed tests (dotnet/coreclr#26048)
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

5 years agoGenerate relative jump/branch for tailcalls on x64/ARM (dotnet/coreclr#25848)
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

5 years agoDelete TRANSLATE_PDB. (dotnet/coreclr#26036)
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

5 years agoSuperpmi mch merge (dotnet/coreclr#26018)
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

5 years agoUse Arcade's internal tool restore project for restoring IBCMerge (dotnet/coreclr...
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

5 years agoRemove inspection only from binder (dotnet/coreclr#26030)
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

5 years agoRevert "Fix issue with out-of-scope GCFrame in Frame list (dotnet/coreclr#25795)...
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

5 years agoBinder minor cleanup (dotnet/coreclr#26015)
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

5 years agoMove AssemblyLoadContext VM-invoked resolve methods to shared (dotnet/coreclr#25989)
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

5 years agoRemove some unused locals (dotnet/corefxdotnet/coreclr#39956)
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

5 years agoFix List Format (dotnet/coreclr#26027)
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

5 years agoPrefix error messages in init-tools to make them Azure DevOps logging commands (dotne...
Elinor Fung [Tue, 6 Aug 2019 05:36:20 +0000 (22:36 -0700)]
Prefix error messages in init-tools to make them Azure DevOps logging commands (dotnet/coreclr#26021)

Commit migrated from https://github.com/dotnet/coreclr/commit/fe31eb52cca002ab3046d49c9f7fde1a422eb505

5 years agoDelete some dead code (dotnet/coreclr#26006)
Jan Kotas [Tue, 6 Aug 2019 01:54:27 +0000 (03:54 +0200)]
Delete some dead code (dotnet/coreclr#26006)

Commit migrated from https://github.com/dotnet/coreclr/commit/0a762eb2f3a299489c459da1ddeb69e042008f07

5 years agopinned heap design doc (dotnet/coreclr#26024)
Maoni Stephens [Tue, 6 Aug 2019 01:00:07 +0000 (18:00 -0700)]
pinned heap design doc (dotnet/coreclr#26024)

design doc for the Pinned Heap

Commit migrated from https://github.com/dotnet/coreclr/commit/040da13c52d3389fece3695ccd2c364f749ead15

5 years agoPropagate errors during build to the Azure DevOps timeline (dotnet/coreclr#25977)
Elinor Fung [Mon, 5 Aug 2019 23:20:45 +0000 (16:20 -0700)]
Propagate errors during build to the Azure DevOps timeline (dotnet/coreclr#25977)

* Use Arcade MSBuild scripts
* Remove bin clash logger from build-test scripts
* Remove setting RestoreSources in optdata.csproj and rely on repo's NuGet.config

Commit migrated from https://github.com/dotnet/coreclr/commit/929da85bce4fd3f2794b957497daca4a522be2d8

5 years agoAdd --pmi flag to superpmi collect (dotnet/coreclr#25994)
Jarret Shook [Mon, 5 Aug 2019 22:40:22 +0000 (15:40 -0700)]
Add --pmi flag to superpmi collect (dotnet/coreclr#25994)

* Add --pmi flag to superpmi collect

In addition to passing -pmi_assemblies run through all of the passed assemblies or directories and pmi all managed assemblies as part of the collection.

* Address feedback

* Fix typo

* Small changes to get collection working:

Commit migrated from https://github.com/dotnet/coreclr/commit/ded7452cbc7d5afc000ada234c9b84c515582a0f

5 years agoUpdating Math.Round and MathF.Round to be IEEE compliant so that the intrinsic and...
Tanner Gooding [Mon, 5 Aug 2019 21:54:22 +0000 (14:54 -0700)]
Updating Math.Round and MathF.Round to be IEEE compliant so that the intrinsic and managed form are deterministic. (dotnet/coreclr#25901)

* Updating Math.Round and MathF.Round to be IEEE compliant so that the intrinsic and managed form are deterministic.

* Fixing the Math.Round and MathF.Round handling for values greater than 0.5 and less than 1.0

* Applying formatting patch.

Commit migrated from https://github.com/dotnet/coreclr/commit/c384e36c84c22393efeeb1981538b0aef02cf97a

5 years agouse a platform-agnostic name for coredistools lib (dotnet/coreclr#25999)
Ashley Mannix [Mon, 5 Aug 2019 07:08:30 +0000 (17:08 +1000)]
use a platform-agnostic name for coredistools lib (dotnet/coreclr#25999)

Commit migrated from https://github.com/dotnet/coreclr/commit/e72ac908bd84ad22ea4fec74e30219380075325c

5 years agoDo not set source for CoreDisTools. (dotnet/coreclr#25991)
Sergey Andreenko [Fri, 2 Aug 2019 23:27:12 +0000 (16:27 -0700)]
Do not set source for CoreDisTools. (dotnet/coreclr#25991)

We do not set it when we restore other packages so unify that.

dotnet -restore will search for nuget.config and find https://github.com/dotnet/coreclr/blob/master/NuGet.config that contains https://dotnet.myget.org/F/dotnet-core/api/v3/index.json that is needed here.

Commit migrated from https://github.com/dotnet/coreclr/commit/69649624d71a4d7ebcae2ce5420508e5fe5ba7f2

5 years agoFix build break (dotnet/coreclr#25992)
Mike McLaughlin [Fri, 2 Aug 2019 22:56:36 +0000 (15:56 -0700)]
Fix build break (dotnet/coreclr#25992)

Issue: https://github.com/dotnet/coreclr/issues/25990

Commit migrated from https://github.com/dotnet/coreclr/commit/fd6dc9d9f9f39b3b812589522e02c0f8403e3f1d

5 years agoReport AzDO telemetry for the formatting errors. (dotnet/coreclr#25975)
Sergey Andreenko [Fri, 2 Aug 2019 20:56:50 +0000 (13:56 -0700)]
Report AzDO telemetry for the formatting errors. (dotnet/coreclr#25975)

Commit migrated from https://github.com/dotnet/coreclr/commit/bb809f78678ba7fd5783f94919f99860b8b5e080

5 years agoarm64 out of proc unwind for DAC (dotnet/coreclr#25909)
Mike McLaughlin [Fri, 2 Aug 2019 20:16:21 +0000 (13:16 -0700)]
arm64 out of proc unwind for DAC (dotnet/coreclr#25909)

arm64 out of proc unwind for DAC

Removed FEATURE_DATATARGET4 for arm64

Added SP check to createdump's native unwind
loop to make it more robust.

Commit migrated from https://github.com/dotnet/coreclr/commit/0d5a6395fce4a3bdfb249645bad9724cd120b50f

5 years agoEnsure that we check for implicit ivals for single argument intrinsics before the...
Tanner Gooding [Fri, 2 Aug 2019 15:48:52 +0000 (08:48 -0700)]
Ensure that we check for implicit ivals for single argument intrinsics before the SIMDScalar handling. (dotnet/coreclr#25905)

* Ensure that we check for implicit ivals for single argument intrinsics before the SIMDScalar handling.

* Adding test template entries for the unary overloads of the Sse41.Round functions

* Regenerating the hardware intrinsic test templates.

Commit migrated from https://github.com/dotnet/coreclr/commit/bcc73ca212da78acc1745b7958ba32ae530c2c80

5 years agoFix CounterGroup to use built-in types
Stephen Toub [Fri, 2 Aug 2019 00:42:56 +0000 (20:42 -0400)]
Fix CounterGroup to use built-in types

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/c96da4ac6e8e5191064980234fc3a497f753c7e7

5 years agoEnable stylecop warnings 1205, 1212, and 1617 (dotnet/corefxdotnet/coreclr#39941)
Stephen Toub [Thu, 1 Aug 2019 22:00:12 +0000 (18:00 -0400)]
Enable stylecop warnings 1205, 1212, and 1617 (dotnet/corefxdotnet/coreclr#39941)

* Enable stylecop warning 1617 (void return value should not be documented)

* Enable stylecop warning 1212 (get/set accessor ordering)

* Enable stylecop warning 1205 (modifier ordering)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/1fede649ca386fa7ba7a5a2b26b4c95a9f675a2c

5 years agoEnable several StyleCopAnalyzers (dotnet/corefxdotnet/coreclr#39921)
Stephen Toub [Wed, 31 Jul 2019 23:10:59 +0000 (19:10 -0400)]
Enable several StyleCopAnalyzers (dotnet/corefxdotnet/coreclr#39921)

* Fix ordering of keywords in member signatures

* Add StyeCop.Analyzers

Most rules are disabled.  Many of them we'll want to leave disabled, however there are a handful it'll be good to enable over time.

* Use built-in type alias

* Fix straggling stylecop warnings in all configurations

* Replace tabs with spaces

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/752d682682faa1a869ed95a9e3c1681a64504574

5 years agoRe-enable CA1823 (unused private fields) (dotnet/corefxdotnet/coreclr#39899)
Stephen Toub [Wed, 31 Jul 2019 12:04:33 +0000 (08:04 -0400)]
Re-enable CA1823 (unused private fields) (dotnet/corefxdotnet/coreclr#39899)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/43056d429628fb58be399f0dd0d53adfb505098c

5 years agoFix check for no affinitization in GC on Unix (dotnet/coreclr#25963)
Jan Vorlicek [Thu, 1 Aug 2019 23:20:22 +0000 (01:20 +0200)]
Fix check for no affinitization in GC on Unix (dotnet/coreclr#25963)

* Fix check for no affinitization in GC on Unix

While the affinitization mask setting is not used for affinity setting
on Unix, it was still being checked for non-zero as one of the
indicators that GC heap affinitization was enabled. This change removes
that check for Unix builds.

Commit migrated from https://github.com/dotnet/coreclr/commit/cd42ee8fe410f71026467ad2e90116115b85f68d

5 years agoFix WSL alternate stack check (dotnet/coreclr#25972)
Jan Vorlicek [Thu, 1 Aug 2019 23:14:12 +0000 (01:14 +0200)]
Fix WSL alternate stack check (dotnet/coreclr#25972)

* Fix WSL alternate stack check

On WSL, the alternate stack check in sigsegv_handler doesn't work. The
uc_stack members are always zero no matter whether the handler is
executed on an alternate or default stack. So the check to detect
whether we are running on an alternate stack or not is always returning
false on WSL and it prevents NULL reference exceptions from being
handled.
The fix is to introduce an env variable COMPlus_EnableAlternateStackCheck
that can be used to enable the alternate stack check. By default, the
sigsegv_handler is considered to always run on an alternate stack.

Commit migrated from https://github.com/dotnet/coreclr/commit/d7d8f91a8bad9effe9b5605edec6d26d540e0f85

5 years agoDecimal test refresh (dotnet/coreclr#25955)
Jeremy Koritzinsky [Thu, 1 Aug 2019 22:34:05 +0000 (15:34 -0700)]
Decimal test refresh (dotnet/coreclr#25955)

* Rewrite decimal PInvoke tests

* Rewrite Decimal tests to make managed the single source of truth. Remove most reverse-P/Invoke tests that didn't add coverage.

* Add include of <new>

* Enable enregistering structs containing a decimal on SystemV abi. Fixes dotnet/coreclr#25974.

Commit migrated from https://github.com/dotnet/coreclr/commit/8bd6e5468b6ab83ac39cca43c322e44d9039b166

5 years agoAllow for interface implementations in EventSource.WriteEventVarArgs (dotnet/coreclr...
John Salem [Thu, 1 Aug 2019 22:27:48 +0000 (15:27 -0700)]
Allow for interface implementations in EventSource.WriteEventVarArgs (dotnet/coreclr#25844)

* Allow for interface implementations in EventSource.WriteEventVarArgs

* Also account null ref types and nullable types

* fix error in comment and simplify first part of boolean logic

* Update src/System.Private.CoreLib/shared/System/Diagnostics/Tracing/EventSource.cs

Co-Authored-By: Noah Falk <noahfalk@users.noreply.github.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/c284bbfa83db019c34afe8835e198409f4168c02

5 years agoMerge pull request dotnet/coreclr#25951 from ivdiazsa/GetPathOfFileAbove_branch
Ivan Diaz Sanchez [Thu, 1 Aug 2019 21:32:40 +0000 (14:32 -0700)]
Merge pull request dotnet/coreclr#25951 from ivdiazsa/GetPathOfFileAbove_branch

Changed GetDirectoryNameOfFileAbove to GetPathOfFileAbove.

Commit migrated from https://github.com/dotnet/coreclr/commit/12a76d368ea60518e6db389fb4ec3f593a678362

5 years agoDllImportAttribute Test Cleanup. (dotnet/coreclr#25970)
Jeremy Koritzinsky [Thu, 1 Aug 2019 21:01:38 +0000 (14:01 -0700)]
DllImportAttribute Test Cleanup. (dotnet/coreclr#25970)

Reduce DllImportPath tests to minimal native code to help limit additional factors when we add perf-tests.

Combine our two separate tests of Dll path probing into one test library. Move DllImportPath and ExactSpelling tests to the DllImportAttribute folder since they're testing specific parts of the attribute.

Commit migrated from https://github.com/dotnet/coreclr/commit/e53cad98ee39f5b707632ea91026afbbc5ee088f