platform/upstream/dotnet/runtime.git
5 years agoAdd tests for marshalling RuntimeHandle types. (dotnet/coreclr#21091)
Jeremy Koritzinsky [Wed, 5 Dec 2018 18:04:52 +0000 (10:04 -0800)]
Add tests for marshalling RuntimeHandle types. (dotnet/coreclr#21091)

* Add tests for marshalling runtime handles.

* Remove DLL signature for impossible test

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

5 years agoRemove FromGAC & OnTPAList (dotnet/coreclr#21371)
Steve MacLean [Wed, 5 Dec 2018 18:03:56 +0000 (13:03 -0500)]
Remove FromGAC & OnTPAList (dotnet/coreclr#21371)

* Remove FromGAC & OnTPAList
* PR feedback

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

5 years agoRevert Array enumerator behavior change (dotnet/coreclr#21368)
Jan Kotas [Wed, 5 Dec 2018 16:01:02 +0000 (08:01 -0800)]
Revert Array enumerator behavior change (dotnet/coreclr#21368)

Fixes dotnet/coreclr#21046

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

5 years agoConvert SDK projects into non-SDK projects (dotnet/coreclr#21369)
Aaron Robinson [Wed, 5 Dec 2018 04:13:48 +0000 (20:13 -0800)]
Convert SDK projects into non-SDK projects (dotnet/coreclr#21369)

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

5 years agoAdd repro for `(reg2 == REG_NEXT(reg1)) || (reg2 == REG_LR)` assert in `codegenarm64...
Sergey Andreenko [Wed, 5 Dec 2018 03:58:32 +0000 (19:58 -0800)]
Add repro for `(reg2 == REG_NEXT(reg1)) || (reg2 == REG_LR)` assert in `codegenarm64`. (dotnet/coreclr#21344)

* Add a repro.

* Exclude the failing test.

* fix formatting

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

5 years agoFix XML comments on *nux (dotnet/coreclr#21372)
Steve MacLean [Wed, 5 Dec 2018 02:57:17 +0000 (21:57 -0500)]
Fix XML comments on *nux (dotnet/coreclr#21372)

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

5 years agoAdditional tests for type equivalence (dotnet/coreclr#21340)
Aaron Robinson [Wed, 5 Dec 2018 01:59:28 +0000 (17:59 -0800)]
Additional tests for type equivalence (dotnet/coreclr#21340)

* Additional tests for type equivalence

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

5 years agoMerge pull request dotnet/coreclr#21313 from stephentoub/asynciteratorattr
Stephen Toub [Wed, 5 Dec 2018 00:14:33 +0000 (19:14 -0500)]
Merge pull request dotnet/coreclr#21313 from stephentoub/asynciteratorattr

Add AsyncIteratorStateMachineAttribute

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

5 years agoImprove BMI2 MultiplyNoFlags APIs (dotnet/coreclr#21362)
Fei Peng [Wed, 5 Dec 2018 00:06:39 +0000 (16:06 -0800)]
Improve BMI2 MultiplyNoFlags APIs (dotnet/coreclr#21362)

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

5 years agoUpdate the symbol uploader/publisher to version 1.0.0-beta-63604-05. (dotnet/coreclr...
Mike McLaughlin [Tue, 4 Dec 2018 20:51:50 +0000 (12:51 -0800)]
Update the symbol uploader/publisher to version 1.0.0-beta-63604-05. (dotnet/coreclr#21360)

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

5 years agoMerge pull request dotnet/coreclr#21356 from stephentoub/xmlcomments
Stephen Toub [Tue, 4 Dec 2018 18:55:52 +0000 (13:55 -0500)]
Merge pull request dotnet/coreclr#21356 from stephentoub/xmlcomments

Fix lots of malformed XML comments

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

5 years agoUpdate CoreClr, CoreFx, CoreSetup to preview-27204-02, preview.18604.2, preview-27204...
dotnet-maestro-bot [Tue, 4 Dec 2018 17:52:55 +0000 (09:52 -0800)]
Update CoreClr, CoreFx, CoreSetup to preview-27204-02, preview.18604.2, preview-27204-02, respectively (dotnet/coreclr#21353)

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

5 years agoDelete dead code in Task<T>
Stephen Toub [Tue, 4 Dec 2018 16:30:19 +0000 (11:30 -0500)]
Delete dead code in Task<T>

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

5 years agoEnable building/validating XML comments in CoreLib
Stephen Toub [Tue, 4 Dec 2018 16:28:52 +0000 (11:28 -0500)]
Enable building/validating XML comments in CoreLib

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

5 years agoFix lots of malformed XML comments
Stephen Toub [Tue, 4 Dec 2018 15:47:21 +0000 (10:47 -0500)]
Fix lots of malformed XML comments

These are causing errors in the source.dot.net build.  Turning on DocumentationFile and suppressing 1591, 1573, and 0419, Corelib builds clean after these changes.

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

5 years agoUpdate CoreClr, CoreFx, CoreSetup to preview-27204-01, preview.18604.1, preview-27203...
dotnet-maestro-bot [Tue, 4 Dec 2018 13:52:04 +0000 (05:52 -0800)]
Update CoreClr, CoreFx, CoreSetup to preview-27204-01, preview.18604.1, preview-27203-03, respectively (dotnet/coreclr#21346)

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

5 years agoFixing the Vector64/128/256<T>.ToString(string) methods to pass `null` for the format...
Tanner Gooding [Tue, 4 Dec 2018 13:51:50 +0000 (05:51 -0800)]
Fixing the Vector64/128/256<T>.ToString(string) methods to pass `null` for the formatProvider (dotnet/coreclr#21350)

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

5 years agoRemove *LoadContextHostBinder (dotnet/coreclr#21342)
Steve MacLean [Tue, 4 Dec 2018 07:27:31 +0000 (02:27 -0500)]
Remove *LoadContextHostBinder (dotnet/coreclr#21342)

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

5 years agoSort System.Private.CoreLib.csproj
Jan Kotas [Mon, 3 Dec 2018 20:57:56 +0000 (12:57 -0800)]
Sort System.Private.CoreLib.csproj

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

5 years agoAdd RuntimeFeature.IsDynamicCodeSupported/IsDynamicCodeCompiled
Jan Kotas [Mon, 3 Dec 2018 18:26:14 +0000 (10:26 -0800)]
Add RuntimeFeature.IsDynamicCodeSupported/IsDynamicCodeCompiled

Contributes to dotnet/corefxdotnet/coreclr#29258

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

5 years agoFinish (mostly) erradicating StringBuilder marshaling from corefx (dotnet/coreclr...
Stephen Toub [Tue, 4 Dec 2018 01:39:02 +0000 (20:39 -0500)]
Finish (mostly) erradicating StringBuilder marshaling from corefx (dotnet/coreclr#33780)

* Finish (mostly) erradicating StringBuilder marshaling from corefx

This should finish my quest of removing StringBuilder marshaling from coreclr and corefx, which I've strived to do because it often adds unnecessary overhead and often is done incorrectly because of intricacies in how the marshaling works; while not using it often leads to `unsafe` code at call sites, there's much less magic, and it affords the ability to optimize more if desired.

There are still three remaining [Out] StringBuilder's in Interop.Odbc.cs, which I've not removed because tests are limited and the call graph to these is non-trivial with StringBuilders passed through.  There may also be a few straggling DllImports I missed while scouring interop that's not following our guidelines of being in src\Common\.

Other than those, the remaining StringBuilder usage I found in DllImports was for [In] only, and in those cases it's reasonable, as the call sites are building up StringBuilders and then passing them off to the call sites; converting those to use `char*` or similar could actually make them more expensive.  I did, however, ensure they were properly annotated as [In], in order to make the intent clear and avoid potential marshaling costs for the unnecessary [Out] direction.

Where I was touching a function in one of these stray interop files that was duplicated elsewhere, I also consolidated it to a centralized location, but I've not in this PR done the cleanup work for the rest of the files.

* Address PR feedback

* Address further feedback

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

5 years agoRefactor all FCalls out of AppDomain.cs (dotnet/coreclr#21337)
Jan Kotas [Tue, 4 Dec 2018 00:11:29 +0000 (16:11 -0800)]
Refactor all FCalls out of AppDomain.cs (dotnet/coreclr#21337)

This saves the unmanaged->managed->unmanaged trip to initialize the assembly binder.

Includes small bits of unrelated cleanup.

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

5 years agoVectorize some Guid APIs (ctor, TryWriteBytes) (dotnet/coreclr#21336)
Egor Bogatov [Mon, 3 Dec 2018 22:56:38 +0000 (01:56 +0300)]
Vectorize some Guid APIs (ctor, TryWriteBytes) (dotnet/coreclr#21336)

* Optimize some Guid APIs

* get rid of WriteByteHelper

* use TryWrite instead of Write

* Optimize ctor `Guid(ReadOnlySpan<byte> b)` and remove `Equals` optimization (move to separate PR).

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

5 years agoRemove Hostx86/arm CrossGen from building and Simplify build.sh command line argument...
Egor Chesakov [Mon, 3 Dec 2018 22:51:28 +0000 (14:51 -0800)]
Remove Hostx86/arm CrossGen from building and Simplify build.sh command line arguments for Linux/arm cross build (Part 2) (dotnet/coreclr#21034)

* Stop building and publishing Hostx86/arm crossgen on Linux/arm

* Remove -crosscomponent argument and stop using CAC_ROOTFS_DIR environment variable in build.sh

* Simplify the related logic in build.sh

* Don't need to specify crosscomponent in tests/scripts/run-pmi-diffs.py

* Don't set CAC_ROOTFS_DIR in buildpipeline, Jenkins files and in tests/scripts/run-pmi-diffs.py

* Adjust documentation

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

5 years agoMerge pull request dotnet/coreclr#21264 from fiigii/x64only
Carol Eidt [Mon, 3 Dec 2018 20:52:20 +0000 (12:52 -0800)]
Merge pull request dotnet/coreclr#21264 from fiigii/x64only

 Implement 64-bit-only hardware intrinsic

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

5 years agoCorrect platorm reach for the Official build (dotnet/coreclr#21310)
Jarret Shook [Mon, 3 Dec 2018 20:46:35 +0000 (12:46 -0800)]
Correct platorm reach for the Official build (dotnet/coreclr#21310)

* Correct platorm reach for the Official build

Does the following:

1. Sets up a ci rule for master and a pr rule for master
2. Corrects the OSX queues
3. Corrects ubuntu internal queue
4. Converts all linux jobs to build using containers
5. Only runs official builds on: Pri1, release, bringing us to parity with old process
6. Fixes centos build-test
7. Adds a super-annoying groupname tag that avoids name mangling.

* make sure we only add triggers for internal builds

* Fix syntax

* Missing :

* Remove pr/ci

* Fix internal queue name

* Correct Public/internal choices.

* Add crossgen as well

* Correct indentation

* Correct checked pri1 tests

* Address pr feedback

* Add todo comments

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

5 years agoClarify use of LoadFromAssemblyName method (dotnet/coreclr#21256)
Rui [Mon, 3 Dec 2018 20:33:51 +0000 (15:33 -0500)]
Clarify use of LoadFromAssemblyName method (dotnet/coreclr#21256)

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

5 years agoImprovements for naked R2RDump output (dotnet/coreclr#21317)
Tomáš Rylek [Mon, 3 Dec 2018 19:33:49 +0000 (20:33 +0100)]
Improvements for naked R2RDump output (dotnet/coreclr#21317)

The initial impulse for this change was removing native offsets
from debug info that caused noise in naked R2R comparisons. Fixing
this required propagation of DumpOptions to some more call sites
prompting me to unify dumping logic to always use TextWriter
as the output medium. I have also fixed some minor bugs I noticed
around the naked disassembly.

Thanks

Tomas

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

5 years agoUpdate BuildTools, CoreClr, CoreFx, CoreSetup to preview1-03430-01, preview-27203...
dotnet-maestro-bot [Mon, 3 Dec 2018 18:53:23 +0000 (10:53 -0800)]
Update BuildTools, CoreClr, CoreFx, CoreSetup to preview1-03430-01, preview-27203-03, preview.18603.1, preview-27203-01, respectively (dotnet/coreclr#21291)

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

5 years agoJIT: fix overly aggressive type propagation from returns (dotnet/coreclr#21316)
Andy Ayers [Mon, 3 Dec 2018 18:46:52 +0000 (10:46 -0800)]
JIT: fix overly aggressive type propagation from returns (dotnet/coreclr#21316)

For quite a while now the jit has been propagating return types from
callees to the return spill temp. However this is only safe when the
callee has a single return site (or all return sites return the same
type).

Because return spill temps often end up getting assigned to still more
temps we haven't seen this overly aggressive type propgagation lead to
bugs, but now that we're tracking single def temps and doing more type
propagation during the late devirtualization callback, the fact that
these types are wrong has been exposed and can lead to incorrect
devirtualization.

The fix is to only consider the return spill temp as single def if the
callee has a single return site, and to check that the return spill temp
is single def before trying to propagate the type.

Fixes dotnet/coreclr#21295.

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

5 years agoMake sure the debug registers are available in the SavedRedirectContext (dotnet/corec...
Andrew Au [Mon, 3 Dec 2018 18:17:20 +0000 (10:17 -0800)]
Make sure the debug registers are available in the SavedRedirectContext (dotnet/coreclr#21293)

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

5 years agoRemove IsNeutralDomain() (dotnet/coreclr#21318)
Steve MacLean [Mon, 3 Dec 2018 17:49:31 +0000 (12:49 -0500)]
Remove IsNeutralDomain() (dotnet/coreclr#21318)

* Remove IsNeutralDomain()

* PR feedback

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

5 years agoFixes abbreviated genitive (dotnet/coreclr#21230)
Rafael Lillo [Mon, 3 Dec 2018 17:19:14 +0000 (15:19 -0200)]
Fixes abbreviated genitive (dotnet/coreclr#21230)

* fixes abbreviation

* reverse .gitignore

* remove token lenght

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

5 years agoDon't typedef intptr_t/uintptr_t when PAL_STDCPP_COMPAT is defined (dotnet/coreclr...
Ilia [Mon, 3 Dec 2018 15:25:24 +0000 (18:25 +0300)]
Don't typedef intptr_t/uintptr_t when PAL_STDCPP_COMPAT is defined (dotnet/coreclr#21165)

Bug: 20766

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

5 years agoMake RyuJIT tolerate null CLASSID_RUNTIME_TYPE (dotnet/coreclr#21331)
Michal Strehovský [Mon, 3 Dec 2018 08:15:26 +0000 (09:15 +0100)]
Make RyuJIT tolerate null CLASSID_RUNTIME_TYPE (dotnet/coreclr#21331)

If we're compiling a class library that has no concept of reflection (and runtime types), EE cannot provide a class handle for this class. Make RyuJIT tolerant to null coming back.

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

5 years agoStore CurrentThread in ThreadStatic (dotnet/coreclr#21328)
Ben Adams [Mon, 3 Dec 2018 06:46:26 +0000 (06:46 +0000)]
Store CurrentThread in ThreadStatic (dotnet/coreclr#21328)

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

5 years agoRevert [publish symbols on FreeBSD (dotnet/coreclr#21179)] (dotnet/coreclr#21329)
Russ Keldorph [Mon, 3 Dec 2018 00:40:18 +0000 (16:40 -0800)]
Revert [publish symbols on FreeBSD (dotnet/coreclr#21179)] (dotnet/coreclr#21329)

This reverts commit dotnet/coreclr@6120021023647ff881d791a033dba38a94fd1c2c.

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

5 years agoRename CorElementType enum members to match the others definitions (dotnet/coreclr...
Jan Kotas [Sat, 1 Dec 2018 21:09:21 +0000 (13:09 -0800)]
Rename CorElementType enum members to match the others definitions (dotnet/coreclr#21324)

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

5 years agoadded info about the new .NET memory book (dotnet/coreclr#21326)
Maoni Stephens [Sat, 1 Dec 2018 20:38:36 +0000 (12:38 -0800)]
added info about the new .NET memory book (dotnet/coreclr#21326)

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

5 years agoEnable COM interop for collectible classes (dotnet/coreclr#20919)
Jan Vorlicek [Sat, 1 Dec 2018 09:31:35 +0000 (10:31 +0100)]
Enable COM interop for collectible classes (dotnet/coreclr#20919)

* Enable COM interop for collectible classes

* Modify DispatchInfo to use LoaderAllocator handles

The DispatchMemberInfo was using global handles to refer to the managed
MemberInfo instances. That doesn't work with unloadability.
This change modifies it to use handles allocated from LoaderAllocator.

* Disable COM interop for WinRT types

* Remove collectible check from IsTypeVisibleFromCom. That fixes three
  new COM interop tests
* Add collectible check to GetComClassFactory when we check for
  unsupported interop with WinRT

* Add COM unloadability tests

Add two tests to test COM unloadability:
* One for using native COM server from managed COM client
* One for using managed COM objects from native client

* Add unloading test for IUnknownTest

* Disable NETClientPrimitivesInALC on Win ARM

The NETClientPrimitives is disabled there too.

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

5 years agoAddress PR feedback
Stephen Toub [Sat, 1 Dec 2018 04:31:11 +0000 (23:31 -0500)]
Address PR feedback

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

5 years agoChange target 'Target' and position in build steps for response file generation ...
Aaron Robinson [Sat, 1 Dec 2018 03:30:37 +0000 (19:30 -0800)]
Change target 'Target' and position in build steps for response file generation (dotnet/coreclr#21315)

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

5 years agoMigrate 64-bit-only intrinsic tests to new APIs
Fei Peng [Thu, 29 Nov 2018 00:25:48 +0000 (16:25 -0800)]
Migrate 64-bit-only intrinsic tests to new APIs

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

5 years agoMigrate FormattingHelpers.CountDigits to using Lzcnt.X64
Fei Peng [Thu, 15 Nov 2018 23:00:26 +0000 (15:00 -0800)]
Migrate FormattingHelpers.CountDigits to using Lzcnt.X64

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

5 years agoImplement 64-bit-only intrinsic
Fei Peng [Thu, 29 Nov 2018 00:25:14 +0000 (16:25 -0800)]
Implement 64-bit-only intrinsic

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

5 years agoFix crossgen segfault
Steve MacLean [Fri, 30 Nov 2018 23:15:26 +0000 (18:15 -0500)]
Fix crossgen segfault

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

5 years agoAddress PR feedback
Steve MacLean [Fri, 30 Nov 2018 22:18:46 +0000 (17:18 -0500)]
Address PR feedback

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

5 years agoRemove dead code
Steve MacLean [Fri, 30 Nov 2018 03:14:11 +0000 (22:14 -0500)]
Remove dead code

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

5 years agoMerge pull request dotnet/coreclr#21311 from CarolEidt/FixLvaUpdateClassDump
Carol Eidt [Fri, 30 Nov 2018 23:30:03 +0000 (15:30 -0800)]
Merge pull request dotnet/coreclr#21311 from CarolEidt/FixLvaUpdateClassDump

Fix dump in LvaUpdateClass

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

5 years agoReenable TypeEquivalence tests (dotnet/coreclr#21309)
Aaron Robinson [Fri, 30 Nov 2018 23:01:04 +0000 (15:01 -0800)]
Reenable TypeEquivalence tests (dotnet/coreclr#21309)

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

5 years agoRemove legacy 64-bit intrinsic APIs
Fei Peng [Thu, 15 Nov 2018 22:44:55 +0000 (14:44 -0800)]
Remove legacy 64-bit intrinsic APIs

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

5 years agoAdd AsyncIteratorStateMachineAttribute
Stephen Toub [Fri, 30 Nov 2018 22:24:19 +0000 (17:24 -0500)]
Add AsyncIteratorStateMachineAttribute

Exactly follows the design of AsyncStateMachineAttribute and IteratorStateMachineAttribute; the only thing different is the type name, "AsyncIterator" instead of "Async" and "Iterator".

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

5 years agoEliminate the requirement that abort requires no lock held on the current thread...
Andrew Au [Fri, 30 Nov 2018 21:40:44 +0000 (13:40 -0800)]
Eliminate the requirement that abort requires no lock held on the current thread (dotnet/coreclr#21206)

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

5 years agoFix dump in LvaUpdateClass
Carol Eidt [Fri, 30 Nov 2018 20:42:15 +0000 (12:42 -0800)]
Fix dump in LvaUpdateClass

It was failing, presumably because of too many or too large args, so break it up a abit.

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

5 years agoUpdate how CoreDisTools is discovered (dotnet/coreclr#21261)
Aaron Robinson [Fri, 30 Nov 2018 18:06:28 +0000 (10:06 -0800)]
Update how CoreDisTools is discovered (dotnet/coreclr#21261)

* Update Disassembler logic to search for CoreDisTools next to binary _or_ under the path specified by CORE_ROOT

* Update GCCover critical section

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

5 years agoA few more Enum perf improvements (dotnet/coreclr#21284)
Stephen Toub [Fri, 30 Nov 2018 15:16:25 +0000 (10:16 -0500)]
A few more Enum perf improvements (dotnet/coreclr#21284)

* A few more Enum perf improvements

I started out to just remove the unnecessary boxing allocation that happens when you do enum.ToString("D") or, if the value doesn't map to a named enum entry, just enum.ToString() (there's an internal boxing of the value that happens in addition to any boxing that happens of the enum itself).  As part of that, I added a ValueToString method that replaces the GetValue().ToString() calls that appear several times, and in writing that ValueToString, I opted to avoid pinning, instead using Unsafe.As.  Once I did that, I then removed pinning everywhere else it was being done, standardizing on Unsafe.As.

* Address PR feedback

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

5 years agoFix perf issues with GetCurrentThreadHomeHeapNumber (dotnet/coreclr#21150)
David Mason [Fri, 30 Nov 2018 09:25:57 +0000 (01:25 -0800)]
Fix perf issues with GetCurrentThreadHomeHeapNumber (dotnet/coreclr#21150)

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

5 years agoDisable TypeEquivalence tests due to flaky x86 build (dotnet/coreclr#21294)
Aaron Robinson [Fri, 30 Nov 2018 06:51:08 +0000 (22:51 -0800)]
Disable TypeEquivalence tests due to flaky x86 build (dotnet/coreclr#21294)

* Remove includes of SDK imports from prop and targets files

* Disable TypeEquivalence test due to failure on x86

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

5 years agoUndo accidental change
Jan Kotas [Fri, 30 Nov 2018 02:39:36 +0000 (18:39 -0800)]
Undo accidental change

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

5 years agoAdd EnumerateRunes() ref APIs and unit tests (dotnet/corefxdotnet/coreclr#33504)
Levi Broderick [Mon, 19 Nov 2018 23:07:08 +0000 (15:07 -0800)]
Add EnumerateRunes() ref APIs and unit tests (dotnet/corefxdotnet/coreclr#33504)

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

5 years agoDelete CORECLR ifdef (dotnet/corertdotnet/coreclr#6610)
Jan Kotas [Sat, 24 Nov 2018 19:53:33 +0000 (11:53 -0800)]
Delete CORECLR ifdef (dotnet/corertdotnet/coreclr#6610)

This ifdef should not be needed anymore.

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

5 years agoTypos (dotnet/corertdotnet/coreclr#6605)
John Doe [Thu, 22 Nov 2018 22:23:08 +0000 (14:23 -0800)]
Typos (dotnet/corertdotnet/coreclr#6605)

* accross -> across

* adress -> address

* Appartment -> Apartment

* persective -> perspective

* paramaterized -> parameterized

* Langage -> Language

* miminum -> minimum

* Curret -> Current

* currnet -> current

* definately -> definitely

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

5 years agoProperly report intrinsic fields (dotnet/corertdotnet/coreclr#6602)
Michal Strehovský [Thu, 22 Nov 2018 16:01:17 +0000 (17:01 +0100)]
Properly report intrinsic fields (dotnet/corertdotnet/coreclr#6602)

* Properly report intrinsic fields

We were hitting an assert in RyuJIT because we were reporting IntPtr.Zero as an intrinsic even if we were not trying to `CORINFO_ACCESS_GET`.

I fixed that part and also went ahead to port the rest of getFieldIntrinsic from CoreCLR. We'll need this anyway.

* Add intrinsic fields

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

5 years agoMerge pull request dotnet/coreclr#21287 from hoyosjs/fix-tls-daccast
Juan Hoyos [Fri, 30 Nov 2018 02:19:08 +0000 (18:19 -0800)]
Merge pull request dotnet/coreclr#21287 from hoyosjs/fix-tls-daccast

Properly DACize TLB access for thread local statics

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

5 years agoAdded TryParse to StandardFormat (dotnet/coreclr#21216)
Alexej Liebenthal [Fri, 30 Nov 2018 00:58:38 +0000 (01:58 +0100)]
Added TryParse to StandardFormat (dotnet/coreclr#21216)

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

5 years agoDefer Initialization of FrameworkEventSource During EventPipeController Initializatio...
Brian Robbins [Fri, 30 Nov 2018 00:39:41 +0000 (16:39 -0800)]
Defer Initialization of FrameworkEventSource During EventPipeController Initialization (dotnet/coreclr#21255)

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

5 years agoUpdate CoreClr, CoreFx, CoreSetup, PgoData to preview-27129-03, preview.18579.2,...
dotnet-maestro-bot [Thu, 29 Nov 2018 23:09:56 +0000 (15:09 -0800)]
Update CoreClr, CoreFx, CoreSetup, PgoData to preview-27129-03, preview.18579.2, preview-27129-02, master-20181124-0042, respectively (dotnet/coreclr#21178)

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

5 years agoProperly DACize TLB access for thread local statics
Juan Sebastian Hoyos Ayala [Thu, 29 Nov 2018 23:06:21 +0000 (15:06 -0800)]
Properly DACize TLB access for thread local statics

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

5 years agoAdd SuperPMI code for the new getMethodNameFromMetadata
Fei Peng [Thu, 29 Nov 2018 23:02:24 +0000 (15:02 -0800)]
Add SuperPMI code for the new getMethodNameFromMetadata

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

5 years agoUpdate JIT/EE getMethodNameFromMetadata to get enclosing class name
Fei Peng [Wed, 21 Nov 2018 01:05:25 +0000 (17:05 -0800)]
Update JIT/EE getMethodNameFromMetadata to get enclosing class name

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

5 years agoConsolidate validation code in Enum.ToObject overloads (dotnet/coreclr#21280)
Stephen Toub [Thu, 29 Nov 2018 21:01:02 +0000 (16:01 -0500)]
Consolidate validation code in Enum.ToObject overloads (dotnet/coreclr#21280)

Unnecessary duplication.  Moving it into a shared method has no measurable impact on ToObject performance, which is dominated by the boxing costs.

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

5 years agoImprove performance of Enum.{Try}Parse (dotnet/coreclr#21214)
Stephen Toub [Thu, 29 Nov 2018 20:59:30 +0000 (15:59 -0500)]
Improve performance of Enum.{Try}Parse (dotnet/coreclr#21214)

* Improve performance of Enum.{Try}Parse

In particular for the generic overloads, where this avoids all per-operation allocations when commonly used underlying types are used (for example, this improves when the underlying enum type is int but not double).

* Address PR feedback

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

5 years agoEnable type equivalence (dotnet/coreclr#21265)
Aaron Robinson [Thu, 29 Nov 2018 20:44:04 +0000 (12:44 -0800)]
Enable type equivalence (dotnet/coreclr#21265)

* Enable TypeEquivalence feature for Windows platform

* Basic test - verified test exercises TypeEquivalence code paths

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

5 years agoImplement the Count property, the IEquatable and IFormattable interfaces, and the...
Tanner Gooding [Thu, 29 Nov 2018 20:15:43 +0000 (12:15 -0800)]
Implement the Count property, the IEquatable and IFormattable interfaces, and the standard object overrides on Vector64/128/256<T> (dotnet/coreclr#21259)

* Exposing the Count property on Vector64/128/256<T>

* Implementing IEquatable, IFormattable, and the object overrides on Vector64/128/256<T>

* Use StringBuilderCache, HashCode, and the provided format specifier

* Use StringBuilderCache.GetStringAndRelease and get the correct element when formatting Vector64/128/256<T>

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

5 years agoAdd more advanced SafeArray tests (dotnet/coreclr#21063)
Jeremy Koritzinsky [Thu, 29 Nov 2018 19:57:36 +0000 (11:57 -0800)]
Add more advanced SafeArray tests (dotnet/coreclr#21063)

* Port simple SafeArray tests over from .NET Framework's test suite.

* Clean up native calling conventions.

* Add basic field array -> field SAFEARRAY* tests.

* Fix some hiding stdcall calling convention decorators.

* PR Feedback.

* Rewrite native part of SafeArray tests

* Wrote the managed side of the tests. Non-passing ones are currently commented out.

* Fix up tests and enable marshalling a string[] as a SAFEARRAY of LPSTR or LPWSTR.

* Add blittable records test with a return parameter.

* Add returning non-blittable record safearray test.

* Fix which typedef we're using

* Clean up

* Fix/cleanup RecordNative

* Replace "" with <> for platformdefines.h include.

* Use macro for calling convention.

* PR Feedback.

* Remove residual "Helpers.h" include.

* Fix remaining incorrect calling conventions.

* One more calling convention fix.

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

5 years agoFix build parallelism on Windows with NUMA (dotnet/coreclr#21278)
Jan Vorlicek [Thu, 29 Nov 2018 18:06:34 +0000 (19:06 +0100)]
Fix build parallelism on Windows with NUMA (dotnet/coreclr#21278)

When multiple NUMA nodes are enabled on the machine where coreclr is
built, we incorrectly detect the number of cores that we use for build
parallelism of the native part of the build (NumberOfCores) as only
a number in the last NUMA node.
The reason is that the `wmic cpu get NumberOfCores /value` returns
multiple lines, one per each NUMA node.
This change fixes it by summing values from all the lines.

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

5 years agoDon't treat the Vector64/128/256<T> helper methods as intrinsic if featureSIMD is...
Tanner Gooding [Thu, 29 Nov 2018 17:46:34 +0000 (09:46 -0800)]
Don't treat the Vector64/128/256<T> helper methods as intrinsic if featureSIMD is disabled (dotnet/coreclr#21274)

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

5 years agoMerge pull request dotnet/coreclr#21267 from BruceForstall/FixExclusion
Bruce Forstall [Thu, 29 Nov 2018 17:46:18 +0000 (09:46 -0800)]
Merge pull request dotnet/coreclr#21267 from BruceForstall/FixExclusion

Fix ObjectStackAllocationTests on Linux under minopts

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

5 years agopublish symbols on FreeBSD (dotnet/coreclr#21179)
Tomas Weinfurt [Thu, 29 Nov 2018 17:31:46 +0000 (09:31 -0800)]
publish symbols on FreeBSD (dotnet/coreclr#21179)

* enable build-id on FreeBSD

* start publishing symbols for freebsd

* enable FEATURE_PERFMAP on FreeBSD

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

5 years agoUpdating genSIMDZero to only use `xorps` (dotnet/coreclr#21249)
Tanner Gooding [Thu, 29 Nov 2018 15:59:27 +0000 (07:59 -0800)]
Updating genSIMDZero to only use `xorps` (dotnet/coreclr#21249)

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

5 years agoTrack single def locals in importer (dotnet/coreclr#21251)
Andy Ayers [Thu, 29 Nov 2018 08:32:55 +0000 (00:32 -0800)]
Track single def locals in importer (dotnet/coreclr#21251)

* Defer setting lvSingleDef until lvaMarkLocalVars

Since this information isn't used early on in the jit, defer setting this bit
until later.

* Track single-def locals in the importer

and use this information to enable type updates during late devirtualization.
This gets some cases where the exact type materializes late (perhaps via a
chain of copies).

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

5 years agoFix dotnet/coreclr#21209 (dotnet/coreclr#21237)
Swaroop Sridhar [Thu, 29 Nov 2018 07:09:30 +0000 (23:09 -0800)]
Fix dotnet/coreclr#21209 (dotnet/coreclr#21237)

This commit has two changes to Native Load Library Tests fix the failures in:
https://github.com/dotnet/coreclr/issues/21209

1) Windows: The test tried to load a DLL from Win32 directory which doesn't exist
   in Windows server 2016. So changed to use a file that exists.
2) Linux: Disable the test when run against packages -- because in this configuration
   the tests are built on Windows, and the native DLL is built separately and copied
   over to the CORE_ROOT directory instead of the test directory.
   [Several other tests are disabled with the comment "Issue building native DLL" on Linux]

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

5 years agoAdd IsCollectible property to Memberinfo and MethodInfo (dotnet/coreclr#21155)
John Salem [Thu, 29 Nov 2018 06:34:48 +0000 (22:34 -0800)]
Add IsCollectible property to Memberinfo and MethodInfo (dotnet/coreclr#21155)

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

5 years agoImprove Enum.ToString perf for [Flags] enums (dotnet/coreclr#21254)
Stephen Toub [Thu, 29 Nov 2018 04:04:08 +0000 (23:04 -0500)]
Improve Enum.ToString perf for [Flags] enums (dotnet/coreclr#21254)

Two main changes:
- Rather than using a StringBuilder to insert the strings for all of the consistuent values, we track the constituent values in a span, summing the expected length, and then new up a string and copy the results directly into it.
- When there's a single value that matches the supplied value, we just return the cached string rather than allocating a new one.

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

5 years agoRemove obsolete assert (dotnet/coreclr#21260)
Andrew Au [Thu, 29 Nov 2018 02:23:00 +0000 (18:23 -0800)]
Remove obsolete assert (dotnet/coreclr#21260)

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

5 years agoDelete code related to LoaderOptimization and SharedDomain (dotnet/coreclr#21031)
Jan Kotas [Thu, 29 Nov 2018 02:18:04 +0000 (18:18 -0800)]
Delete code related to LoaderOptimization and SharedDomain (dotnet/coreclr#21031)

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

5 years agoFix ObjectStackAllocationTests on Linux under minopts
Bruce Forstall [Thu, 29 Nov 2018 01:16:23 +0000 (17:16 -0800)]
Fix ObjectStackAllocationTests on Linux under minopts

Fix the capitalization of COMPlus_JITMinOpts variable, which
is case-sensitive on Linux.

Fixes dotnet/coreclr#21266

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

5 years agoQueue ValueTaskAwaiter IAsyncStateMachineBox directly to ThreadPool (dotnet/coreclr...
Ben Adams [Wed, 28 Nov 2018 21:45:16 +0000 (21:45 +0000)]
Queue ValueTaskAwaiter IAsyncStateMachineBox directly to ThreadPool (dotnet/coreclr#21159)

* Queue ValueTaskAwaiter IAsyncStateMachineBox directly to ThreadPool

* Invert the dependency

* Move to UnsafeQueueUserWorkItem

* MRVTSC queue null or Deafult EC to UnsafeQUWI

* Revert MRVTSC change

* Add comment and validation

* Use s_invokeAsyncStateMachineBox for AsTask

* nits

* nits 2

* Rever ValueTask

* nits

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

5 years agoUpdate Helix queues used for testing
Russ Keldorph [Wed, 28 Nov 2018 18:43:50 +0000 (10:43 -0800)]
Update Helix queues used for testing

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

5 years agoMerge pull request dotnet/coreclr#21217 from AndyAyersMS/Fix21051
Andy Ayers [Wed, 28 Nov 2018 20:51:46 +0000 (12:51 -0800)]
Merge pull request dotnet/coreclr#21217 from AndyAyersMS/Fix21051

JIT: retype some return expressions

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

5 years agoMerge pull request dotnet/coreclr#21226 from AndyAyersMS/HandleMoreGeneralIndirInJmpAddr
Andy Ayers [Wed, 28 Nov 2018 20:51:04 +0000 (12:51 -0800)]
Merge pull request dotnet/coreclr#21226 from AndyAyersMS/HandleMoreGeneralIndirInJmpAddr

JIT: handle general indir case for GT_JMP address

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

5 years agoSwitch to preemptive mode before calling COM (dotnet/coreclr#21238)
Jan Kotas [Wed, 28 Nov 2018 19:19:48 +0000 (11:19 -0800)]
Switch to preemptive mode before calling COM (dotnet/coreclr#21238)

* Switch to preemptive mode before calling COM

COM can call back the runtime via RCW that leads to contract violations

Fixes dotnet/coreclr#20373

* Fix one places

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

5 years ago Delete test dev10_630880 (dotnet/coreclr#21239)
Jan Kotas [Wed, 28 Nov 2018 19:18:54 +0000 (11:18 -0800)]
 Delete test dev10_630880 (dotnet/coreclr#21239)

* Revert "Disable test Dev10_630880"

This reverts commit dotnet/coreclr@4fb76de35184fb80054f29779f51af82a4aa7ad8.

* Delete test dev10_630880

This test has been exercising internal CoreLib details that have been deleted.

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

5 years agoMerge pull request dotnet/coreclr#21204 from briansull/issue_20185
Brian Sullivan [Wed, 28 Nov 2018 18:17:45 +0000 (10:17 -0800)]
Merge pull request dotnet/coreclr#21204 from briansull/issue_20185

Change VNUnpackExc to always write an exception set

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

5 years agoexclude tests\src\Interop\COM\NativeClients\Primitives from GCStress runs. (dotnet...
Sergey Andreenko [Wed, 28 Nov 2018 17:36:09 +0000 (09:36 -0800)]
exclude tests\src\Interop\COM\NativeClients\Primitives from GCStress runs. (dotnet/coreclr#21222)

* exclude tests\src\Interop\COM\NativeClients\Primitives.csproj from GCStress runs.

* fix alignment

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

5 years agoFixing up Utf8Parser.TryParseNumber to not fail for overly large exponents (dotnet...
Tanner Gooding [Wed, 28 Nov 2018 11:54:12 +0000 (03:54 -0800)]
Fixing up Utf8Parser.TryParseNumber to not fail for overly large exponents (dotnet/coreclr#21233)

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

5 years agoImplement the S.R.I.VectorXXX `get_Zero` and `As` helper methods as JIT intrinsics...
Tanner Gooding [Wed, 28 Nov 2018 11:52:43 +0000 (03:52 -0800)]
Implement the S.R.I.VectorXXX `get_Zero` and `As` helper methods as JIT intrinsics (dotnet/coreclr#21198)

* Remove ARM64_SIMD_StaticCast intrinsic and the x86 TwoTypeGeneric flag

* Implementing the `S.R.Intrinsic.VectorXXX.As` methods as runtime intrinsics

* Implementing the get_Zero method on the S.R.Intrinsic.VectorXXX types as runtime intrinsics

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

5 years agoImprove performance of cgroup access (dotnet/coreclr#21229)
Jan Vorlicek [Wed, 28 Nov 2018 08:55:35 +0000 (09:55 +0100)]
Improve performance of cgroup access (dotnet/coreclr#21229)

Currently, we create a CGroup instance on each request for getting
used or total physical memory. This has an extra cost of finding
filesystem paths of the current cgroup files. I have found that
if we do the initialization just once, the performance of getting
the used or total memory in a tight loop improves 22 times.

Accidentally, I was also looking into a perf regression in the
ByteMark.BenchBitOps test that was observed in the past, seemingly
related to the recent change to the way we get the used memory.
And I've found that the benchmark results improve two fold with
the change in this commit.

This change was made both in PAL and in the standalone GC.

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

5 years agoFix ILStubCache allocation for collectible assemblies (dotnet/coreclr#21188)
Jan Vorlicek [Wed, 28 Nov 2018 05:36:59 +0000 (06:36 +0100)]
Fix ILStubCache allocation for collectible assemblies (dotnet/coreclr#21188)

The ILStubCache was being allocated per domain unless the domain was a
compilation AppDomain. This is wrong for collectible assemblies, since
after an assembly is collected, the cache keeps stale entries referring
to already deleted MethodTables.
The fix is to make ILStubChange per LoaderAllocator instead (and keep
the per module instances for compilation AppDomain).

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

5 years agoMerge pull request dotnet/coreclr#21234 from BruceForstall/Disable630880
Bruce Forstall [Wed, 28 Nov 2018 03:39:04 +0000 (19:39 -0800)]
Merge pull request dotnet/coreclr#21234 from BruceForstall/Disable630880

Disable test Dev10_630880

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