Sergey Andreenko [Tue, 17 Oct 2017 00:46:05 +0000 (17:46 -0700)]
Fix optEarlyPropRewriteTree (#14480)
Return ans use the right tree from optEarlyPropRewriteTree
Forbid large dst nodes.
* fix typo
Roman Artemev [Mon, 16 Oct 2017 23:20:45 +0000 (16:20 -0700)]
Fixed stack probing for RHEL 6.9 (Linux kernel 2.6.32) (#14481)
Fixed stack probing for RHEL 6.9 (Linux kernel 2.6.32) (#14481)
Noah Falk [Mon, 16 Oct 2017 22:18:43 +0000 (15:18 -0700)]
Fix stepping with tiered jitting
Fix #14426. Added a more flexible IL master breakpoint that can:
a) bind to native offset 0 of each jitted code body
b) use a MethodDescFilter so that only jitted code for one generic instance receives breakpoints
The remaining change is simply to switch step-in and trace stepping to use that new breakpoint binding behavior instead of the code version specific binding behavior that was used before. This ensures that even if the code version changes after the trace occurs we will still have a breakpoint on the alternate code versions and complete the stepping operation.
William Godbe [Mon, 16 Oct 2017 22:17:17 +0000 (15:17 -0700)]
Merge pull request #14522 from dotnet/wtgodbe-patch-1
Parameterize PublishFlatContainer in x86 build
Sergey Andreenko [Mon, 16 Oct 2017 22:07:23 +0000 (15:07 -0700)]
spill GT_RET_EXPR inside fat calli candidates. (#14520)
spill ret expr
Jan Kotas [Mon, 16 Oct 2017 22:00:33 +0000 (15:00 -0700)]
Delete dead code (#14521)
Jacek Blaszczynski [Mon, 16 Oct 2017 21:56:59 +0000 (23:56 +0200)]
Optimize native build of coreclr repo - 3x less memory , 11% build time improvement (#14509)
* Fix native build overparallelism
* Fix native build parallelization problems
* Allow overriding all build workaround parameters
* Fix cleanup ommisions and local environment variable naming
* Address code review feedback
* Fix nul spelling and add standard message prefix
* Simplify settings for CL compiler parallelism
* Address code review feedback - remove whitespace
William Godbe [Mon, 16 Oct 2017 17:59:31 +0000 (10:59 -0700)]
Parameterize PublishFlatContainer in x86 build
This was missed in my last change to parameterize PublishFlatContainer across the board, and is what was causing the failures in today's pipe builds. We only want to publish non-flat for Release builds, but were hardcoding PublishFlatContainer=true for all builds in the x86 definition.
dotnet-maestro-bot [Mon, 16 Oct 2017 17:13:57 +0000 (12:13 -0500)]
Update CoreFx to preview1-25816-01 (#14516)
Michelle McDaniel [Mon, 16 Oct 2017 16:39:25 +0000 (09:39 -0700)]
Merge pull request #14519 from adiaaida/fixThroughputScript
Fix call to submission.py in run-throughput-perf.py
Michelle McDaniel [Mon, 16 Oct 2017 16:03:42 +0000 (09:03 -0700)]
Fix call to submission.py in run-throughput-perf.py
In run-throughput-perf.py, we were calling submission.py with --arch,
but submission.py requires -arch or --architecture. This recently made
submission.py start failing in throughput jobs.
This change also fixes run-throughput-perf so that if submission.py or
upload.py fail, the script fails so we see these jobs as failing in the
lab.
Sergey Andreenko [Mon, 16 Oct 2017 15:47:46 +0000 (08:47 -0700)]
Forbid to clone GT_RET_EXPR (#14495)
* Forbid to clone GT_RET_EXPR
It potentially creates non-unique trees.
Justin Van Patten [Mon, 16 Oct 2017 05:49:53 +0000 (22:49 -0700)]
Environment.SystemDirectory: Avoid StringBuilder overhead (#14513)
* Environment.SystemDirectory: Avoid StringBuilder overhead
Use a stack allocated buffer, with fallback to a char array.
dotnet-maestro-bot [Sun, 15 Oct 2017 22:21:29 +0000 (17:21 -0500)]
Update CoreFx to preview1-25815-02 (#14511)
dotnet bot [Sat, 14 Oct 2017 20:08:26 +0000 (13:08 -0700)]
Delete contract annotations (dotnet/corert#4722) (#14507)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
dotnet-maestro-bot [Sat, 14 Oct 2017 16:27:07 +0000 (11:27 -0500)]
Update BuildTools, CoreFx, PgoData to prerelease-02113-01, preview1-25814-02, master-
20171012-0049, respectively (#14476)
Justin Van Patten [Sat, 14 Oct 2017 14:39:37 +0000 (07:39 -0700)]
Delete EnvironmentAugments.GetEnvironmentVariables (#14500)
CoreFX has been using EnumerateEnvironmentVariables for a while now.
Justin Van Patten [Sat, 14 Oct 2017 14:39:02 +0000 (07:39 -0700)]
Remove temp unsafe stackalloc workarounds for Span (#14503)
Justin Van Patten [Sat, 14 Oct 2017 14:38:46 +0000 (07:38 -0700)]
Delete unnecessary Debug.Assert (#14504)
Swaroop Sridhar [Mon, 9 Oct 2017 19:42:12 +0000 (12:42 -0700)]
Fix ILLink perf benchmark
This commit implements the following two changes to fix the
failure in ILLink perf test.
1) Fix Roslyn benchmark
Use ILLink.Tasks package to build the Roslyn linked benchmark,
now that Roslyn can target netcoreapp2.0.
2) Disable Musicstore temporarily
Disabling MusicStore build temporarily, since there's a build failure.
Brian Sullivan [Sat, 14 Oct 2017 03:02:43 +0000 (20:02 -0700)]
Merge pull request #14465 from sdmaclea/PR-ARM64-DUP-DV_2D
[ARM64] Fix INS_dup DV_2D encoding
Stephen Toub [Sat, 14 Oct 2017 01:52:26 +0000 (21:52 -0400)]
Add EventSource event for dropped async state machines (#14497)
One of the main bugs we've seen with async methods in production are cases where an async method awaits something that's never completed and is then just dropped. This in turn allows the async state machine to be collected, such that subsequent dumps have no usable information to determine what hung and where.
To help diagnose such issues, this commit adds an EventSource event that fires when an async state machine is collected without having been completed. When that happens, it dumps a textual representation of itself into a string and sends that to an event.
Doing this depends on the recent changes that were made to how we box async state machines to the heap. Now that we do so with an explicit strongly-typed "box" instead of a normal runtime box, when the event source event is enabled, we can instead instantiate a derived and finalizable box, where the finalizer is responsible for firing the event, and we then suppress finalization when the async method completes. The only async method state machines that are then finalized are those that are allowed to be collected before they're completed.
José Rivero [Sat, 14 Oct 2017 00:42:55 +0000 (17:42 -0700)]
Disabling legacy banckend perf CQ and scenario runs (#14468)
- Recent changes to enforce data validation uncovered bug on the legacy backend runs. Now, we do not allow to upload tests with no performance data.
CQ run bug tracked by: #14463
JitBench run bug tracked by: #14477
Jan Kotas [Fri, 13 Oct 2017 20:25:47 +0000 (13:25 -0700)]
Merge pull request dotnet/corert#4719 from dotnet/nmirror
Merge nmirror to master
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Andy Ayers [Fri, 13 Oct 2017 23:05:44 +0000 (16:05 -0700)]
Updates to the jit bench harness (#14467)
Updates to the jit bench harness
Introduce a number of new options:
* use-existing-setup to reuse a previously set up environment
* iterations to control number of iterations
* tiering to enable tiered jit
* disable-r2r to disable loading of R2R images
* disable-ngen to disable loading of NGEN images
* minopts to force jit to generate minopts code
Also start tracking average response time. This is not yet "uploaded"
since the underlying data reported by the app needs some updates.
Andy Ayers [Fri, 13 Oct 2017 22:55:06 +0000 (15:55 -0700)]
Optimize type casts (#14420)
JIT: optimize type casts
Implement the jit interface compareTypesForEquality method
to handle casts from known types to known types, and from
shared types to certain interface types.
Call this method in the jit for castclass and isinst, using
`gtGetClassHandle` to obtain the from type. Optimize sucessful
casts and unsuccessful isinsts when the from type is known
exactly.
Undo part of the type-equality based optimization/workaround
in the AsyncMethodBuilder code that was introduced in #14178
in favor of interface checks. There is more here that can
be done here before this issue is entirely closed and I will
look at this subsequently.
This optimization allows the jit to remove boxes that are
used solely to feed type casts, and so closes #12877.
William Godbe [Fri, 13 Oct 2017 19:55:42 +0000 (12:55 -0700)]
Merge pull request #14498 from wtgodbe/CloudDropAccountName
Unify CloudDropAccountName
wtgodbe [Fri, 13 Oct 2017 19:55:22 +0000 (12:55 -0700)]
Unify CloudDropAccountName
William Godbe [Fri, 13 Oct 2017 18:45:45 +0000 (11:45 -0700)]
Merge pull request #14496 from wtgodbe/WorkingDir
Correctly set working folder in publish
wtgodbe [Fri, 13 Oct 2017 18:45:10 +0000 (11:45 -0700)]
Correctly set working folder in publish
Hanjoung Lee [Fri, 13 Oct 2017 14:18:14 +0000 (23:18 +0900)]
Fix compile error with crossgen CreatePDB on Unix (#14488)
- Fix wchar string literals
- Fix init order of class fields
Jonghyun Park [Fri, 13 Oct 2017 02:45:20 +0000 (11:45 +0900)]
Allow not to build SOS.NETCore.dll (#14404)
* Allow not to build SOS.NETCore.dll
* Automatically enable SkipSOS when a mscorlib option is given
Carol Eidt [Fri, 13 Oct 2017 00:18:30 +0000 (17:18 -0700)]
Merge pull request #14466 from sdmaclea/PR-Fix-14464
Fix JIT/HardwareIntrinsics/IsSupported.cs
Jan Kotas [Fri, 13 Oct 2017 00:09:24 +0000 (17:09 -0700)]
Merge pull request #14380 from dotnet-maestro-bot/master-UpdateDependencies
Update BuildTools, CoreFx, PgoData to prerelease-02111-02, preview1-25812-01, master-
20171009-0050, respectively (master)
Brian Sullivan [Thu, 12 Oct 2017 23:34:39 +0000 (16:34 -0700)]
Merge pull request #14440 from briansull/needs-reloc
Refactor some code using opts.compReloc
William Godbe [Thu, 12 Oct 2017 22:41:10 +0000 (15:41 -0700)]
Merge pull request #14457 from wtgodbe/FixTestAndPublish
Fix native binary syncing & myget publish
Jan Kotas [Thu, 12 Oct 2017 22:04:52 +0000 (15:04 -0700)]
Fix Linux x86 break (#14461)
Noah Falk [Thu, 12 Oct 2017 21:54:31 +0000 (14:54 -0700)]
Fix #14418 (#14419)
Adds the appropriate handling of the default ILCodeVersion in DacDbiInterfaceImpl::GetILCodeVersionNode
Steve MacLean [Thu, 12 Oct 2017 21:31:40 +0000 (17:31 -0400)]
Fix JIT/HardwareIntrinsics/IsSupported.cs
Noah Falk [Thu, 12 Oct 2017 21:43:20 +0000 (14:43 -0700)]
Add more debug logging to tiered compilation manager (#14425)
* Add more debug logging to tiered compilation manager
* Fixed format specifiers for pointer sized arguments
* A few additional tieredcompilation logging improvements
Noah Falk [Thu, 12 Oct 2017 21:41:49 +0000 (14:41 -0700)]
Fix #14427 (#14429)
Enumerate all of the jitted instances of a method using the tiered compilation manager
Steve MacLean [Tue, 10 Oct 2017 00:07:06 +0000 (20:07 -0400)]
[ARM64] Fix INS_dup DV_2D encoding
Brian Sullivan [Thu, 12 Oct 2017 18:50:14 +0000 (11:50 -0700)]
Merge branch 'master' into needs-reloc
wtgodbe [Thu, 12 Oct 2017 18:49:48 +0000 (11:49 -0700)]
Fix native binary syncing & myget publish
Brian Sullivan [Thu, 12 Oct 2017 18:49:30 +0000 (11:49 -0700)]
Adjust whitespace for clang format
Wolfgang Ziegler [Thu, 12 Oct 2017 17:13:07 +0000 (19:13 +0200)]
Fixed references to images. (#14443)
Wolfgang Ziegler [Thu, 12 Oct 2017 17:11:38 +0000 (19:11 +0200)]
Fixed formatting typo (#14452)
Wolfgang Ziegler [Thu, 12 Oct 2017 17:09:05 +0000 (19:09 +0200)]
Fixed Typo / C++ Syntax Highlighting (#14450)
Fixed incorrect (escaping?) characters '_' in code blocks.
Enabled C++ Syntax Highlighting.
Wolfgang Ziegler [Thu, 12 Oct 2017 17:08:13 +0000 (19:08 +0200)]
Fixed typo (#14449)
Wolfgang Ziegler [Thu, 12 Oct 2017 17:07:34 +0000 (19:07 +0200)]
Fixed formatting typo. (#14448)
mikedn [Thu, 12 Oct 2017 05:18:06 +0000 (08:18 +0300)]
Generate xorps instead of xorpd (#14385)
xorps is one byte shorter when AVX is not used. Also saves a call to genGetInsForOper.
Jan Kotas [Thu, 12 Oct 2017 05:10:33 +0000 (22:10 -0700)]
Delete System.Runtime.Intrinsics.X86 package reference
Jan Kotas [Thu, 12 Oct 2017 05:06:25 +0000 (22:06 -0700)]
Simplify SSE2 check for RyuJIT/x86 (#14432)
dotnet-maestro-bot [Thu, 12 Oct 2017 02:11:34 +0000 (19:11 -0700)]
Update BuildTools, CoreFx, PgoData to prerelease-02111-02, preview1-25812-01, master-
20171009-0050, respectively
Brian Sullivan [Thu, 12 Oct 2017 00:36:23 +0000 (17:36 -0700)]
Refactor code for constant handles that reference opts.compReloc to use ImmedValNeedsReloc()
William Godbe [Thu, 12 Oct 2017 00:07:32 +0000 (17:07 -0700)]
Merge pull request #14439 from wtgodbe/CrossbuildFlat
Specify PublishFlat in Crossbuilds
wtgodbe [Thu, 12 Oct 2017 00:06:01 +0000 (17:06 -0700)]
Specify PublishFlat in Crossbuilds
William Godbe [Wed, 11 Oct 2017 23:40:37 +0000 (16:40 -0700)]
Merge pull request #14438 from wtgodbe/PublishFixes
Fix final issues with publish in pipeline
wtgodbe [Wed, 11 Oct 2017 23:23:42 +0000 (16:23 -0700)]
Fix final issues with publish in pipeline
William Godbe [Wed, 11 Oct 2017 22:22:59 +0000 (15:22 -0700)]
Merge pull request #14437 from wtgodbe/IdentityPackages
Only produce identity packages on Windows
Jan Vorlicek [Wed, 11 Oct 2017 22:02:50 +0000 (00:02 +0200)]
Update CentOS 6 docker image (#14433)
This update fixes problem with git not supporting https protocol
wtgodbe [Wed, 11 Oct 2017 21:51:32 +0000 (14:51 -0700)]
Only produce identity packages on Windows
Santiago Fernandez Madero [Wed, 11 Oct 2017 21:45:47 +0000 (14:45 -0700)]
Add instructions on how to install lldb 3.9 for core dumps
Noah Falk [Wed, 11 Oct 2017 21:11:56 +0000 (14:11 -0700)]
Merge pull request #14422 from noahfalk/fix_14421
Fix 14421
Noah Falk [Wed, 11 Oct 2017 21:11:11 +0000 (14:11 -0700)]
Merge pull request #14430 from noahfalk/fix_14428
Fix #14428
Noah Falk [Wed, 11 Oct 2017 21:06:31 +0000 (14:06 -0700)]
Merge pull request #14424 from noahfalk/fix_14423
Fix #14423
Jan Kotas [Wed, 11 Oct 2017 20:04:43 +0000 (13:04 -0700)]
Delete !FEATURE_IMPLICIT_TLS (#14398)
Linux and Windows arm64 are using the regular C/C++ thread local statics. This change unifies the remaining Windows architectures to be on the same plan.
William Godbe [Wed, 11 Oct 2017 19:58:03 +0000 (12:58 -0700)]
Merge pull request #14436 from wtgodbe/fixSlashes
Remove double slashes from publish blobs
wtgodbe [Wed, 11 Oct 2017 18:54:01 +0000 (11:54 -0700)]
Remove double slashes from publish blobs
noahfalk [Wed, 11 Oct 2017 09:23:51 +0000 (02:23 -0700)]
Fix #14428
Now using an offset calculation that is correct for all of a method's jitted code versions.
noahfalk [Wed, 11 Oct 2017 07:22:53 +0000 (00:22 -0700)]
Fix #14423
The JIT now invokes the debugger's JITComplete callback on every jitting of a method
noahfalk [Wed, 11 Oct 2017 06:48:04 +0000 (23:48 -0700)]
Fix 14421
Disable tiered jitting in debuggable methods.
I also removed the policy comment because I'm not aware of any more planned changes we'll need to make to the policy here.
William Godbe [Wed, 11 Oct 2017 02:28:53 +0000 (19:28 -0700)]
Merge pull request #13795 from wtgodbe/PublishPlayground
Use new publish mechanism in CoreCLR
wtgodbe [Mon, 28 Aug 2017 20:14:52 +0000 (13:14 -0700)]
Proof-of-concept of using new Publish infra in coreclr
Jan Kotas [Tue, 10 Oct 2017 20:36:08 +0000 (13:36 -0700)]
Add CompareInfo.Invariant.cs to shared corelib partition
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Tom Deseyn [Tue, 10 Oct 2017 22:13:05 +0000 (00:13 +0200)]
Fix AllocationTick_V3 depending on _V2 to be enabled (#14338)
Jose Perez Rodriguez [Tue, 10 Oct 2017 21:54:18 +0000 (14:54 -0700)]
Update to 2.0 RTM CLI (#14396)
* Update to 2.0 RTM CLI
* PR feedback
Chris P [Tue, 10 Oct 2017 21:08:00 +0000 (17:08 -0400)]
Fixed typo in Optimization Phases Notes Section (#14408)
hosted -> hoisted
Sergey Andreenko [Tue, 10 Oct 2017 20:37:41 +0000 (13:37 -0700)]
do not spill stack after CEE_NEWARR and CEE_NEWOBJ. (#14401)
Fixes coreRT issue with "InitializeArray intrinsic must always be
expanded".
Jan Kotas [Tue, 10 Oct 2017 19:57:03 +0000 (12:57 -0700)]
Move CompareInfo.cs to shared corelib partition (#14407)
Vance Morrison [Tue, 10 Oct 2017 18:59:29 +0000 (11:59 -0700)]
Turn on source link support (#14399)
* Use Portable PDBs and turn on SourceLink
This makes us uniform. Allows VSCode (which does not suport MSPdbs) use on Windows.
* Allow DebugType to be overridden (on the command line)
* Turn off portable PDB support for now
Vance Morrison [Tue, 10 Oct 2017 17:32:18 +0000 (10:32 -0700)]
Fix case of environment vars
The case of the COMPlus_ environment variables matters on Linux. Fix instructions to be consistent.
Tom [Tue, 10 Oct 2017 16:21:14 +0000 (18:21 +0200)]
Fixing a Typo in README.md (#14405)
Just deleted one of the two "for"s in the Setting up your GIT Clone of the CoreCLR Repository.
Andy Ayers [Tue, 10 Oct 2017 02:27:28 +0000 (19:27 -0700)]
JIT: improve type equality opts for generic and prejitted code (#14381)
Handle cases where a `GetType()` call on a generically typed object
feeds into a type equality comparison.
These calls have constraint prefixes. For value classes the constraint
tells us the type and so we can avoid the box and call and just construct
that type directly. For ref classes the type test can usually reduce to
a method table comparison.
Also, handle cases that arise in prejiited code better, by generalizing
how the jit looks for class handles from type construction trees.
Added test cases.
Closes #14304.
Stephen Toub [Tue, 10 Oct 2017 01:45:48 +0000 (21:45 -0400)]
Merge pull request #14394 from stephentoub/undo_strcomp
Undo unnecessary change from DateTime.Parse commit
José Rivero [Tue, 10 Oct 2017 00:03:16 +0000 (17:03 -0700)]
Fixing JitBench (#14364)
- In the lab, the path where the JitBench sources are downloaded is already too long, which eventially causes `dotnet-install.ps1` to fail. Part of the changes are to reduce the PATH where the tests are placed.
- Updated the JitBench version/commit being used. This one is already on 2.1
- Fixing typo on `perf.groovy`
- Increasing the timeout value as JitBench keeps failing on the lab.
Bruce Forstall [Mon, 9 Oct 2017 20:20:11 +0000 (13:20 -0700)]
Merge pull request #14382 from mikedn/dead-opers
Removed unused opers and code
Jan Vorlicek [Mon, 9 Oct 2017 20:07:54 +0000 (22:07 +0200)]
Fix zap and ready to run disabling (#14389)
* Fix zap and ready to run disabling
While the COMPlus_ZapDisable and COMPlus_ReadyToRun config settings
can be used to disable using crossgened / ready to run images, loading
IL from such images fails.
This change foxes that.
* Reflect PR feedback
Remove ReadyToRunInfo::IsReadyToRunEnabled from Module::Initialize again
and move the same check in the ReadyToRunInfo::Initialize before we
start checking the PE file properties.
Aditya Mandaleeka [Mon, 9 Oct 2017 18:56:57 +0000 (11:56 -0700)]
Merge pull request #14386 from adityamandaleeka/ryujit_doc_fix
Fix incorrect name of class in RyuJIT overview
Stephen Toub [Mon, 9 Oct 2017 18:30:30 +0000 (14:30 -0400)]
Undo unnecessary change from DateTime.Parse commit
This change shouldn't have been included in my DateTime.Parse span change. It was left-over from some local experimentation. The change doesn't hurt anything functionally, but it does undo a small optimization; I've not measured whether it's impactful or not, so I'm putting it back the way it was.
Konstantin Baladurin [Mon, 9 Oct 2017 17:21:22 +0000 (20:21 +0300)]
[GDBJIT] Make gdbjit thread-safe & bug fix (#14390)
* [GDBJIT] Fix DW_AT_comp_dir setting
We should use cuPath to set dirPath in NotifyGdb::EmitDebugInfo instead of
DebugString[1].
* [GDBJIT] Make gdbjit thread-safe
NotifyGdb::MethodPrepared method can be called from multiple threads
simultaneously in this case gdbjit will work incorrectly as it uses
global variable without synchronization.
Aditya Mandaleeka [Sun, 8 Oct 2017 23:20:13 +0000 (16:20 -0700)]
Parent class of Interval and RegRecord is Referenceable.
Mike Danes [Sat, 7 Oct 2017 17:17:19 +0000 (20:17 +0300)]
Removed unused opers and code
* GT_DIV_HI and GT_MOD_HI are not used anywhere
* genCodeForBinary doesn't handle GT_MUL_LONG
* OperIsHigh is not used anywhere
dotnet-maestro-bot [Sat, 7 Oct 2017 15:52:05 +0000 (10:52 -0500)]
Update CoreFx, PgoData to preview1-25807-01, master-
20171007-0052, respectively (#14378)
Jan Vorlicek [Sat, 7 Oct 2017 09:56:24 +0000 (11:56 +0200)]
Fix numa build break (#14370)
This change fixes a break in build of coreclr on machines with libnuma
installed. The problem was that the numa header contains a couple of
inlined functions and we were using one of them. That made it to
have a hard reference to a function from the numa library that we
need to be soft so that coreclr can work even on machines without
the libnuma installed.
Bruce Forstall [Sat, 7 Oct 2017 01:42:37 +0000 (18:42 -0700)]
Merge pull request #14353 from BruceForstall/ArmAssertFixes
Fix RyuJIT/arm32 asserts
Jan Kotas [Sat, 7 Oct 2017 00:51:29 +0000 (17:51 -0700)]
Delete dead code (#14365)
Delete some dead code related to Windows Phone and code access security
Stephen Toub [Sat, 7 Oct 2017 00:25:43 +0000 (20:25 -0400)]
Merge pull request #14369 from stephentoub/fix_cont_handling
Fix handling of continuations for captured context
Stephen Toub [Fri, 6 Oct 2017 22:38:00 +0000 (18:38 -0400)]
Fix handling of continuations for captured context
My recent delegate optimization for async methods introduced a race condition that breaks posting back to a captured context. If the awaited task completes between the time we check IsCompleted and when we try to store the continuation into the Task, we need to queue the continuation for execution, but my change incorrectly queued it to the thread pool rather than to the captured context.
Stephen Toub [Fri, 6 Oct 2017 22:12:27 +0000 (18:12 -0400)]
Merge pull request #14352 from stephentoub/datetime_span
Add Span-based methods to DateTime{Offset}