dotnet-maestro[bot] [Tue, 20 Aug 2019 19:21:40 +0000 (15:21 -0400)]
Update dependencies from https://github.com/dotnet/arcade build
20190819.12 (#26274)
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19419.12
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19419.12
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19419.12
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19419.12
dotnet-maestro[bot] [Tue, 20 Aug 2019 15:43:41 +0000 (15:43 +0000)]
Update dependencies from https://github.com/dotnet/corefx build
20190819.5 (#26275)
- Microsoft.NETCore.Platforms - 3.0.0-preview9.19419.5
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview9.19419.5
dotnet-maestro[bot] [Tue, 20 Aug 2019 15:28:28 +0000 (15:28 +0000)]
Update dependencies from https://github.com/dotnet/core-setup build
20190819.06 (#26276)
- Microsoft.NETCore.App - 3.0.0-preview9-19419-06
Juan Hoyos [Tue, 20 Aug 2019 02:21:40 +0000 (19:21 -0700)]
Use function-local StackingAllocator for EnC added methods (#26256)
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.
Mike McLaughlin [Tue, 20 Aug 2019 00:11:24 +0000 (17:11 -0700)]
arm64 out of proc unwind for DAC (#26156)
Removed FEATURE_DATATARGET4 for arm64
Added SP check to createdump's native unwind loop to make it more robust.
Issue: https://github.com/dotnet/coreclr/issues/15062
John Salem [Mon, 19 Aug 2019 21:49:43 +0000 (14:49 -0700)]
Account for quoted values in provider filter string (#26159) (#26195)
* Account for quoted values in provider filter string
dotnet-maestro[bot] [Mon, 19 Aug 2019 20:09:18 +0000 (13:09 -0700)]
[release/3.0] Update dependencies from dotnet/core-setup (#26208)
* Update dependencies from https://github.com/dotnet/core-setup build
20190816.01
- Microsoft.NETCore.App - 3.0.0-preview9-19416-01
* Update dependencies from https://github.com/dotnet/core-setup build
20190816.02
- Microsoft.NETCore.App - 3.0.0-preview9-19416-02
dotnet-maestro[bot] [Mon, 19 Aug 2019 17:12:38 +0000 (17:12 +0000)]
Update dependencies from https://github.com/dotnet/corefx build
20190816.11 (#26230)
- Microsoft.NETCore.Platforms - 3.0.0-preview9.19416.11
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview9.19416.11
dotnet-maestro[bot] [Mon, 19 Aug 2019 16:33:44 +0000 (09:33 -0700)]
[release/3.0] Update dependencies from dotnet/arcade (#26205)
* Update dependencies from https://github.com/dotnet/arcade build
20190815.27
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19415.27
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19415.27
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19415.27
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19415.27
* Update dependencies from https://github.com/dotnet/arcade build
20190816.16
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19416.16
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19416.16
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19416.16
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19416.16
Sung Yoon Whang [Fri, 16 Aug 2019 23:31:01 +0000 (16:31 -0700)]
Clean up diagnosticserver socket on unexpected shutdown (#25976) (#26190)
* Clean up diagnosticserver socket/pipe on shutdown
* Refactor dbg transport pipe cleanup to be registered as signal handler from the vm side
* cleanup dead code
* Remove more dead code and fix windows builds
* Moving some ifdefs around
Sung Yoon Whang [Fri, 16 Aug 2019 23:30:53 +0000 (16:30 -0700)]
Allow for interface implementations in EventSource.WriteEventVarArgs (#25844) (#26056)
* Allow for interface implementations in EventSource.WriteEventVarArgs
* Also account null ref types and nullable types
* fix error in comment and simplify first part of boolean logic
* Update src/System.Private.CoreLib/shared/System/Diagnostics/Tracing/EventSource.cs
Co-Authored-By: Noah Falk <noahfalk@users.noreply.github.com>
Sung Yoon Whang [Fri, 16 Aug 2019 23:30:34 +0000 (16:30 -0700)]
Fix a potential division by 0 in post GC counter computation (#26085) (#26089)
* Fix a potential division by 0 in post GC counter computation
* Remove useless code
dotnet-maestro[bot] [Fri, 16 Aug 2019 14:43:44 +0000 (14:43 +0000)]
Update dependencies from https://github.com/dotnet/corefx build
20190815.9 (#26206)
- Microsoft.NETCore.Platforms - 3.0.0-preview9.19415.9
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview9.19415.9
dotnet-maestro[bot] [Thu, 15 Aug 2019 17:51:21 +0000 (17:51 +0000)]
[release/3.0] Update dependencies from dotnet/core-setup (#26167)
* Update dependencies from https://github.com/dotnet/core-setup build
20190814.02
- Microsoft.NETCore.App - 3.0.0-preview9-19414-02
* Update dependencies from https://github.com/dotnet/core-setup build
20190814.17
- Microsoft.NETCore.App - 3.0.0-preview9-19414-17
dotnet-maestro[bot] [Thu, 15 Aug 2019 17:01:32 +0000 (10:01 -0700)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190807.1 (#26071)
- optimization.IBC.CoreCLR - 99.99.99-master-
20190807.1
- optimization.PGO.CoreCLR - 99.99.99-master-
20190807.1
dotnet-maestro[bot] [Wed, 14 Aug 2019 22:43:47 +0000 (15:43 -0700)]
Update dependencies from https://github.com/dotnet/corefx build
20190813.13 (#26166)
- Microsoft.NETCore.Platforms - 3.0.0-preview9.19413.13
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview9.19413.13
dotnet-maestro[bot] [Wed, 14 Aug 2019 15:14:59 +0000 (08:14 -0700)]
Update dependencies from https://github.com/dotnet/core-setup build
20190807.10 (#26074)
- Microsoft.NETCore.App - 3.0.0-preview9-19407-10
dotnet-maestro[bot] [Wed, 14 Aug 2019 15:14:01 +0000 (08:14 -0700)]
[release/3.0] Update dependencies from dotnet/arcade (#26143)
* Update dependencies from https://github.com/dotnet/arcade build
20190812.1
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19412.1
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19412.1
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19412.1
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19412.1
* Update dependencies from https://github.com/dotnet/arcade build
20190812.7
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19412.7
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19412.7
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19412.7
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19412.7
dotnet-maestro[bot] [Tue, 13 Aug 2019 21:31:45 +0000 (21:31 +0000)]
Update dependencies from https://github.com/dotnet/corefx build
20190812.10 (#26144)
- Microsoft.NETCore.Platforms - 3.0.0-preview9.19412.10
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview9.19412.10
dotnet-maestro[bot] [Tue, 13 Aug 2019 19:36:14 +0000 (15:36 -0400)]
Update dependencies from https://github.com/dotnet/core-setup build
20190812.05 (#26145)
- Microsoft.NETCore.App - 3.0.0-preview9-19412-05
Elinor Fung [Mon, 12 Aug 2019 19:47:01 +0000 (12:47 -0700)]
Use Arcade's internal tool restore project for restoring IBCMerge (#26133)
dotnet-maestro[bot] [Mon, 12 Aug 2019 16:08:29 +0000 (12:08 -0400)]
Update dependencies from https://github.com/dotnet/arcade build
20190811.1 (#26129)
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19411.1
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19411.1
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19411.1
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19411.1
dotnet-maestro[bot] [Mon, 12 Aug 2019 14:59:28 +0000 (14:59 +0000)]
[release/3.0] Update dependencies from dotnet/core-setup (#26116)
* Update dependencies from https://github.com/dotnet/core-setup build
20190810.01
- Microsoft.NETCore.App - 3.0.0-preview9-19410-01
* Update dependencies from https://github.com/dotnet/core-setup build
20190810.12
- Microsoft.NETCore.App - 3.0.0-preview9-19410-12
* Update dependencies from https://github.com/dotnet/core-setup build
20190811.11
- Microsoft.NETCore.App - 3.0.0-preview9-19411-11
dotnet-maestro[bot] [Mon, 12 Aug 2019 14:52:04 +0000 (14:52 +0000)]
Update dependencies from https://github.com/dotnet/corefx build
20190811.4 (#26130)
- Microsoft.NETCore.Platforms - 3.0.0-preview9.19411.4
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview9.19411.4
dotnet-maestro[bot] [Mon, 12 Aug 2019 04:04:57 +0000 (00:04 -0400)]
[release/3.0] Update dependencies from dotnet/arcade (#26114)
* Update dependencies from https://github.com/dotnet/arcade build
20190809.8
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19409.8
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19409.8
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19409.8
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19409.8
* Update dependencies from https://github.com/dotnet/arcade build
20190810.2
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19410.2
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19410.2
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19410.2
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19410.2
dotnet-maestro[bot] [Sun, 11 Aug 2019 15:05:01 +0000 (15:05 +0000)]
Update dependencies from https://github.com/dotnet/corefx build
20190810.6 (#26119)
- Microsoft.NETCore.Platforms - 3.0.0-preview9.19410.6
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview9.19410.6
dotnet-maestro[bot] [Sat, 10 Aug 2019 15:06:00 +0000 (15:06 +0000)]
Update dependencies from https://github.com/dotnet/corefx build
20190809.17 (#26115)
- Microsoft.NETCore.Platforms - 3.0.0-preview9.19409.17
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview9.19409.17
dotnet-maestro[bot] [Fri, 9 Aug 2019 17:41:14 +0000 (13:41 -0400)]
Update dependencies from https://github.com/dotnet/arcade build
20190808.13 (#26099)
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19408.13
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19408.13
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19408.13
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19408.13
dotnet-maestro[bot] [Fri, 9 Aug 2019 15:00:29 +0000 (15:00 +0000)]
[release/3.0] Update dependencies from dotnet/core-setup (#26073)
* Update dependencies from https://github.com/dotnet/core-setup build
20190807.10
- Microsoft.NETCore.App - 3.0.0-preview9-19407-10
* Update dependencies from https://github.com/dotnet/core-setup build
20190808.09
- Microsoft.NETCore.App - 3.0.0-preview9-19408-09
dotnet-maestro[bot] [Fri, 9 Aug 2019 14:50:52 +0000 (14:50 +0000)]
[release/3.0] Update dependencies from dotnet/corefx (#26070)
* Update dependencies from https://github.com/dotnet/corefx build
20190807.14
- Microsoft.NETCore.Platforms - 3.0.0-preview9.19407.14
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview9.19407.14
* Update dependencies from https://github.com/dotnet/corefx build
20190808.12
- Microsoft.NETCore.Platforms - 3.0.0-preview9.19408.12
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview9.19408.12
dotnet-maestro[bot] [Thu, 8 Aug 2019 15:01:38 +0000 (15:01 +0000)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190807.1 (#26072)
- optimization.IBC.CoreCLR - 99.99.99-master-
20190807.1
- optimization.PGO.CoreCLR - 99.99.99-master-
20190807.1
Tanner Gooding [Wed, 7 Aug 2019 16:15:58 +0000 (09:15 -0700)]
[release/3.0] Updating Math.Round and MathF.Round to be IEEE compliant so that the intrinsic and managed form are deterministic. (#26017)
* Updating Math.Round and MathF.Round to be IEEE compliant so that the intrinsic and managed form are deterministic. (#25901)
* Updating Math.Round and MathF.Round to be IEEE compliant so that the intrinsic and managed form are deterministic.
* Fixing the Math.Round and MathF.Round handling for values greater than 0.5 and less than 1.0
* Applying formatting patch.
* Adding a comment about only having the roundToNearestTiesToEven code path
Brian Sullivan [Wed, 7 Aug 2019 16:15:43 +0000 (09:15 -0700)]
Fixes Issue #20262 for CoreCLR 5.0 (#25926) (#25988)
Disassembler: ildasm/dasm.cpp
In the CoreCLR with reference assemblies and redirection it is more difficult to determine if
a particular Assembly is the System assembly, like mscorlib.dll is for the Desktop CLR.
In the CoreCLR runtimes, the System assembly can be System.Private.CoreLib.dll, System.Runtime.dll
or netstandard.dll and in the future a different Assembly name could be used.
We now determine the identity of the System assembly by querying if the Assembly defines the
well known type System.Object as that type must be defined by the System assembly
If this type is defined then we will output the ".mscorlib" directive to indicate that this
assembly is the System assembly.
Assembler: ilasm/assembler.cpp
In Assembler:GetBaseAsmRef() add a check for System.Private.CoreLib as the System or Base assembly.
Tanner Gooding [Wed, 7 Aug 2019 16:15:29 +0000 (09:15 -0700)]
Ensure that we check for implicit ivals for single argument intrinsics before the SIMDScalar handling. (#25905) (#25987)
* Ensure that we check for implicit ivals for single argument intrinsics before the SIMDScalar handling.
* Adding test template entries for the unary overloads of the Sse41.Round functions
* Regenerating the hardware intrinsic test templates.
Jan Vorlicek [Wed, 7 Aug 2019 16:15:14 +0000 (18:15 +0200)]
Port to 3.0 - Fix WSL alternate stack check (#25980)
On WSL, the alternate stack check in sigsegv_handler doesn't work. The
uc_stack members are always zero no matter whether the handler is
executed on an alternate or default stack. So the check to detect
whether we are running on an alternate stack or not is always returning
false on WSL and it prevents NULL reference exceptions from being
handled.
The fix is to introduce an env variable COMPlus_EnableAlternateStackCheck
that can be used to enable the alternate stack check. By default, the
sigsegv_handler is considered to always run on an alternate stack.
Sung Yoon Whang [Wed, 7 Aug 2019 16:14:38 +0000 (09:14 -0700)]
Make counters use dedicated thread instead of timer (#25864) (#25978)
* Make a dedicated polling thread for EventCounters
* Cleanup
* remove debug prints
* nit
* Fix comment
* addressing issues from code review
* Fix an assertion from getting fired when we have multiple listeners
* Fix a test issue
* code review feedback
* Fix a potential deadlock
* Fix another deadlock
* Allow s_sleepDurationInMilliseconds to be reset to a larger value
* More issues fix
* Let thread wake up from sleep if needed
* Some suggestions for the counters fix.
The resulting behavior should be the same as what is there now (assuming I didn't mess anything up), these are all just code simplifications that hopefully make it easier to review and maintain going forward. In total I think this reduces the change size in CounterGroup.cs by ~30%.
- With the addition of the AutoResetEvent the ManualResetEvent is no longer needed, removed it.
- Removed the various if foo != null checks for the shared state, it is all initialized once when then thread is created and then assumed to be non-null elsewhere.
- Removed a 2nd lock acquisition inside OnTimer
- Replaced an if with Math.Min in PollForValues
* fix test
William Godbe [Wed, 7 Aug 2019 16:04:28 +0000 (09:04 -0700)]
update branding to preview9 (#25928)
Stephen Toub [Mon, 29 Jul 2019 00:15:33 +0000 (20:15 -0400)]
Fix use of AddTo/RemoveFromActiveTasks in async methods (#25915)
When we rewrote the async methods implementation with AsyncStateMachineBox, we neglected to call AddToActiveTasks if the debugger is paying attention to tasks. This hasn't mattered as the debugger's support for Tasks hasn't worked for other reasons in .NET Core, but there is now a renewed focus on it, and this is preventing some of that support from working.
This change is a minimal fix to ensure that we're adding the state machine box task when it's created and removing it when it completes. Post-3.0, we should look at overhauling this, e.g. to clean up a lot of this logging and tracking that's done, to use a weak table in order to avoid keeping task objects alive artificially if they're dropped without completing by the developer code, etc.
This only affects when the debugger is attached, as the s_asyncDebuggingEnabled field is only ever set by the debugger.
Stephen Toub [Mon, 29 Jul 2019 00:14:40 +0000 (20:14 -0400)]
Fix nullability annotations for static (#25914)
The compiler is now analyzing statics. Get compliant.
Jarret Shook [Sun, 28 Jul 2019 22:44:33 +0000 (15:44 -0700)]
Do not fast tail call if caller has multislot structs (#25885) (#25910)
* Do not fast tail call if caller has multislot structs
* apply patch
* Address offline feedback
Maoni Stephens [Fri, 26 Jul 2019 20:14:10 +0000 (13:14 -0700)]
fix gc config - need to read from both runtime config and env var (#25890)
need to read hardlimit configs from env vars as well as runtimeconfig.json
Sung Yoon Whang [Tue, 23 Jul 2019 04:32:01 +0000 (21:32 -0700)]
[3.0 port] Fix first value of counter payload being skewed (#25799)
* Fix issue 25709
* rename
* Fix regression test
* cleanup
* Code review feedback
* set maxincrement to 3
* test fix
Steve MacLean [Mon, 22 Jul 2019 23:42:40 +0000 (19:42 -0400)]
Merge pull request #25779 from sdmaclea/arm64debug30
Pull arm/arm64 critical 5.0 PAL/diagnostic changes into 3.0
Steve MacLean [Sat, 20 Jul 2019 15:49:29 +0000 (11:49 -0400)]
Arm64 define FEATURE_DATATARGET4 (#25804)
FEATURE_DATATARGET4 enables the portable out of
process stack unwind
Tanner Gooding [Sat, 20 Jul 2019 00:52:14 +0000 (17:52 -0700)]
Fixing Buffer::BlockCopy, JIT_MemCpy, and JIT_MemSet to just call the appropriate CRT functions for x64 Windows, as is already done for all other platforms/targets (#25763)
* Fixing Buffer::BlockCopy to just call the CRT memmove for x64 Windows, as is already done for all other platforms/targets
* Fixing up the x64 CrtHelpers.asm to just forward to the CRT implementations for JIT_MemSet and JIT_MemCpy
* Keep unix using memcpy and clarify that Windows uses memmove for full framework compat.
Andy Hanson [Fri, 19 Jul 2019 07:36:19 +0000 (00:36 -0700)]
Fix typo: `_TARGET_X86` -> `_TARGET_X86_` (#25788)
This typo was in #24989 so would be a new regression in 3.0.
In an x86 build, it causes us to not get the cache size correct,
leading us to use a smaller default cache size and do more GCs.
Tested with GCPerfSim and this PR reduces TotalNumberGCs by 33% using an x86 build.
Steve MacLean [Fri, 19 Jul 2019 04:30:09 +0000 (00:30 -0400)]
Arm32 support VFP registers context to/from native context (#25775)
Steve MacLean [Thu, 18 Jul 2019 20:12:06 +0000 (16:12 -0400)]
Arm32 restore d8-d15 in ThrowExceptionFromContextInternal (#25777)
Steve MacLean [Thu, 18 Jul 2019 15:39:01 +0000 (11:39 -0400)]
Arm64 : Fix ldr Dt/St emulation (#25729)
Steve MacLean [Thu, 18 Jul 2019 15:37:37 +0000 (11:37 -0400)]
Arm64 restore d8-d15 in ThrowExceptionFromContextInternal (#25743)
Steve MacLean [Thu, 18 Jul 2019 08:14:40 +0000 (04:14 -0400)]
Arm64 support SIMD registers context to/from native context (#25757)
Steve MacLean [Wed, 17 Jul 2019 17:28:11 +0000 (13:28 -0400)]
Arm64 Fix Rtl*Context (#25745)
Fix issues related to save restore of FPCR/FPSR/V0/V31
There were several bugs in the assembly causing FPCR/FPSR
to overwrite V0 on RtlCaptureContext. Then restore from V0 on
RtlRestoreContext
Stephen Toub [Wed, 17 Jul 2019 21:52:25 +0000 (17:52 -0400)]
Update compiler version with nullable fixes
Stephen Toub [Wed, 17 Jul 2019 20:38:09 +0000 (16:38 -0400)]
Make all event types nullable (#25752)
Late-breaking design change: all events should be declared with nullable delegate types.
Stephen Toub [Wed, 17 Jul 2019 17:01:37 +0000 (13:01 -0400)]
Remove now unnecessary !s / TODO-NULLABLE comments (#25749)
* Remove !s and TODO-NULLABLE comments for [DoesNotReturn]
* Remove !s and TODO-NULLABLE comments for [NotNullIfNotNull]
* Remove !s and TODO-NULLABLE comments for writes via Interlocked.CompareExchange
* Remove !s and TODO-NULLABLE comments for Debug.Assert on fields
* Update/add several TODO-NULLABLE comments
Santiago Fernandez Madero [Wed, 17 Jul 2019 00:22:54 +0000 (17:22 -0700)]
Fix nullability warnings from compiler update
Koundinya Veluri [Wed, 17 Jul 2019 21:14:26 +0000 (14:14 -0700)]
Temporarily make a default interface method test incompatible for GCStress (#25747)
Related to https://github.com/dotnet/coreclr/issues/25690
Port of https://github.com/dotnet/coreclr/pull/25746
William Godbe [Wed, 17 Jul 2019 01:55:52 +0000 (18:55 -0700)]
Merge pull request #25734 from dotnet-maestro-bot/merge/master-to-release/3.0
[automated] Merge branch 'master' => 'release/3.0'
William Godbe [Tue, 16 Jul 2019 22:18:18 +0000 (15:18 -0700)]
Merge branch 'release/3.0' into merge/master-to-release/3.0
Stephen Toub [Tue, 16 Jul 2019 19:28:53 +0000 (15:28 -0400)]
Disable debugger evaluation of ValueTask<T>.Result (#25727)
If the debugger evaluates a `ValueTask<T>`'s `Result`, that counts as the "you should only consume a `ValueTask<T>`" once, and ends up breaking / hanging / throwing exceptions and other bad stuff while stepping through code in the debugger.
This commit addresses that in two ways:
1. Adds `[DebuggerBrowsable(Never)]` to `Result` to prevent it from showing up in debugger views.
2. Adds a NotifyOfCrossThreadDependency call to its ToString. This prevents the debugger from using ToString to show an implicit representation of the instance, and it forces the developer explicitly trying to access ToString (e.g. in the watch window) to click a button acknowleding the impact.
(Post 3.0, we should consider removing the `ValueTask<T>.ToString()` override altogether.)
dotnet-maestro[bot] [Tue, 16 Jul 2019 15:08:09 +0000 (15:08 +0000)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190716.1 (#25721)
- optimization.IBC.CoreCLR - 99.99.99-master-
20190716.1
- optimization.PGO.CoreCLR - 99.99.99-master-
20190716.1
Michal Strehovský [Tue, 16 Jul 2019 14:36:01 +0000 (16:36 +0200)]
Update the execution strategy doc (#25717)
Addressing post-merge feedback.
Steve MacLean [Tue, 16 Jul 2019 14:06:52 +0000 (10:06 -0400)]
Add missing Arm64 specific diagnostic code (#25695)
* Arm64 ICorDebugRegisterSet float support
* Arm64 ICorDebugRegisterSet2 implementation
* Add arm64 VLT_REG_FP case
* Arm64 add funceval GetRegister SetRegister support
dotnet-maestro[bot] [Tue, 16 Jul 2019 13:24:01 +0000 (09:24 -0400)]
Update dependencies from https://github.com/dotnet/arcade build
20190715.4 (#25710)
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19365.4
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19365.4
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19365.4
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19365.4
John Salem [Tue, 16 Jul 2019 00:28:57 +0000 (17:28 -0700)]
Add EventPipe/DiagnosticsIpc tests (#25457)
* Add Microsoft.Diagnostics.Tools.RuntimeClient to dependencies.props
* add EventPipe tests for provider coherence, buffer size resilience, and rundown event presence
Michal Strehovský [Mon, 6 May 2019 11:16:10 +0000 (13:16 +0200)]
Merge pull request dotnet/corert#7397 from dotnet-bot/from-tfs
Merge changes from TFS
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
dotnet-maestro[bot] [Mon, 15 Jul 2019 19:16:04 +0000 (12:16 -0700)]
[master] Update dependencies from dotnet/arcade (#25685)
* Update dependencies from https://github.com/dotnet/arcade build
20190713.1
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19363.1
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19363.1
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19363.1
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19363.1
* Update dependencies from https://github.com/dotnet/arcade build
20190714.1
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19364.1
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19364.1
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19364.1
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19364.1
dotnet-maestro[bot] [Mon, 15 Jul 2019 19:15:34 +0000 (12:15 -0700)]
[master] Update dependencies from dnceng/internal/dotnet-optimization (#25688)
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190714.1
- optimization.IBC.CoreCLR - 99.99.99-master-
20190714.1
- optimization.PGO.CoreCLR - 99.99.99-master-
20190714.1
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190715.1
- optimization.IBC.CoreCLR - 99.99.99-master-
20190715.1
- optimization.PGO.CoreCLR - 99.99.99-master-
20190715.1
Michal Strehovský [Mon, 15 Jul 2019 15:56:43 +0000 (17:56 +0200)]
Add doc about code generation in CoreCLR (#25693)
Something to serve as an entry point to the various code generation and execution technologies in CoreCLR - R2R, tiered compilation, how they fit in.
dotnet-maestro[bot] [Mon, 15 Jul 2019 15:37:04 +0000 (08:37 -0700)]
[master] Update dependencies from dotnet/corefx (#25686)
- Microsoft.NETCore.Platforms - 3.0.0-preview8.19364.1
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview8.19364.1
dotnet-maestro[bot] [Mon, 15 Jul 2019 15:36:45 +0000 (08:36 -0700)]
[master] Update dependencies from dotnet/core-setup (#25687)
Microsoft.NETCore.App - 3.0.0-preview8-27914-06
dotnet-maestro[bot] [Sat, 13 Jul 2019 22:15:59 +0000 (15:15 -0700)]
Update dependencies from https://github.com/dotnet/arcade build
20190712.5 (#25677)
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19362.5
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19362.5
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19362.5
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19362.5
dotnet-maestro[bot] [Sat, 13 Jul 2019 22:15:47 +0000 (15:15 -0700)]
Update dependencies from https://github.com/dotnet/corefx build
20190712.11 (#25678)
- Microsoft.NETCore.Platforms - 3.0.0-preview8.19362.11
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview8.19362.11
dotnet-maestro[bot] [Sat, 13 Jul 2019 22:15:37 +0000 (15:15 -0700)]
Update dependencies from https://github.com/dotnet/core-setup build
20190712.15 (#25679)
- Microsoft.NETCore.App - 3.0.0-preview8-27912-15
Jan Kotas [Sat, 13 Jul 2019 22:15:17 +0000 (15:15 -0700)]
Fix use of uninitialized variables in managed decimal implementation (#25674)
dotnet-maestro[bot] [Sat, 13 Jul 2019 01:15:50 +0000 (18:15 -0700)]
Update dependencies from https://github.com/dotnet/corefx build
20190711.13 (#25663)
- Microsoft.NETCore.Platforms - 3.0.0-preview8.19361.13
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview8.19361.13
Stephen Toub [Thu, 30 May 2019 05:05:11 +0000 (01:05 -0400)]
Handle nullable attributes on platforms that lack them
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Andy Hanson [Fri, 12 Jul 2019 23:20:52 +0000 (16:20 -0700)]
Fixes when accessing fgn_maxgen_percent (#25650)
* Fixes when accessing fgn_maxgen_percent
PR #25350 changed `fgn_maxgen_percent` to be a per-heap property when
`MULTIPLE_HEAPS` is set. A few uses need to be updated.
* In `full_gc_wait`, must re-read `fgn_maxgen_percent` before the
second test of `maxgen_percent == 0`.
(Otherwise the second test is statically unreachable.)
* In RegisterForFullGCNotification, must set `fgn_maxgen_percent` when
`MULTIPLE_HEAPS` is not set
* In CancelFullGCNotification, must set `fgn_maxgen_percent` for each
heap separately when `MULTIPLE_HEAPS` is set.
Fix dotnet/corefx#39374
* Avoid duplicate code when getting fgn_maxgen_percent twice in full_gc_wait
Sinan Kaya [Fri, 12 Jul 2019 19:45:28 +0000 (15:45 -0400)]
Frkaya/gccfix07102019 (#25624)
* Remove duplicate definition
* Fix conversion error
* 1ui64 doesn't exist on GCC
dotnet-maestro[bot] [Fri, 12 Jul 2019 14:58:27 +0000 (07:58 -0700)]
Update dependencies from https://github.com/dotnet/arcade build
20190711.7 (#25662)
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19361.7
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19361.7
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19361.7
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19361.7
dotnet-maestro[bot] [Fri, 12 Jul 2019 14:58:15 +0000 (07:58 -0700)]
Update dependencies from https://github.com/dotnet/core-setup build
20190712.01 (#25664)
- Microsoft.NETCore.App - 3.0.0-preview8-27912-01
Andrew Au [Thu, 11 Jul 2019 21:37:46 +0000 (14:37 -0700)]
PerfMap should output file offset instead of RVAs (#25638)
Jan Vorlicek [Thu, 11 Jul 2019 21:26:14 +0000 (23:26 +0200)]
Fix GS cookie check on ARM in functions with stackalloc (#25628)
* Fix GS cookie check on ARM in functions with stackalloc
The GC cookie check was failing during GC stack walking on ARM for frames
of functions using stackalloc and pinvoke. The InlinedCallFrame stores
only the SP after the stackalloc adjustment and unwinder needs R9
that contains SP before the stackalloc to be able to unwind the frame
to get caller SP. The caller SP is used as a base for getting the GS
cookie address. We were incorrectly setting the R9 in the CONTEXT
to the same value as SP and so the unwinding was getting an incorrect
caller SP.
The fix is to store R9 in the InlinedCallFrame for ARM.
dotnet-maestro[bot] [Thu, 11 Jul 2019 20:57:15 +0000 (13:57 -0700)]
[master] Update dependencies from dotnet/core-setup (#25613)
* Update dependencies from https://github.com/dotnet/core-setup build
20190708.08
- Microsoft.NETCore.App - 3.0.0-preview8-27908-08
* Update dependencies from https://github.com/dotnet/core-setup build
20190710.01
- Microsoft.NETCore.App - 3.0.0-preview8-27910-01
* Update dependencies from https://github.com/dotnet/core-setup build
20190711.01
- Microsoft.NETCore.App - 3.0.0-preview8-27911-01
dotnet-maestro[bot] [Thu, 11 Jul 2019 20:53:49 +0000 (13:53 -0700)]
[master] Update dependencies from dotnet/corefx (#25612)
* Update dependencies from https://github.com/dotnet/corefx build
20190708.6
- Microsoft.NETCore.Platforms - 3.0.0-preview8.19358.6
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview8.19358.6
* Update dependencies from https://github.com/dotnet/corefx build
20190710.1
- Microsoft.NETCore.Platforms - 3.0.0-preview8.19360.1
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview8.19360.1
* Update dependencies from https://github.com/dotnet/corefx build
20190710.10
- Microsoft.NETCore.Platforms - 3.0.0-preview8.19360.10
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview8.19360.10
dotnet-maestro[bot] [Thu, 11 Jul 2019 20:18:18 +0000 (13:18 -0700)]
[master] Update dependencies from dotnet/arcade (#25611)
* Update dependencies from https://github.com/dotnet/arcade build
20190709.1
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19359.1
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19359.1
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19359.1
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19359.1
* Update dependencies from https://github.com/dotnet/arcade build
20190709.6
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19359.6
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19359.6
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19359.6
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19359.6
* Update dependencies from https://github.com/dotnet/arcade build
20190710.8
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19360.8
- Microsoft.DotNet.Build.Tasks.Feed - 2.2.0-beta.19360.8
- Microsoft.DotNet.Build.Tasks.Packaging - 1.0.0-beta.19360.8
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19360.8
Andy Hanson [Thu, 11 Jul 2019 20:14:34 +0000 (13:14 -0700)]
System.GC.HeapHardLimit and .HeapHardLimitPercent in runtimeconfig.json (#25574)
* System.GC.HeapHardLimit and .HeapHardLimitPercent in runtimeconfig.json
This adds two new configuration options, "System.GC.HeapHardLimit" and
"System.GC.HeapHardLimitPercent" to runtimeconfig.json. These behave the
same as COMPlus_GCHeapHardLimit and COMPlus_GCHeapHardLimitPercent.
* Add cast
* Dummy change to trigger tests rerun
dotnet-maestro[bot] [Thu, 11 Jul 2019 20:13:09 +0000 (20:13 +0000)]
[master] Update dependencies from dnceng/internal/dotnet-optimization (#25614)
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190709.1
- optimization.IBC.CoreCLR - 99.99.99-master-
20190709.1
- optimization.PGO.CoreCLR - 99.99.99-master-
20190709.1
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190710.1
- optimization.IBC.CoreCLR - 99.99.99-master-
20190710.1
- optimization.PGO.CoreCLR - 99.99.99-master-
20190710.1
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20190711.1
- optimization.IBC.CoreCLR - 99.99.99-master-
20190711.1
- optimization.PGO.CoreCLR - 99.99.99-master-
20190711.1
Jan Vorlicek [Thu, 11 Jul 2019 18:11:12 +0000 (20:11 +0200)]
Fix handling of NullReferenceException in VSD on ARM (#25627)
* Fix handling of NullReferenceException in VSD on ARM
There was a problem with handling NullReferenceExceptionHandling stemming
from virtual dispatch stub on ARM Linux. While the primary exception was
handled correctly, if the exception was rethrown or another exception
was thrown from the catch handler, it was reported as unhandled even
though there was a proper handler.
The issue was caused by exception unwinding that was unable to unwind past
the frame of the virtual dispatch stub in this case. Such stub is generated
at runtime and there is no unwind info for it.
The fix is to explicitly check for the stub frame and skip it during first
and second pass of exception handling.
Jan Kotas [Thu, 11 Jul 2019 00:03:03 +0000 (17:03 -0700)]
Fix build break in TimerQueue.Portable.cs
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Stephen Toub [Thu, 11 Jul 2019 17:05:51 +0000 (13:05 -0400)]
Remove stale nullable !s and pragmas (#25640)
Also update TODO-NULLABLE comments to be more specific where appropriate.
Steve MacLean [Thu, 11 Jul 2019 16:50:01 +0000 (12:50 -0400)]
Arm64 debug issues (#25636)
* Fix arm64 dbgipcevents inconsistency
* Fix arm64 register names
Vladimir Sadov [Thu, 11 Jul 2019 03:33:58 +0000 (20:33 -0700)]
refresh GC reliability tests (#25622)
* refresh GC reliability tests
* Update stress instructions (PR feedback)
Stephen Toub [Wed, 10 Jul 2019 23:12:38 +0000 (19:12 -0400)]
Add AggressiveInlining to Single.GetHashCode (#25633)
David Mason [Wed, 10 Jul 2019 05:33:24 +0000 (22:33 -0700)]
Let EventPipe threads sleep when no events are available (#25601)
Don't spin forever in EventListener when listening for EventPipe data
Stephen Toub [Wed, 10 Jul 2019 00:18:11 +0000 (20:18 -0400)]
Fix Timer argument exception parameter names (#25617)
Stephen Toub [Tue, 9 Jul 2019 13:26:38 +0000 (09:26 -0400)]
Fix regression in Timers with long timeouts (#25604)
* Fix regression in Timers with long timeouts
Early in .NET Core 3.0, we added an important optimization to significantly reduce lock contention and CPU overheads in situations where lots of timers were firing. The optimization worked by splitting the set of timers into those expected to fire in the very near future and then everything else. However, for really long timers (e.g. > 24 days), due to integer overflows we can accidentally put a long timer onto the short list and cause a timer that shouldn’t fire for days to instead fire in milliseconds. This is not the first such bug we’ve had in Timer, and there is a fair amount of complicated casting (that we sometimes get wrong, obviously) in order to keep the tick count usage within the Int32 domain. This PR addresses the problem (and hopefully others in the future) by switching over to using Int64. We’re already paying to get 64-bit tick counts on both Windows and Unix, so this just removes truncation that was being performed, does a little more addition/comparison with 64-bit values instead of with 32-bit, and stores an Int64 instead of Int32 in each TimerQueueTimer. On 64-bit, this has a 0 increase in memory consumption, as it simply ends up utilizing padding space that was previously in TimerQueueTimer. On 32-bit, it increases memory allocation when creating a Timer by 4 bytes from 80 to 84 (still 3 allocations), but I believe it’s the right trade-off for reduced complexity and bug likelihood.
* Address PR feedback
Sung Yoon Whang [Mon, 8 Jul 2019 23:32:44 +0000 (16:32 -0700)]
Adding DisplayUnits property to all the runtime counters (#25598)
Andy Hanson [Mon, 8 Jul 2019 23:12:06 +0000 (16:12 -0700)]
Return HardLimitBytes from GCMemoryInfo.TotalAvailableMemoryBytes (#25437)
* Add property HardLimitBytes to GCMemoryInfo
This adds a new property HardLimitBytes.
Unlike TotalAvailableMemoryBytes,
this will reflect an explicitly set COMPLUS_GCHeapHardLimit.
It will also reflect the fraction of a container's size that we use,
where TotalAvailableMemoryBytes is the total container size.
Normally, though, it is equal to TotalAvailableMemoryBytes.
Fix #38821
* Remove HardLimitBytes; have TotalAvailableMemoryBytes take on its behavior
* Fix typos
* Separate total_physical_mem and heap_hard_limit
so we can compute highMemoryLoadThresholdBytes and memoryLoadBytes
* Do more work in gc.cpp instead of Gc.cs
* Consistently end names in "Bytes"
Steve MacLean [Mon, 8 Jul 2019 21:36:31 +0000 (17:36 -0400)]
Add arm64 floatconversion.S (#25597)
* Add arm64 floatconversion.S
* Update comment