platform/upstream/dotnet/runtime.git
5 years agoMove AssemblyLoadContext VM-invoked static resolve methods to shared (dotnet/coreclr...
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

5 years agoRe-enable xunit warning 1019 (dotnet/corefxdotnet/coreclr#40415)
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

5 years agoUpdate crtsts (dotnet/coreclr#26238)
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

5 years agoCreate flag to skip test jobs on internal builds (dotnet/coreclr#26261)
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

5 years agoRemove unused usings from Corlib (dotnet/coreclr#26250)
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

5 years agoUse function-local StackingAllocator for adding EnC methods (dotnet/coreclr#26106)
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

5 years agoAdd a check before firing events (dotnet/coreclr#25501)
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

5 years agoChange missed by the mirror (dotnet/coreclr#26251)
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

5 years agoUse native code slot for default interface methods (dotnet/coreclr#25770)
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

5 years agoFixing spelling errors in BotR chapters (dotnet/coreclr#26237)
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

5 years agoRevert "Update proftoeeinterfaceimpl.cpp"
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

5 years agoUpdate proftoeeinterfaceimpl.cpp
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

5 years agoRemove redundant ABI stress tests (dotnet/coreclr#26183)
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

5 years agoUndo use of Index/Range in files compiled into netfx-compat assemblies
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

5 years agoFix CoreRT build breaks
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

5 years agoFix IDE0066 across corefx (dotnet/corefxdotnet/coreclr#40288)
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

5 years agoRemove useless GetLongPathNameW call (dotnet/coreclr#26210)
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

5 years agoCreate upload task in superpmi (dotnet/coreclr#26226)
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

5 years agoFix DecoderExceptionFallbackBuffer message (dotnet/coreclr#26211)
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

5 years agoFix IDE0025 (use expression body for properties)
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

5 years agoFix IDE0056 (use index operator)
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

5 years agoFix IDE0057 (use range operator)
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

5 years agoFix IDE0054 (use compound assignment)
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

5 years agoFix IDE0060 (unused parameter)
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

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

5 years agoFix IDE0029 (use coalesce expression)
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

5 years agoFix IDE0031 (use null propagation)
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

5 years agoFix IDE0028 (collection initializers)
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

5 years agoFix IDE0008 (use explicit type instead of var)
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

5 years agoFix IDE0065 (using directives should be outside of a namespace)
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

5 years agoFix IDE0019/20 (Use pattern matching)
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

5 years agoUpdate Docker build instructions for Linux (dotnet/coreclr#26222)
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

5 years agoExplicitly handle char marshalling in OleVariant::GetNativeMet… (dotnet/coreclr#26218)
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

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

5 years agoEnable MHR support on OSX (dotnet/coreclr#26193)
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

5 years agoAdd perf pipeline (dotnet/coreclr#26188)
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

5 years agoFix ARM64 HFA arguments passing via reflection (dotnet/coreclr#26174)
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

5 years agoAdd symbol publishing exclusion list (dotnet/coreclr#26180)
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

5 years agoDeprecate OSX 10.12 Helix queues (dotnet/coreclr#26194)
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

5 years agoAccount for quoted values in provider filter string (dotnet/coreclr#26159)
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

5 years agoFix non-ASCII characters across corefx (dotnet/corefxdotnet/coreclr#40318)
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

5 years agoFix GenerateShuffleArray to support cyclic shuffles (dotnet/coreclr#26169)
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

5 years agoUndo readonly on _isLastFrameFromForeignExceptionStackTrace
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

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