Queue ValueTaskAwaiter IAsyncStateMachineBox directly to ThreadPool (#21159)
authorBen Adams <thundercat@illyriad.co.uk>
Wed, 28 Nov 2018 21:45:16 +0000 (21:45 +0000)
committerStephen Toub <stoub@microsoft.com>
Wed, 28 Nov 2018 21:45:16 +0000 (16:45 -0500)
commite7ead79fedc52e17f2cf9befd5c0f5091d70f909
tree432843200d1b9950c14f08e40d87932ea1b2a494
parent204d2da615347cb540c5fd36989953536d77140a
Queue ValueTaskAwaiter IAsyncStateMachineBox directly to ThreadPool (#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
src/System.Private.CoreLib/shared/System/Runtime/CompilerServices/ConfiguredValueTaskAwaitable.cs
src/System.Private.CoreLib/shared/System/Runtime/CompilerServices/ValueTaskAwaiter.cs
src/System.Private.CoreLib/src/System/Threading/ThreadPool.cs