platform/upstream/coreclr.git
4 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190819.06 ...
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

4 years agoUse function-local StackingAllocator for EnC added methods (#26256)
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.

4 years agoarm64 out of proc unwind for DAC (#26156)
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

4 years agoAccount for quoted values in provider filter string (#26159) (#26195)
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

4 years ago[release/3.0] Update dependencies from dotnet/core-setup (#26208)
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

4 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190816.11 (#26230)
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

4 years ago[release/3.0] Update dependencies from dotnet/arcade (#26205)
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

4 years agoClean up diagnosticserver socket on unexpected shutdown (#25976) (#26190)
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

4 years agoAllow for interface implementations in EventSource.WriteEventVarArgs (#25844) (#26056)
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>
4 years agoFix a potential division by 0 in post GC counter computation (#26085) (#26089)
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

4 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190815.9 (#26206)
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

4 years ago[release/3.0] Update dependencies from dotnet/core-setup (#26167)
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

4 years agoUpdate dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimizati...
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

4 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190813.13 (#26166)
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

4 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190807.10 ...
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

4 years ago[release/3.0] Update dependencies from dotnet/arcade (#26143)
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

4 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190812.10 (#26144)
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

4 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190812.05 ...
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

4 years agoUse Arcade's internal tool restore project for restoring IBCMerge (#26133)
Elinor Fung [Mon, 12 Aug 2019 19:47:01 +0000 (12:47 -0700)]
Use Arcade's internal tool restore project for restoring IBCMerge (#26133)

4 years agoUpdate dependencies from https://github.com/dotnet/arcade build 20190811.1 (#26129)
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

4 years ago[release/3.0] Update dependencies from dotnet/core-setup (#26116)
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

4 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190811.4 (#26130)
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

4 years ago[release/3.0] Update dependencies from dotnet/arcade (#26114)
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

4 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190810.6 (#26119)
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

4 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190809.17 (#26115)
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

4 years agoUpdate dependencies from https://github.com/dotnet/arcade build 20190808.13 (#26099)
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

4 years ago[release/3.0] Update dependencies from dotnet/core-setup (#26073)
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

4 years ago[release/3.0] Update dependencies from dotnet/corefx (#26070)
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

4 years agoUpdate dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimizati...
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

4 years ago[release/3.0] Updating Math.Round and MathF.Round to be IEEE compliant so that the...
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

4 years agoFixes Issue #20262 for CoreCLR 5.0 (#25926) (#25988)
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.

4 years agoEnsure that we check for implicit ivals for single argument intrinsics before the...
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.

4 years agoPort to 3.0 - Fix WSL alternate stack check (#25980)
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.

4 years agoMake counters use dedicated thread instead of timer (#25864) (#25978)
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

4 years agoupdate branding to preview9 (#25928)
William Godbe [Wed, 7 Aug 2019 16:04:28 +0000 (09:04 -0700)]
update branding to preview9 (#25928)

4 years agoFix use of AddTo/RemoveFromActiveTasks in async methods (#25915)
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.

4 years agoFix nullability annotations for static (#25914)
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.

4 years agoDo not fast tail call if caller has multislot structs (#25885) (#25910)
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

4 years agofix gc config - need to read from both runtime config and env var (#25890)
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

4 years ago[3.0 port] Fix first value of counter payload being skewed (#25799)
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

4 years agoMerge pull request #25779 from sdmaclea/arm64debug30
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

4 years agoArm64 define FEATURE_DATATARGET4 (#25804)
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

4 years agoFixing Buffer::BlockCopy, JIT_MemCpy, and JIT_MemSet to just call the appropriate...
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.

4 years agoFix typo: `_TARGET_X86` -> `_TARGET_X86_` (#25788)
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.

4 years agoArm32 support VFP registers context to/from native context (#25775)
Steve MacLean [Fri, 19 Jul 2019 04:30:09 +0000 (00:30 -0400)]
Arm32 support VFP registers context to/from native context (#25775)

4 years agoArm32 restore d8-d15 in ThrowExceptionFromContextInternal (#25777)
Steve MacLean [Thu, 18 Jul 2019 20:12:06 +0000 (16:12 -0400)]
Arm32 restore d8-d15 in ThrowExceptionFromContextInternal (#25777)

4 years agoArm64 : Fix ldr Dt/St emulation (#25729)
Steve MacLean [Thu, 18 Jul 2019 15:39:01 +0000 (11:39 -0400)]
Arm64 : Fix ldr Dt/St emulation (#25729)

4 years agoArm64 restore d8-d15 in ThrowExceptionFromContextInternal (#25743)
Steve MacLean [Thu, 18 Jul 2019 15:37:37 +0000 (11:37 -0400)]
Arm64 restore d8-d15 in ThrowExceptionFromContextInternal (#25743)

4 years agoArm64 support SIMD registers context to/from native context (#25757)
Steve MacLean [Thu, 18 Jul 2019 08:14:40 +0000 (04:14 -0400)]
Arm64 support SIMD registers context to/from native context (#25757)

4 years agoArm64 Fix Rtl*Context (#25745)
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

4 years agoUpdate compiler version with nullable fixes
Stephen Toub [Wed, 17 Jul 2019 21:52:25 +0000 (17:52 -0400)]
Update compiler version with nullable fixes

4 years agoMake all event types nullable (#25752)
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.

4 years agoRemove now unnecessary !s / TODO-NULLABLE comments (#25749)
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

4 years agoFix nullability warnings from compiler update
Santiago Fernandez Madero [Wed, 17 Jul 2019 00:22:54 +0000 (17:22 -0700)]
Fix nullability warnings from compiler update

4 years agoTemporarily make a default interface method test incompatible for GCStress (#25747)
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

4 years agoMerge pull request #25734 from dotnet-maestro-bot/merge/master-to-release/3.0
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'

4 years agoMerge branch 'release/3.0' into merge/master-to-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

4 years agoDisable debugger evaluation of ValueTask<T>.Result (#25727)
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.)

4 years agoUpdate dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimizati...
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

4 years agoUpdate the execution strategy doc (#25717)
Michal Strehovský [Tue, 16 Jul 2019 14:36:01 +0000 (16:36 +0200)]
Update the execution strategy doc (#25717)

Addressing post-merge feedback.

4 years agoAdd missing Arm64 specific diagnostic code (#25695)
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

4 years agoUpdate dependencies from https://github.com/dotnet/arcade build 20190715.4 (#25710)
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

4 years agoAdd EventPipe/DiagnosticsIpc tests (#25457)
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

4 years agoMerge pull request dotnet/corert#7397 from dotnet-bot/from-tfs
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>
4 years ago[master] Update dependencies from dotnet/arcade (#25685)
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

4 years ago[master] Update dependencies from dnceng/internal/dotnet-optimization (#25688)
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

4 years agoAdd doc about code generation in CoreCLR (#25693)
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.

4 years ago[master] Update dependencies from dotnet/corefx (#25686)
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

4 years ago[master] Update dependencies from dotnet/core-setup (#25687)
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

4 years agoUpdate dependencies from https://github.com/dotnet/arcade build 20190712.5 (#25677)
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

4 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190712.11 (#25678)
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

4 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190712.15 ...
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

4 years agoFix use of uninitialized variables in managed decimal implementation (#25674)
Jan Kotas [Sat, 13 Jul 2019 22:15:17 +0000 (15:15 -0700)]
Fix use of uninitialized variables in managed decimal implementation (#25674)

5 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190711.13 (#25663)
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

5 years agoHandle nullable attributes on platforms that lack them
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>
5 years agoFixes when accessing fgn_maxgen_percent (#25650)
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

5 years agoFrkaya/gccfix07102019 (#25624)
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

5 years agoUpdate dependencies from https://github.com/dotnet/arcade build 20190711.7 (#25662)
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

5 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190712.01 ...
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

5 years agoPerfMap should output file offset instead of RVAs (#25638)
Andrew Au [Thu, 11 Jul 2019 21:37:46 +0000 (14:37 -0700)]
PerfMap should output file offset instead of RVAs (#25638)

5 years agoFix GS cookie check on ARM in functions with stackalloc (#25628)
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.

5 years ago[master] Update dependencies from dotnet/core-setup (#25613)
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

5 years ago[master] Update dependencies from dotnet/corefx (#25612)
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

5 years ago[master] Update dependencies from dotnet/arcade (#25611)
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

5 years agoSystem.GC.HeapHardLimit and .HeapHardLimitPercent in runtimeconfig.json (#25574)
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

5 years ago[master] Update dependencies from dnceng/internal/dotnet-optimization (#25614)
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

5 years agoFix handling of NullReferenceException in VSD on ARM (#25627)
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.

5 years agoFix build break in TimerQueue.Portable.cs
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>
5 years agoRemove stale nullable !s and pragmas (#25640)
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.

5 years agoArm64 debug issues (#25636)
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

5 years agorefresh GC reliability tests (#25622)
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)

5 years agoAdd AggressiveInlining to Single.GetHashCode (#25633)
Stephen Toub [Wed, 10 Jul 2019 23:12:38 +0000 (19:12 -0400)]
Add AggressiveInlining to Single.GetHashCode (#25633)

5 years agoLet EventPipe threads sleep when no events are available (#25601)
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

5 years agoFix Timer argument exception parameter names (#25617)
Stephen Toub [Wed, 10 Jul 2019 00:18:11 +0000 (20:18 -0400)]
Fix Timer argument exception parameter names (#25617)

5 years agoFix regression in Timers with long timeouts (#25604)
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

5 years agoAdding DisplayUnits property to all the runtime counters (#25598)
Sung Yoon Whang [Mon, 8 Jul 2019 23:32:44 +0000 (16:32 -0700)]
Adding DisplayUnits property to all the runtime counters (#25598)

5 years agoReturn HardLimitBytes from GCMemoryInfo.TotalAvailableMemoryBytes (#25437)
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"

5 years agoAdd arm64 floatconversion.S (#25597)
Steve MacLean [Mon, 8 Jul 2019 21:36:31 +0000 (17:36 -0400)]
Add arm64 floatconversion.S (#25597)

* Add arm64 floatconversion.S

* Update comment

5 years agoUpdate dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimizati...
dotnet-maestro[bot] [Mon, 8 Jul 2019 15:40:07 +0000 (08:40 -0700)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190708.1 (#25594)

- optimization.IBC.CoreCLR - 99.99.99-master-20190708.1
- optimization.PGO.CoreCLR - 99.99.99-master-20190708.1

5 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190707.09 ...
dotnet-maestro[bot] [Mon, 8 Jul 2019 15:39:23 +0000 (08:39 -0700)]
Update dependencies from https://github.com/dotnet/core-setup build 20190707.09 (#25593)

- Microsoft.NETCore.App - 3.0.0-preview8-27907-09