platform/upstream/dotnet/runtime.git
5 years agoFix Abbreviated Genitive Month Names Parsing (dotnet/coreclr#26379)
Tarek Mahmoud Sayed [Tue, 27 Aug 2019 01:03:40 +0000 (18:03 -0700)]
Fix Abbreviated Genitive Month Names Parsing (dotnet/coreclr#26379)

* Fix Abbreviated Genitive Month Names Parsing

In 3.0 we have fixed the formatting to use the abbreviated genitive month names when having "d" format specifier followed by "MMM". This fix is good as original formatting specs required but we needed to support the parsing when we have such genitive names.

* Addressing the feedback

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

5 years ago[master] Enhance EventPipe tests (dotnet/coreclr#26322)
John Salem [Mon, 26 Aug 2019 20:30:45 +0000 (13:30 -0700)]
[master] Enhance EventPipe tests (dotnet/coreclr#26322)

* Enhance EventPipe tests with better logging to better understand intermittent test failures that crop up in CI and can't be reproduced locally

* Remove unused field
* increase event count in attempt to give SampleProfiler thread a chance to fire

* Update logger to singleton so it can be used anywhere in the test
* updated logging for all tests
* reduced number of events sent to 100,000 instead of 1,000,000

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

5 years agoFix performance pipeline (dotnet/coreclr#26373)
Michelle McDaniel [Mon, 26 Aug 2019 19:51:32 +0000 (12:51 -0700)]
Fix performance pipeline (dotnet/coreclr#26373)

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

5 years agoSplit test build and run into two jobs (2nd attempt) (dotnet/coreclr#26362)
Tomáš Rylek [Mon, 26 Aug 2019 19:41:13 +0000 (21:41 +0200)]
Split test build and run into two jobs (2nd attempt) (dotnet/coreclr#26362)

This change is intended to split the test job in CI runs into two
jobs - one building the tests and another sending the run to Helix.
To facilitate this, I have copied the bulk of the existing
test-job.yml file into two new files, build-test.yml and run-test.yml;
test-job.yml has become a mere wrapper invoking these two new files.

The new build-test file builds the tests, zips the output folder
and publishes it as an Azure artifact (the artifact publishing step
is no longer optional). The subsequent run-test step downloads the
test artifacts and triggers the Helix run for the test set.

The motivation for this change is to mitigate various transient
issues seen in CoreCLR CI runs - when a test execution fails in a
non-deterministic manner, before this change the developer needed to
rerun the lengthy test build step just to retry the tests. This
change should enable rerunning just the test execution step in such
case.

Thanks

Tomas

P.S. This is my 2nd attempt at the merge; Jarret had to roll back my
original Friday merge that broke CoreCLR outerloop testing.

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

5 years agoFix typo in calculating path to ILDasm in Microsoft.NET.SDK.IL (dotnet/coreclr#26343)
Jeremy Koritzinsky [Mon, 26 Aug 2019 19:35:19 +0000 (12:35 -0700)]
Fix typo in calculating path to ILDasm in Microsoft.NET.SDK.IL (dotnet/coreclr#26343)

When I cleaned up the Microsoft.NET.SDK.IL implementation, I missed one typo. This causes the SDK to fail to resolve ILDasm as discovered in https://github.com/dotnet/winforms/pull/1684.

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

5 years agoMove AppContext.CoreCLR.cs to shared, remove static ctor (dotnet/coreclr#26045)
Egor Bogatov [Mon, 26 Aug 2019 18:04:47 +0000 (21:04 +0300)]
Move AppContext.CoreCLR.cs to shared, remove static ctor (dotnet/coreclr#26045)

* Remove AppContext.CoreCLR.cs (move to shared)

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

5 years agoDisable based on dotnet/coreclr#26335 (dotnet/coreclr#26336)
Jarret Shook [Mon, 26 Aug 2019 17:35:18 +0000 (10:35 -0700)]
Disable based on dotnet/coreclr#26335 (dotnet/coreclr#26336)

* Disable based on dotnet/coreclr#26335

* Change to disable for all platforms

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

5 years agoCorrected typo for X86 (dotnet/coreclr#26361)
blaster7th [Mon, 26 Aug 2019 15:25:26 +0000 (17:25 +0200)]
Corrected typo for X86 (dotnet/coreclr#26361)

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

5 years agoFix comment typo in ManualResetValueTaskSourceCore
Stephen Toub [Mon, 26 Aug 2019 12:59:21 +0000 (08:59 -0400)]
Fix comment typo in ManualResetValueTaskSourceCore

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

5 years agoRemove redundant comment (dotnet/coreclr#26369)
Matt Warren [Mon, 26 Aug 2019 12:22:10 +0000 (13:22 +0100)]
Remove redundant comment (dotnet/coreclr#26369)

It *seems* that this comment is redundant, there is no longer any code that does the checks it's describing (I assume that the security-related code was removed at some point?)

Also the `_ASSERTE(..)` statement is a duplicate of the one above, so it's also redundant

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

5 years agoDo not use `AllocateUninitializedArray` in private array pools. (dotnet/coreclr#26338)
Vladimir Sadov [Mon, 26 Aug 2019 02:14:06 +0000 (19:14 -0700)]
Do not use `AllocateUninitializedArray` in private array pools. (dotnet/coreclr#26338)

User may have extra expectations for the privatly owned array pools.
For example there could be an expectation that array never contains negative numbers (since user never puts them there). Uninitialized allocations can break such expectations.

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

5 years agoDisable SA1001 for LocaleData.Unix.cs
Stephen Toub [Mon, 26 Aug 2019 00:30:39 +0000 (20:30 -0400)]
Disable SA1001 for LocaleData.Unix.cs

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

5 years agoContribute to IDE0055 (fix formatting)
Stephen Toub [Sat, 24 Aug 2019 02:24:14 +0000 (22:24 -0400)]
Contribute to IDE0055 (fix formatting)

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

5 years agoContribute to StyleCop SA1002 (semicolon spacing)
Stephen Toub [Thu, 22 Aug 2019 17:10:47 +0000 (13:10 -0400)]
Contribute to StyleCop SA1002 (semicolon spacing)

However, I'm not enabling the rule permanently, as it disagrees with VS IDE0055 about the spacing around semicolons at the end of empty while and for loops.

Because this also impacts `for (;;)` loops, I also searched and replaced those with `while (true)`, to standardize on that across the codebase.

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

5 years agoFix StyleCop warning SA1001 (spaces around commas)
Stephen Toub [Thu, 22 Aug 2019 15:47:00 +0000 (11:47 -0400)]
Fix StyleCop warning SA1001 (spaces around commas)

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

5 years agoSeparate Async*MethodBuilder types into their own files (dotnet/coreclr#26364)
Stephen Toub [Mon, 26 Aug 2019 02:10:37 +0000 (22:10 -0400)]
Separate Async*MethodBuilder types into their own files (dotnet/coreclr#26364)

* Separate async method builder types into their own files

* Minor cleanup of AsyncTaskMethodBuilder types

* Split AsyncValueTaskMethodBuilder types into their own files

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

5 years agoFix BinaryReader.ReadChars for fragmented Streams (dotnet/coreclr#26324)
Jan Kotas [Sat, 24 Aug 2019 17:10:00 +0000 (10:10 -0700)]
Fix BinaryReader.ReadChars for fragmented Streams (dotnet/coreclr#26324)

BinaryReader.ReadChars incorrectly read more than necessary from the underlying Stream when multi-byte characters straddled the read chunks.

Fixes https://github.com/dotnet/corefx/issues/40455

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

5 years agoRemove unused test file introduced in dotnet/coreclr#25948 (dotnet/coreclr#26349)
Aaron Robinson [Sat, 24 Aug 2019 13:32:36 +0000 (06:32 -0700)]
Remove unused test file introduced in dotnet/coreclr#25948 (dotnet/coreclr#26349)

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

5 years agoRemove unnecessary !s for [DoesNotReturn] (dotnet/coreclr#26350)
Next Turn [Sat, 24 Aug 2019 13:32:02 +0000 (21:32 +0800)]
Remove unnecessary !s for [DoesNotReturn] (dotnet/coreclr#26350)

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

5 years agoadding ci legs to release 3.1 branch (dotnet/coreclr#26217)
Anirudh Agnihotry [Sat, 24 Aug 2019 02:56:51 +0000 (19:56 -0700)]
adding ci legs to release 3.1 branch (dotnet/coreclr#26217)

* adding ci legs to release 3.1 branch

* removing regex and adding branches as regex was not working

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

5 years agoMove testing jobs to a separate stage after the validation/publishing stage (dotnet...
Fadi Hanna [Sat, 24 Aug 2019 00:16:29 +0000 (17:16 -0700)]
Move testing jobs to a separate stage after the validation/publishing stage (dotnet/coreclr#26334)

* Move testing jobs to a separate stage after the validation/publishing stage

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

5 years agoFix passing of framework parameter in perf pipeline (dotnet/coreclr#26341)
Michelle McDaniel [Sat, 24 Aug 2019 00:14:41 +0000 (17:14 -0700)]
Fix passing of framework parameter in perf pipeline (dotnet/coreclr#26341)

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

5 years agoRevert "Split test build and run into two jobs (dotnet/coreclr#26191)" (dotnet/corecl...
Tomáš Rylek [Fri, 23 Aug 2019 23:24:35 +0000 (01:24 +0200)]
Revert "Split test build and run into two jobs (dotnet/coreclr#26191)" (dotnet/coreclr#26348)

This reverts commit dotnet/coreclr@2c01bb82f77e88e58c777d2e1995bb32dd0d8777.

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

5 years agoSplit test build and run into two jobs (dotnet/coreclr#26191)
Tomáš Rylek [Fri, 23 Aug 2019 22:55:01 +0000 (00:55 +0200)]
Split test build and run into two jobs (dotnet/coreclr#26191)

This change is intended to split the test job in CI runs into two
jobs - one building the tests and another sending the run to Helix.
To facilitate this, I have copied the bulk of the existing
test-job.yml file into two new files, build-test.yml and run-test.yml;
test-job.yml has become a mere wrapper invoking these two new files.

The new build-test file builds the tests, zips the output folder
and publishes it as an Azure artifact (the artifact publishing step
is no longer optional). The subsequent run-test step downloads the
test artifacts and triggers the Helix run for the test set.

The motivation for this change is to mitigate various transient
issues seen in CoreCLR CI runs - when a test execution fails in a
non-deterministic manner, before this change the developer needed to
rerun the lengthy test build step just to retry the tests. This
change should enable rerunning just the test execution step in such
case.

I have added a new job template xplat-test-job.yml where I moved the
test-specific properties I originally put into xplat-job.yml and
Egor didn't like them there.

I have added a new step template "upload-artifact-step.yml" to zip up
and publish a given subtree under a given artifact name. Tried
to design its API so that it should be usable for zipping the entire
GitHub enlistment should we choose to do that. Changed
build-test-job.yml to call the step.

I have added a new step template "download-artifact-step.yml" to download
and unzip a given subtree from a given artifact. Tried to design
its API so that it should be usable for restoring the GitHub
enlistment in the various jobs within a particular pipeline.

Thanks

Tomas

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

5 years agoChange gh_25468 to build as an sdk project (dotnet/coreclr#26346)
Jarret Shook [Fri, 23 Aug 2019 22:52:03 +0000 (15:52 -0700)]
Change gh_25468 to build as an sdk project (dotnet/coreclr#26346)

Fixes dotnet/coreclr#26345

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

5 years agoAdd ISOSDacInterface7 implementation (dotnet/coreclr#26227)
David Mason [Fri, 23 Aug 2019 22:19:44 +0000 (15:19 -0700)]
Add ISOSDacInterface7 implementation (dotnet/coreclr#26227)

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

5 years agoReplace Ubuntu 1404 platforms with 1604 (dotnet/coreclr#26302)
Fadi Hanna [Fri, 23 Aug 2019 19:43:16 +0000 (12:43 -0700)]
Replace Ubuntu 1404 platforms with 1604 (dotnet/coreclr#26302)

* Replace Ubuntu 1404 platforms with 1604

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

5 years agoRepro for dotnet/coreclr#25468 (dotnet/coreclr#26009)
Carol Eidt [Fri, 23 Aug 2019 18:23:40 +0000 (11:23 -0700)]
Repro for dotnet/coreclr#25468 (dotnet/coreclr#26009)

Also some additional dump & debugging support.

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

5 years agoRemove unused runtime functions and files (dotnet/coreclr#26298)
Jan Vorlicek [Fri, 23 Aug 2019 17:32:07 +0000 (19:32 +0200)]
Remove unused runtime functions and files (dotnet/coreclr#26298)

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

5 years agoFix PIE options (dotnet/coreclr#26323)
Jan Vorlicek [Fri, 23 Aug 2019 15:03:01 +0000 (17:03 +0200)]
Fix PIE options (dotnet/coreclr#26323)

* Fix PIE options

We were missing passing the -pie linker option. That means that while we
were compiling our code as position independent, the executables
(not shared libraries) were not marked as position independent and
ASLR was not applied to them. They were always loaded to fixed addresses.

This change adds the missing -pie option and also replaces all the individual
settings of -fPIE / -fPIC on the targets we build by a centralized setting
of CMAKE_POSITION_INDEPENDENT_CODE variable that causes cmake to add the
appropriate compiler options everywhere.

* Fix native parts of coreclr tests build

The native parts of the tests are not built using the root CMakeLists.txt
so I am moving enabling the position independent code to configurecompiler.cmake

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

5 years agoDo not expand variant isinst check inline (dotnet/coreclr#26314)
Michal Strehovský [Fri, 23 Aug 2019 13:32:23 +0000 (15:32 +0200)]
Do not expand variant isinst check inline (dotnet/coreclr#26314)

This probably cannot be hit with vanilla CoreCLR right now (we seem to be using the slow helper for variant casts) but this got hit in a non-shipping configuration.

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

5 years agoSmall cleaning in JIT32_GCENCODER functions. (dotnet/coreclr#26192)
Sergey Andreenko [Fri, 23 Aug 2019 06:59:41 +0000 (23:59 -0700)]
Small cleaning in JIT32_GCENCODER functions. (dotnet/coreclr#26192)

* Put gcCountForHeader under JIT32_GCENCODER.

* Prepare to extract gcIsVarUntracked.

Move `lvaIsFieldOfDependentlyPromotedStruct` up so we skip struct fields that have struct type (would be a bug if we have recursive struct promotion).

Move `if (varDsc->lvType == TYP_STRUCT`) under else, because the parent `if (varTypeIsGC(varDsc->TypeGet()) )` always skips `TYP_STRUCT`.

Merge other diffs.
That is a good example why you should not copy-paste!

* Extract gcIsUntrackedLocalOrNonEnregisteredArg.

* Update gcCountForHeader.

* Delete if (!varDsc->lvOnFrame) under if (varDsc->lvOnFrame).

I found that after the legacy backend was deleted we ended up with:
```
if (!varDsc->lvOnFrame)
{}
else
{
  if (!varDsc->lvOnFrame)
  {}
}
```

so i decided to delete that, but then I found that there were 2 such cases, decided to clean that and thats how this PR appeared.

* Delete useless first pass in gcMakeRegPtrTable.

Use gcCountForHeader for checking purposes.
Extract logic for WIN64EXCEPTIONS.

* Update the comment about lvIsRegArg.

* Update the header for the new function.

* Response review.

* Add a comment for the future readers.

* format fix.

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

5 years agoDo not clip CPU count when CPU quota is used. (dotnet/coreclr#26153)
Vladimir Sadov [Fri, 23 Aug 2019 02:57:06 +0000 (19:57 -0700)]
Do not clip CPU count when CPU quota is used. (dotnet/coreclr#26153)

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

5 years agoRemove timeout in a test for GCStress modes (dotnet/coreclr#26258)
Koundinya Veluri [Fri, 23 Aug 2019 02:13:24 +0000 (19:13 -0700)]
Remove timeout in a test for GCStress modes (dotnet/coreclr#26258)

Fixes https://github.com/dotnet/coreclr/issues/25510
- Timeout will be handled by the harness

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

5 years agoMove TypeSystemLog::OnKeywordsChanged from EtwCallback to EtwCallbackCommon to enable...
John Salem [Thu, 22 Aug 2019 23:46:24 +0000 (16:46 -0700)]
Move TypeSystemLog::OnKeywordsChanged from EtwCallback to EtwCallbackCommon to enable this same behavior in ETW and EventPipe.   This unblocks parity for GCHeapDumps between ETW and EventPipe (dotnet/coreclr#26270)

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

5 years agoImplement ilasm and ildasm support for .param constraint with Custom attributes ...
Brian Sullivan [Thu, 22 Aug 2019 22:43:25 +0000 (15:43 -0700)]
Implement ilasm and ildasm support for .param constraint with Custom attributes (dotnet/coreclr#26219)

* Implement ildasm support for .param constraint with Custom attributes
* Implement ilasm support for .param constraint with Custom attributes

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

5 years agoCleanup GregorianCalendarHelper leap month checks (dotnet/coreclr#26321)
Tarek Mahmoud Sayed [Thu, 22 Aug 2019 22:16:46 +0000 (15:16 -0700)]
Cleanup GregorianCalendarHelper  leap month checks (dotnet/coreclr#26321)

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

5 years agoFix loop hoist ordering (part I - "swap" case) (dotnet/coreclr#20650)
mikedn [Thu, 22 Aug 2019 22:13:14 +0000 (01:13 +0300)]
Fix loop hoist ordering (part I - "swap" case) (dotnet/coreclr#20650)

* Change optHoistLoopExprsForTree to use GenTreeVisitor

* Rename ArrayStack::Index to Top

Having Bottom/Top/Index is risky, sooner or later someone will get confused and use Index instead of Bottom.

* optHoistLoopExprsForTree -> optHoistLoopExprsForStmt

Change `optHoistLoopExprsForTree` to handle the entire statement tree so we no longer need the `hoistable` parameter and `optHoistCandidate` is confined to the visitor.

* optHoistLoopExprsForStmt -> optHoistLoopExprsForBlock

Now move block hoisting to optHoistLoopExprsForStmt so the visitor can maintain `firstBlockAndBeforeSideEffect` itself instead of having a bool* passed to it.

* optHoistLoopExprsForBlock -> optHoistLoopBlocks

Put the block hoisting in one place so we can reuse the visitor,
together with it's value stack and whatever memory it has allocated.

optHoistLoopExprsForBlock -> optHoistLoopBlocks

* Fix loop hoist ordering

When a non-hoistable node is encountered it is not sufficient to hoist all its hoistable children, there may be siblings that are also hoistable and since the tree is traversed in execution order they need to be hoisted first.

* Remove optTreeIsValidAtLoopHead

It is redundant. HoistVisitor traverses a tree, decides that it is invariant and attempts to hoist it using optHoistCandidate.

And optHoistCandidate calls optTreeIsValidAtLoopHead that traverses the tree again and rejects hoisting if the tree contains non-SSA variables or SSA variables defined outside the loop.

Well, just check for such cases during the traversal done by HoistVisitor, there's no need to traverse the tree twice.

* Remove bogus conditions from optHoistCandidate

Nobody's calling it with an invalid loop number or with a loop that isn't hoistable.

* Remove bogus block op check

OperIsCopyBlkOp can't be true - the GT_ASG case was already handled and what's left are STORE_BLK/OBJ nodes, but those don't appear until lowering.

* Remove bogus PHI VN check

The "It's not *really* a definition, rather a pass-through of some other VN." case doesn't actually use VNF_PhiDef functions. If it's a pass-through then the VN of the PHI is just that "other VN".

* Remove MAX_CHILDREN define

It was used only by optHoistLoopExprsForTree. It's also incompatible with the elimination of GT_LIST nodes as that makes nodes have an unbounded number of children.

* PR feedback

* Mark local nodes as hoistable/invariant

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

5 years agoRemove native test build from build.sh (dotnet/coreclr#26176)
Jarret Shook [Thu, 22 Aug 2019 17:10:03 +0000 (10:10 -0700)]
Remove native test build from build.sh (dotnet/coreclr#26176)

* Remove native test build from build.sh

* Remove skiptests from unix documentation and yml

* Add back skiptests for winodws

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

5 years agoMark methods specially handled in JitInterface Intrinsic (dotnet/coreclr#26209)
Michal Strehovský [Thu, 22 Aug 2019 17:02:43 +0000 (19:02 +0200)]
Mark methods specially handled in JitInterface Intrinsic (dotnet/coreclr#26209)

* Mark methods specially handled in JitInterface Intrinsic

For CPAOT compiler's sake.

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

5 years agoFix issue with local getting out of scope (dotnet/coreclr#25708)
Fadi Hanna [Thu, 22 Aug 2019 11:31:08 +0000 (04:31 -0700)]
Fix issue with local getting out of scope (dotnet/coreclr#25708)

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

5 years agoFix IDE0034 (simplify default expression)
Stephen Toub [Wed, 21 Aug 2019 17:06:37 +0000 (13:06 -0400)]
Fix IDE0034 (simplify default expression)

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

5 years agoFix IDE0054 (use compound assignment)
Stephen Toub [Wed, 21 Aug 2019 16:57:38 +0000 (12:57 -0400)]
Fix IDE0054 (use compound assignment)

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

5 years agoFix (mostly) IDE0055 (formatting)
Stephen Toub [Wed, 21 Aug 2019 16:51:58 +0000 (12:51 -0400)]
Fix (mostly) IDE0055 (formatting)

Lots of various spacing issues.  I say "mostly" because I explicitly undid some changes that added to rather than reduced inconsistency, e.g. region indents.  We can revisit that later.

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

5 years agoFix StyleCop warning SA1114 (parameter list should follow declaration)
Stephen Toub [Tue, 20 Aug 2019 16:26:05 +0000 (12:26 -0400)]
Fix StyleCop warning SA1114 (parameter list should follow declaration)

Fixed just be removing stale/unnecessary comments.

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

5 years agoFix StyleCop warning SA1006 (empty statements)
Stephen Toub [Tue, 20 Aug 2019 16:22:38 +0000 (12:22 -0400)]
Fix StyleCop warning SA1006 (empty statements)

This is just running the rule and auto-fixing everything.  I undid changes that converted e.g. `while (...);` to `while (...) { }`.

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

5 years agoFix StyleCop warning SA1005 (single line comment spacing)
Stephen Toub [Tue, 20 Aug 2019 15:52:42 +0000 (11:52 -0400)]
Fix StyleCop warning SA1005 (single line comment spacing)

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

5 years agoFix (mostly) StyleCop warning SA1003 (operator symbol spacing)
Stephen Toub [Tue, 20 Aug 2019 13:29:48 +0000 (09:29 -0400)]
Fix (mostly) StyleCop warning SA1003 (operator symbol spacing)

The "mostly" here is that I undid changes where it was forcing formatting around a `: this` or `: base` call for a ctor, in particular where it was moving one up from the next line to be at the end of the current line.

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

5 years agoFix StyleCop warning SA1024 (colon spacing)
Stephen Toub [Tue, 20 Aug 2019 13:20:57 +0000 (09:20 -0400)]
Fix StyleCop warning SA1024 (colon spacing)

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

5 years agoFix StyleCop warning SA1015 (closing generic brace spacing)
Stephen Toub [Tue, 20 Aug 2019 13:16:19 +0000 (09:16 -0400)]
Fix StyleCop warning SA1015 (closing generic brace spacing)

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

5 years agoFix StyleCop warning SA1013 (closing brace spacing)
Stephen Toub [Tue, 20 Aug 2019 13:14:01 +0000 (09:14 -0400)]
Fix StyleCop warning SA1013 (closing brace spacing)

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

5 years agoFix StyleCop warning SA1012 (opening brace spacing)
Stephen Toub [Tue, 20 Aug 2019 13:11:58 +0000 (09:11 -0400)]
Fix StyleCop warning SA1012 (opening brace spacing)

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

5 years agoFix StyleCop warning SA1008 (opening paren spacing)
Stephen Toub [Tue, 20 Aug 2019 01:27:54 +0000 (21:27 -0400)]
Fix StyleCop warning SA1008 (opening paren spacing)

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

5 years agoFix StyleCop warning SA1002 (semicolon spacing)
Stephen Toub [Tue, 20 Aug 2019 01:25:08 +0000 (21:25 -0400)]
Fix StyleCop warning SA1002 (semicolon spacing)

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

5 years agoFix StyleCop warning SA1001 (commas followed by whitespace)
Stephen Toub [Tue, 20 Aug 2019 01:17:07 +0000 (21:17 -0400)]
Fix StyleCop warning SA1001 (commas followed by whitespace)

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

5 years agoRemove unused PAL functions (dotnet/coreclr#26277)
Jan Vorlicek [Wed, 21 Aug 2019 05:11:24 +0000 (07:11 +0200)]
Remove unused PAL functions (dotnet/coreclr#26277)

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

5 years agoAdd support ildasm to support the metadata option again. (dotnet/coreclr#26266)
David Wrighton [Wed, 21 Aug 2019 00:30:10 +0000 (17:30 -0700)]
Add support ildasm to support the metadata option again. (dotnet/coreclr#26266)

Fixes issue dotnet/coreclrdotnet/coreclr#26265

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

5 years agoMerge pull request dotnet/coreclr#26177 from MattGal/update-more-docker-images
Matt Galbraith [Tue, 20 Aug 2019 23:19:50 +0000 (16:19 -0700)]
Merge pull request dotnet/coreclr#26177 from MattGal/update-more-docker-images

Update docker images to pick up ones with LibGDIPlus preview builds

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

5 years agoMark emitted types assembly as collectible in ABI stress (dotnet/coreclr#26253)
Jakob Botsch Nielsen [Tue, 20 Aug 2019 21:44:53 +0000 (14:44 -0700)]
Mark emitted types assembly as collectible in ABI stress (dotnet/coreclr#26253)

This makes it compatible with RunInContext.

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

5 years agoRename WIN64EXCEPTIONS to FEATURE_EH_FUNCLETS. (dotnet/coreclr#26220)
Sergey Andreenko [Tue, 20 Aug 2019 21:42:32 +0000 (14:42 -0700)]
Rename WIN64EXCEPTIONS to FEATURE_EH_FUNCLETS. (dotnet/coreclr#26220)

* Use FEATURE_EH_FUNCLETS in jit as WIN64EXCEPTIONS is used in VM.

It will help as to add this as global defenition and replace WIN64EXCEPTIONS with it.

* Make FEATURE_EH_FUNCLETS available for VM.

Note that we do not add this define to jit\linuxnonjit for x86,
because it needs FEATURE_PAL to be defined on x86 Linux and
FEATURE_PAL is not defined when we are running linux altjit on Windows.

* Rename WIN64EXCEPTIONS to FEATURE_EH_FUNCLETS.

* Delete WIN64EXCEPTIONS.

That was confusing because it was defined on Linux x64/arm64 and on Windows arm32.

* Define DFEATURE_EH_FUNCLETS later in the file, with a condition.

* Fix two typos in comments.

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

5 years agoMark nogc as a long running gc test (dotnet/coreclr#26236)
Jarret Shook [Tue, 20 Aug 2019 21:02:08 +0000 (14:02 -0700)]
Mark nogc as a long running gc test (dotnet/coreclr#26236)

This test has been repeatedly flaky in CI

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

5 years agoAvoid race condition in DiagnosticCounter (dotnet/coreclr#26260)
Stephen Toub [Tue, 20 Aug 2019 19:21:27 +0000 (15:21 -0400)]
Avoid race condition in DiagnosticCounter (dotnet/coreclr#26260)

* Avoid race condition in DiagnosticCounter

If while a DiagnosticCounter instance is being created the timer fires to process counters, the timer may end up evaluating a DiagnosticCounter whose constructor or derived types' constructor hasn't finished configuring the instance's state yet.

* Remove unnecessary #if

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

5 years agoFix IPC response for CollectTracingV2 (dotnet/coreclr#26224)
John Salem [Tue, 20 Aug 2019 16:40:11 +0000 (09:40 -0700)]
Fix IPC response for CollectTracingV2 (dotnet/coreclr#26224)

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

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