platform/upstream/coreclr.git
5 years agoMaking crossgen throw when compiling with the PartialNgen flag and no IBC data (...
Fadi Hanna [Wed, 15 May 2019 19:18:19 +0000 (12:18 -0700)]
Making crossgen throw when compiling with the PartialNgen flag and no IBC data (#24557)

* Making crossgen throw when compiling with the PartialNgen flag and no IBC data

* Adding missing m_fPartialNGen check

5 years agoUpdate xplat-minidump-generation.md
Mike McLaughlin [Wed, 15 May 2019 17:50:35 +0000 (10:50 -0700)]
Update xplat-minidump-generation.md

Fix COMPlus_DbgMiniDumpType values

5 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190514.9 (#24586)
dotnet-maestro[bot] [Wed, 15 May 2019 15:27:23 +0000 (08:27 -0700)]
Update dependencies from https://github.com/dotnet/corefx build 20190514.9 (#24586)

- Microsoft.NETCore.Platforms - 3.0.0-preview6.19264.9
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview6.19264.9
- Microsoft.Bcl.AsyncInterfaces - 1.0.0-preview6.19264.9

5 years agoEnable QuickJit by default (#24576)
Koundinya Veluri [Wed, 15 May 2019 05:26:37 +0000 (22:26 -0700)]
Enable QuickJit by default (#24576)

- Recently, a decision was made to enable QuickJit by default. In startup perf, this mode appears to be consistently better than with QuickJit disabled, and usually equal or better than with TieredCompilation disabled.
- QuickJitForLoops remains disabled by default, so this enables QuickJit only for methods that don't contain loops

5 years ago[master] Update dependencies from dotnet/corefx (#24521)
dotnet-maestro[bot] [Wed, 15 May 2019 05:22:35 +0000 (22:22 -0700)]
[master] Update dependencies from dotnet/corefx (#24521)

* Update dependencies from https://github.com/dotnet/corefx build 20190513.9

- Microsoft.NETCore.Platforms - 3.0.0-preview6.19263.9
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview6.19263.9

* Add dependency flow for Microsoft.Bcl.AsyncInterfaces

5 years agoSwitch to zero-length array in otherwise empty class (#24370)
Adeel Mujahid [Wed, 15 May 2019 05:08:06 +0000 (08:08 +0300)]
Switch to zero-length array in otherwise empty class (#24370)

Flexible array is a feature of ISO C99, that ISO C++ has not
([yet](https://thephd.github.io/vendor/future_cxx/papers/d1039.html))
included. Therefore clang and gcc with `-fpedantic` and msvc with
`/Wall` warn about it, and are equally unhappy when flexible array is
used in C++ code.

The exception in CoreCLR is `FastTable` class, where there is only one
member which is a flexible array. The length of array is written at a
specific offset of contents array.

gcc 6+ does not like this particular case, and gives a fatal error that
cannot be suppressed by regular means (`-Wno-XXX`):

```
error: flexible array member FastTable::contents in an otherwise empty class FastTable
    size_t contents[];
                    ^
```

Fix is to either not wrap this single field in concrete data structure
or use a zero-length array instead, which produces same assembly code
as the flexible array; tested with clang, gcc and msvc.

Read about this fix here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69550

5 years agoFix issues reported by PREfast static analysis tool (#24577)
Jan Kotas [Wed, 15 May 2019 02:07:53 +0000 (19:07 -0700)]
Fix issues reported by PREfast static analysis tool (#24577)

5 years agoStack size override (#24532)
Steve MacLean [Wed, 15 May 2019 00:34:39 +0000 (20:34 -0400)]
Stack size override (#24532)

Add ability to override stack size on all platforms

* Add DEFAULT_STACK_SIZE property
* Make environment variable affect all platforms

5 years agoDecorate SuperPMI DllMain jitStartup getJit with DLLEXPORT (#24508)
Egor Chesakov [Tue, 14 May 2019 23:31:29 +0000 (16:31 -0700)]
Decorate SuperPMI DllMain jitStartup getJit with DLLEXPORT (#24508)

* Decorate DllMain with DLLEXPORT in superpmi-shim-collector.cpp superpmi-shim-counter.cpp superpmi-shim-simple.cpp

* Decorate jitStartup, getJit, sxsJitStartup with DLLEXPORT in superpmi-shim-collector.cpp superpmi-shim-counter.cpp superpmi-shim-simple.cpp

5 years agoAdd explicit cmake dependency between clretwrc and eventing_headers. (#24575)
Jeremy Koritzinsky [Tue, 14 May 2019 23:08:07 +0000 (16:08 -0700)]
Add explicit cmake dependency between clretwrc and eventing_headers. (#24575)

5 years agoFix a contract violation in ThreadPool.get_CompletedWorkItemCount (#24535)
Koundinya Veluri [Tue, 14 May 2019 22:10:17 +0000 (15:10 -0700)]
Fix a contract violation in ThreadPool.get_CompletedWorkItemCount (#24535)

Fix a contract violation in ThreadPool.get_CompletedWorkItemCount

Fixes https://github.com/dotnet/coreclr/issues/24515
- Looks like the path that acquires the thread store lock has code that is marked witH GC_TRIGGERS
- Changed ThreadPool.get_CompletedWorkItemCount and Monitor.get_LockContentionCount to use QCalls instead of FCalls

5 years agoLog the real command line in case the process is started as a service
Andrew Au [Mon, 6 May 2019 23:50:30 +0000 (16:50 -0700)]
Log the real command line in case the process is started as a service

5 years agoDisable IJW tests on ARM32 (#24570)
Jeremy Koritzinsky [Tue, 14 May 2019 20:54:29 +0000 (13:54 -0700)]
Disable IJW tests on ARM32 (#24570)

5 years agoFix Type.GetCustomAttributes for multiple instances of the same attribute (#24474)
Jan Kotas [Tue, 14 May 2019 20:51:34 +0000 (13:51 -0700)]
Fix Type.GetCustomAttributes for multiple instances of the same attribute (#24474)

Fixes dotnet/corefx#37261

5 years agoMerge pull request #24553 from sandreenko/excludeTestsThatAreFailingUnderGCStress
Sergey Andreenko [Tue, 14 May 2019 17:54:58 +0000 (10:54 -0700)]
Merge pull request #24553 from sandreenko/excludeTestsThatAreFailingUnderGCStress

Exclude tests that are failing under gc stress

5 years agoFix more save/restore code for HVAs (#24434)
Carol Eidt [Tue, 14 May 2019 16:42:06 +0000 (09:42 -0700)]
Fix more save/restore code for HVAs (#24434)

Fix OnHijackTripThread.
Re-enable the mandelbrot-7 test.

Fix #24224

5 years agoFurther improvements for R2RDump robustness in the presence of bugs (#24429)
Tomáš Rylek [Tue, 14 May 2019 16:40:46 +0000 (09:40 -0700)]
Further improvements for R2RDump robustness in the presence of bugs (#24429)

Based on JanV's suggestion I have added checks for token ranges
to MetadataNameFormatter to make it resilient towards invalid
tokens.

Thanks

Tomas

5 years agoUpdate dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimizati...
dotnet-maestro[bot] [Tue, 14 May 2019 15:26:58 +0000 (15:26 +0000)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190510.1 (#24522)

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

5 years agoDisable _il_relu_fld under GCStress.
Sergey Andreenko [Mon, 13 May 2019 19:16:37 +0000 (12:16 -0700)]
Disable _il_relu_fld under GCStress.

The issue is https://github.com/dotnet/coreclr/issues/24464

5 years agoDisable versionbubbles under GCStress.
Sergey Andreenko [Mon, 13 May 2019 19:19:12 +0000 (12:19 -0700)]
Disable versionbubbles under GCStress.

The issue is https://github.com/dotnet/coreclr/issues/22245

5 years agoMerge pull request #24551 from sandreenko/disable_eventsourcetrace_in_jitstress
Sergey Andreenko [Tue, 14 May 2019 05:00:02 +0000 (22:00 -0700)]
Merge pull request #24551 from sandreenko/disable_eventsourcetrace_in_jitstress

Exclude eventsourcetrace from jitstress runs.

5 years agoProfiler API to request ReJIT with inliners (#24461)
David Mason [Tue, 14 May 2019 04:40:29 +0000 (21:40 -0700)]
Profiler API to request ReJIT with inliners (#24461)

This API is necessary for attaching profilers to be able to ReJIT methods and replace everything that uses the old IL.

5 years agoFix broken XML
Aaron Robinson [Tue, 14 May 2019 00:57:00 +0000 (17:57 -0700)]
Fix broken XML

5 years agoDelete InternalCasingHelper (#24511)
Jan Kotas [Tue, 14 May 2019 02:58:23 +0000 (19:58 -0700)]
Delete InternalCasingHelper (#24511)

The unmanaged runtime has number of different paths for case-insensitive operations, each with unique issues. This is replacing InternalCasingHelper with SString to reduce number of different paths for case-insensitive operations that need to be maintained.

Contributes to #20616

5 years agoMerge pull request #24524 from janvorli/fix-encode-field
Jan Vorlicek [Tue, 14 May 2019 01:50:15 +0000 (18:50 -0700)]
Merge pull request #24524 from janvorli/fix-encode-field

Fix field signature generation

5 years agoMerge pull request #24523 from janvorli/fix-constraint-module-override
Jan Vorlicek [Tue, 14 May 2019 01:44:08 +0000 (18:44 -0700)]
Merge pull request #24523 from janvorli/fix-constraint-module-override

Add module override for constraint type in method

5 years agoRemoveThrowMessage (#24563)
Steve MacLean [Tue, 14 May 2019 01:10:50 +0000 (21:10 -0400)]
RemoveThrowMessage (#24563)

5 years agoWas too aggressive with changes to PackageOutputPath property.
Aaron Robinson [Mon, 13 May 2019 23:41:59 +0000 (16:41 -0700)]
Was too aggressive with changes to PackageOutputPath property.
  - This represents this repo's generated packages rather than
    packages it consumes.

5 years agoThe PackagesDir property is used in places that expected a trailing slash.
Aaron Robinson [Mon, 13 May 2019 21:17:00 +0000 (14:17 -0700)]
The PackagesDir property is used in places that expected a trailing slash.

5 years agoImplement GC.GetTotalAllocatedBytes (#23852)
Ludovic Henry [Mon, 13 May 2019 20:15:05 +0000 (13:15 -0700)]
Implement GC.GetTotalAllocatedBytes (#23852)

* keep what's allocated so far on each heap

* Implement GC.GetTotalAllocatedBytes

It is based on https://github.com/dotnet/corefx/issues/34631 and https://github.com/dotnet/corefx/issues/30644

* Fixing races related to dead_threads_non_alloc_bytes

* separated per-heap SOH and LOH counters. Different locks imply that we need different counters.

* allow/ignore torn 64bit reads on 32bit in imprecise mode.

* PR feedback

* simplified the test a little to avoid OOM on ARM

5 years agoDisable tests that are failing with timeouts.
Sergey Andreenko [Mon, 13 May 2019 19:11:31 +0000 (12:11 -0700)]
Disable tests that are failing with timeouts.

See examples in https://dev.azure.com/dnceng/public/_build/results?buildId=186855&view=ms.vss-test-web.build-test-results-tab

5 years agoexclude eventsourcetrace from jitstress runs.
Sergey Andreenko [Mon, 13 May 2019 17:55:16 +0000 (10:55 -0700)]
exclude eventsourcetrace from jitstress runs.

5 years agoFix build error for mscoree coreclr.exports (#24547)
Gleb Balykov [Mon, 13 May 2019 17:14:28 +0000 (20:14 +0300)]
Fix build error for mscoree coreclr.exports (#24547)

This partially reverts #23853

5 years agoCleanup some build files (#24539)
Aaron Robinson [Mon, 13 May 2019 00:23:51 +0000 (17:23 -0700)]
Cleanup some build files (#24539)

* Remove OsEnvironment, PackagesDir, and CoreCLRBinDir properties
* Replace usage of __BuildArch with BuildArch
* Simplify test timing out on ARM64

5 years agoFixed link to .NET Core SDK (#24544)
Yoh Deadfall [Sun, 12 May 2019 14:20:49 +0000 (17:20 +0300)]
Fixed link to .NET Core SDK (#24544)

5 years agoUpdate UsingYourBuild.md (#24389)
Dan Moseley [Sun, 12 May 2019 00:14:56 +0000 (17:14 -0700)]
Update UsingYourBuild.md (#24389)

Change MyGet to the custom feeds. I found that for dotnet new console to restore, I needed an ASP.NET feed as well.

5 years agoFixing S.P.Corelib to not double include files and ensure that S.N.V is marked #nulla...
Tanner Gooding [Sat, 11 May 2019 03:19:26 +0000 (20:19 -0700)]
Fixing S.P.Corelib to not double include files and ensure that S.N.V is marked #nullable enable (#24526)

* Changing EnableDefaultCompileItems=false to EnableDefaultItems=false

* Taking the VS auto-fixes for the solution and corelib csproj

* Removing the duplicated T4 file includes in the main csproj

* Regenerating the included T4 templates

* Fixing S.P.Corelib to properly list available platforms/configurations

* Add a comment on the T4 template service

5 years agoFix EventCounter disable logic (#24519)
Sung Yoon Whang [Fri, 10 May 2019 23:59:38 +0000 (16:59 -0700)]
Fix EventCounter disable logic (#24519)

5 years agoDisable a tail call test when using minopts (#24426)
Koundinya Veluri [Fri, 10 May 2019 23:59:20 +0000 (16:59 -0700)]
Disable a tail call test when using minopts (#24426)

Disable a tail call test when using minopts

Fixes https://github.com/dotnet/coreclr/issues/24424

5 years agoMove EventProvider native layout to be driven by CMake configure (#24478)
Jeremy Koritzinsky [Fri, 10 May 2019 23:24:42 +0000 (16:24 -0700)]
Move EventProvider native layout to be driven by CMake configure (#24478)

* Generate eventpipe implementation as part of CMake configure.

* Generate Etw provider as part of CMake configure.

* First pass porting over lttng provider to cmake.

* Fix up CMake Lttng provider generation.

* Move Lttng provider into CMake tree.

* Move dummy event provider to CMake

* Move genEventing into the CMake tree.

* Remove extraneous logging and unused python locator.

* Clean up build.sh

* Clean up genEventingTests.py

* Add dependencies to enable more incremental builds (providers not fully incremental).

* Convert to custom command and targets instead of at configure time.

* Get each eventing target to incrementally build.

* Fix incremental builds

* Add missing dependencies on eventing headers.

* PR Feedback. Mark all generated files as generated

* Clean up eventprovider test CMakeLists

5 years agoRe-enable accidentally disabled tests. (#24531)
Jeremy Koritzinsky [Fri, 10 May 2019 23:22:02 +0000 (16:22 -0700)]
Re-enable accidentally disabled tests. (#24531)

5 years agoReenable IJW tests. (#24530)
Jeremy Koritzinsky [Fri, 10 May 2019 23:20:14 +0000 (16:20 -0700)]
Reenable IJW tests. (#24530)

5 years agoProperly set the nuget cache for the repo (#24505)
Aaron Robinson [Fri, 10 May 2019 21:07:11 +0000 (14:07 -0700)]
Properly set the nuget cache for the repo (#24505)

* Properly set the nuget cache for the repo

* Change coreclr NuGet package cache from "./packages" to "./.packages"

5 years agoRemove obsolete comments
Andrew Au [Fri, 10 May 2019 16:30:23 +0000 (09:30 -0700)]
Remove obsolete comments

5 years agoFix field signature generation
Jan Vorlicek [Fri, 10 May 2019 16:05:11 +0000 (18:05 +0200)]
Fix field signature generation

The ZapSig::EncodeField was missing similar treatment that was made to
the encodeMethod in the past for enabling large version bubble. We
should encode all fields as field defs and the module override at the
beginning of the fixup signature is computed with that assumption.
The issue was that we were storing memberrefs in some cases and the
module override made them invalid.
It fixes a corefx test that was failing due to this when crossgen-ed
with large version bubble enabled.

5 years agoAdd module override for constraint type in method
Jan Vorlicek [Fri, 10 May 2019 15:59:04 +0000 (17:59 +0200)]
Add module override for constraint type in method

The constraint type for method signature encoding was missing module
zapsig when it was needed.

5 years agoTweak a few nullable annotations (#24494)
Stephen Toub [Fri, 10 May 2019 13:18:53 +0000 (09:18 -0400)]
Tweak a few nullable annotations (#24494)

- Assembly.ToString() won't return null
- Several attributes have the intent that their arguments are non-nullable, even though they don't check and throw; the annotations should match the intent in such cases.

5 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190509.1 (#24495)
dotnet-maestro[bot] [Fri, 10 May 2019 03:46:14 +0000 (20:46 -0700)]
Update dependencies from https://github.com/dotnet/corefx build 20190509.1 (#24495)

- Microsoft.NETCore.Platforms - 3.0.0-preview6.19259.1
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview6.19259.1

5 years agoFix netstandard build for nullable annotations
Stephen Toub [Thu, 9 May 2019 21:21:48 +0000 (17:21 -0400)]
Fix netstandard build for nullable annotations

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoFix netfx build with nullable annotations
Stephen Toub [Thu, 9 May 2019 19:25:49 +0000 (15:25 -0400)]
Fix netfx build with nullable annotations

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoDead string (#24516)
Dan Moseley [Fri, 10 May 2019 03:43:00 +0000 (20:43 -0700)]
Dead string (#24516)

5 years ago[master] Update dependencies from dnceng/internal/dotnet-optimization (#24473)
dotnet-maestro[bot] [Fri, 10 May 2019 03:42:35 +0000 (20:42 -0700)]
[master] Update dependencies from dnceng/internal/dotnet-optimization (#24473)

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190509.1

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

5 years agoFix an overflow issue with eventpipe buffer size (#24512)
Sung Yoon Whang [Fri, 10 May 2019 03:30:39 +0000 (20:30 -0700)]
Fix an overflow issue with eventpipe buffer size (#24512)

5 years ago[X86/Linux] Fix error: no member named 'GetId' in 'AppDomain' when enabled Interprete...
Leslie Zhai [Fri, 10 May 2019 03:24:25 +0000 (22:24 -0500)]
[X86/Linux] Fix error: no member named 'GetId' in 'AppDomain' when enabled Interpreter issue (#24513)

https://github.com/dotnet/coreclr/issues/24492

5 years agoMerge pull request #24482 from erozenfeld/Fix24159
Eugene Rozenfeld [Fri, 10 May 2019 00:16:10 +0000 (17:16 -0700)]
Merge pull request #24482 from erozenfeld/Fix24159

Mark local struct as having overlapping fields after struct reinterpretation

5 years agoFix memory leak in PAL_GenerateCoreDump (#24503)
Mike McLaughlin [Thu, 9 May 2019 21:01:10 +0000 (14:01 -0700)]
Fix memory leak in PAL_GenerateCoreDump (#24503)

5 years agoMore cleanup of the HWIntrinsic test templates (#24455)
Tanner Gooding [Thu, 9 May 2019 20:46:38 +0000 (13:46 -0700)]
More cleanup of the HWIntrinsic test templates (#24455)

* Adding some templates from which other HWIntrinsic test templates can be generated

* Regenerating the HWIntrinsic tests

5 years agoMark local struct as having overlapping fields after struct reinterpretation
Eugene Rozenfeld [Tue, 7 May 2019 22:35:42 +0000 (15:35 -0700)]
Mark local struct as having overlapping fields after struct reinterpretation

Methods like System.Runtime.CompilerServices.Unsafe.As<TFrom, TTo> may
have struct reinterpretation when function signature specifies Struct1&
and the method returns Struct2& where Struct1 and Struct2 are different
structs. This may confuse jit optimizations (in particular, value
numbering) because fields of a struct of type Struct1 may be accessed
using handles of Struct2. This fix marks the source local involved in
such struct reinterpretation as having overlapping fields. That prevents
SSA builder from inserting the local into SSA.

Fixes #24159.

No diffs in framework assemblies and coreclr benchmarks.

5 years agoAdd a new version of ContentionEnd event (#22487)
Gregory LEOCADIE [Thu, 9 May 2019 17:05:44 +0000 (19:05 +0200)]
Add a new version of ContentionEnd event (#22487)

Add new contention event

- This new event contains the duration of the contention.
- Compute duration and emit contention events only when Contention keyword is activated

5 years agoMerge pull request #24456 from briansull/ibc-work
Brian Sullivan [Thu, 9 May 2019 17:02:42 +0000 (10:02 -0700)]
Merge pull request #24456 from briansull/ibc-work

IBC refactor - Zero Diff,  rename types and methods

5 years agoTurn on nullability for all of Corelib (#24497)
Stephen Toub [Thu, 9 May 2019 16:40:16 +0000 (12:40 -0400)]
Turn on nullability for all of Corelib (#24497)

* Enable nullable at the project level

* Remove `#nullable enable` from individual files

Removes `#nullable enable` from almost all .cs files in System.Private.CoreLib. I left it only in the ~30 files (out of ~1480 that had it) that are mirrored to corefx, that are built into projects by corefx that don't yet set NullableContextOptions at the project level, and that use nullable annotations; otherwise, they'd break the corefx build.

5 years agoDelete suspicious code in delegate construction (#24493)
Michal Strehovský [Thu, 9 May 2019 15:50:31 +0000 (17:50 +0200)]
Delete suspicious code in delegate construction (#24493)

This reverts commit 0786da806b9727c466f3f9393cb3d55cf9df7536.

5 years ago[master] Update dependencies from dotnet/corefx (#24314)
dotnet-maestro[bot] [Thu, 9 May 2019 11:51:41 +0000 (04:51 -0700)]
[master] Update dependencies from dotnet/corefx (#24314)

* Update dependencies from https://github.com/dotnet/corefx build 20190506.1

- Microsoft.NETCore.Platforms - 3.0.0-preview6.19256.1
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview6.19256.1

* Use last stable version of System.Numerics.Vectors package

* Add Microsoft.Bcl.AsyncInterfaces package

* Disable Microsoft.Bcl.AsyncInterfaces

5 years agoFix ComActivator typo. (#24485)
Jeremy Koritzinsky [Thu, 9 May 2019 07:39:27 +0000 (00:39 -0700)]
Fix ComActivator typo. (#24485)

5 years agoReturn the required padding size instead of the current position to avoid integer...
Andrew Au [Wed, 8 May 2019 17:35:43 +0000 (10:35 -0700)]
Return the required padding size instead of the current position to avoid integer overflow.

5 years agoRemove premature throw (#24450)
Steve MacLean [Thu, 9 May 2019 02:33:10 +0000 (22:33 -0400)]
Remove premature throw (#24450)

* Remove premature throw

ResolveUsingEvent is no longer the last resort for Assembly resolution
and should not be throwing simply because the Assembly.Resolve event did
not find the Assembly

* Delay throw FileNotFound until after AppDomain.AssemblyResolve

5 years agoFix ETL event rejit IDs and sending of the IL to native map event when code versionin...
Koundinya Veluri [Thu, 9 May 2019 02:16:16 +0000 (19:16 -0700)]
Fix ETL event rejit IDs and sending of the IL to native map event when code versioning is in use (#24422)

Fix ETL event rejit IDs and sending of the IL to native map event when code versioning is in use

Fixes https://github.com/dotnet/coreclr/issues/22904
Fixes https://github.com/dotnet/coreclr/issues/22908
- Method events now always send the native code ID for the rejit ID, and the IL to native map event continues to send the IL code ID
- Took code versioning into account when sending rundown events for a method including the IL to native map

5 years agoMerge pull request #24479 from dotnet/UpdateHelixSDK
Divino César [Wed, 8 May 2019 22:29:27 +0000 (15:29 -0700)]
Merge pull request #24479 from dotnet/UpdateHelixSDK

Update Helix SDK Version - Master branch

5 years agoFix scenarios where SPCL is not crossgen'd and the output is not in the bin directory...
Aaron Robinson [Wed, 8 May 2019 22:12:11 +0000 (15:12 -0700)]
Fix scenarios where SPCL is not crossgen'd and the output is not in the bin directory (#24477)

5 years agoAdd support in SPCL to call into user supplied register and unregiste… (#24452)
Aaron Robinson [Wed, 8 May 2019 22:09:41 +0000 (15:09 -0700)]
Add support in SPCL to call into user supplied register and unregiste… (#24452)

* Add support in SPCL to call into user supplied register and unregister functions

5 years agoMerge pull request #24462 from briansull/fix-24440
Brian Sullivan [Wed, 8 May 2019 22:07:12 +0000 (15:07 -0700)]
Merge pull request #24462 from briansull/fix-24440

Fix 24440

5 years agoMerge pull request #24366 from sandreenko/fixLogPrinting
Sergey Andreenko [Wed, 8 May 2019 21:46:40 +0000 (14:46 -0700)]
Merge pull request #24366 from sandreenko/fixLogPrinting

Fix some small issues with stress logging.

5 years agoSend UTF16 dump file name (#24475)
Mike McLaughlin [Wed, 8 May 2019 21:45:42 +0000 (14:45 -0700)]
Send UTF16 dump file name (#24475)

5 years agoSpecify version.dll and add notification hook for delay load (#24449)
Elinor Fung [Wed, 8 May 2019 21:28:45 +0000 (14:28 -0700)]
Specify version.dll and add notification hook for delay load (#24449)

Mitigates an issue with hijacking of version.dll.
This is particularly an issue for self-contained and single-file-exe apps, as the hijacking in those cases does not require access to a machine-wide .NET Core install.

5 years agoFix 23317. (#24383)
Fadi Hanna [Wed, 8 May 2019 20:39:15 +0000 (13:39 -0700)]
Fix 23317. (#24383)

The issue is that a LDVIRTFTN operation becomes a dictionary lookup to a direct call to an abstract function with no code. We AV later when executing the PreStub of that direct call. Fixed by making this a dictionary lookup to a MethodDescSlot lookup, followed by the call to the JIT_VirtualFunctionPointer helper to resolve the target code (Same logic executing in jitted IL mode)

5 years agoRemove more MDA support code (#24457)
Steve MacLean [Wed, 8 May 2019 20:08:29 +0000 (16:08 -0400)]
Remove more MDA support code (#24457)

* Remove more MDA support code

* PR Feedback

5 years agoFix Issue 24440
Brian Sullivan [Wed, 8 May 2019 00:46:29 +0000 (17:46 -0700)]
Fix Issue 24440
gtGetStructHandleIfPresent can return nullptr (NO_CLASS_HANDLE)

5 years agoUpdate Version.Details.xml
Divino César [Wed, 8 May 2019 19:44:04 +0000 (12:44 -0700)]
Update Version.Details.xml

5 years agoUpdate global.json
Divino César [Wed, 8 May 2019 19:43:09 +0000 (12:43 -0700)]
Update global.json

5 years agoTwo additional minor changes
Brian Sullivan [Wed, 8 May 2019 18:37:21 +0000 (11:37 -0700)]
Two additional minor changes

5 years agoPrefer UINT32 over DWORD in the IBC BlockCount API's
Brian Sullivan [Wed, 8 May 2019 18:08:09 +0000 (11:08 -0700)]
Prefer UINT32 over DWORD in the IBC BlockCount API's

5 years agoAdd a check to prevent mixed-mode assemblies from being compiled into R2R (#24451)
Fadi Hanna [Wed, 8 May 2019 17:36:16 +0000 (10:36 -0700)]
Add a check to prevent mixed-mode assemblies from being compiled into R2R (#24451)

5 years agoMerge pull request #24447 from sandreenko/addGCStressExtraJobs
Sergey Andreenko [Wed, 8 May 2019 16:19:11 +0000 (09:19 -0700)]
Merge pull request #24447 from sandreenko/addGCStressExtraJobs

Add GCStress extra jobs.

5 years agoHandle the case when the SamplingProfiler thread is terminated prematurely
Andrew Au [Wed, 8 May 2019 00:23:42 +0000 (17:23 -0700)]
Handle the case when the SamplingProfiler thread is terminated prematurely

5 years agoAdd generate crash dump command to diagnostics server (#24460)
Mike McLaughlin [Wed, 8 May 2019 07:46:51 +0000 (00:46 -0700)]
Add generate crash dump command to diagnostics server (#24460)

Add the DiagnosticProtocolHelper class to deserialize and dispatch
the new GenerateCoreDump command.

Refactor the PAL createdump launch on unhandled exception code to
used by a new PAL_GenerateCoreDump method that doesn't depend on
the complus dump environment variables.

Changed the "full" createdump not to include the uncommitted pages and
removed the "add module metadata" workaround for SOS clrstack !UNKNOWN
problem now that is fixed in SOS (crashinfo.cpp).

5 years agoMerge pull request #24463 from sandreenko/ExcludeMethodImpl
Sergey Andreenko [Wed, 8 May 2019 04:22:55 +0000 (21:22 -0700)]
Merge pull request #24463 from sandreenko/ExcludeMethodImpl

Exclude MethodImplOptionsTests.

5 years agoExclude MethodImplOptionsTests.
Sergey Andreenko [Wed, 8 May 2019 01:09:27 +0000 (18:09 -0700)]
Exclude MethodImplOptionsTests.

Exclude the test because the fix is postponed.

5 years agoMerge pull request #24444 from BruceForstall/FixGenerateLayoutArgPassing
Bruce Forstall [Tue, 7 May 2019 23:23:34 +0000 (16:23 -0700)]
Merge pull request #24444 from BruceForstall/FixGenerateLayoutArgPassing

Fix build.cmd passing of args to runtest.cmd

5 years agoMake Idn.GetAscii compatible with Windows (#24443)
Tarek Mahmoud Sayed [Tue, 7 May 2019 22:35:46 +0000 (15:35 -0700)]
Make Idn.GetAscii compatible with Windows (#24443)

GetAscii on Windows ignore if the uri has hyphens in the third and fourth places. We relaxing this on Linux too for the sake of the consistent behavior. This issue was causing some problems with the http stack.

5 years agoSave OBJECTREF_TO_UNCHECKED_OBJECTREF and use auto.
Sergey Andreenko [Tue, 7 May 2019 21:55:22 +0000 (14:55 -0700)]
Save OBJECTREF_TO_UNCHECKED_OBJECTREF and use auto.

On x86 OBJECTREF_TO_UNCHECKED_OBJECTREF expands to `((UINT_PTR)((*((_UNCHECKED_OBJECTREF*)&(fromAddress)))))`
where `*((_UNCHECKED_OBJECTREF*)` call contructor of `OBJECTREF` that call `Object->Validate`
that fails for `fromAddress` because it is not longer a valid address.

5 years agoFixing up time.cpp in the PAL (#24428)
Tanner Gooding [Tue, 7 May 2019 20:18:16 +0000 (13:18 -0700)]
Fixing up time.cpp in the PAL (#24428)

* Fixing up time.cpp in the PAL

* Fixing GetTickCount64 in the PAL to continue using CLOCK_MONOTONIC_COARSE where available

* Reverting QueryPerformanceFrequency in the PAL to return tccSecondsToNanoSeconds for CLOCK_MONOTONIC

* Removing two unused variables from GetTickCount64 in the PAL

* Updating the PAL to error if neither mach_absolute_time nor clock_gettime(CLOCK_MONOTONIC) are supported.

* Fixing the PAL configure.cmake to link rt where applicable

5 years agoFix typo.
Sergey Andreenko [Tue, 7 May 2019 19:11:23 +0000 (12:11 -0700)]
Fix typo.

5 years agoFix build.cmd passing of args to runtest.cmd
Bruce Forstall [Tue, 7 May 2019 18:06:28 +0000 (11:06 -0700)]
Fix build.cmd passing of args to runtest.cmd

If you use the `generatelayout` argument to build.cmd, it passes
all "unprocessed" arguments directly on to msbuild. To accomplish
the same this with runtest.cmd, you must use the "msbuildargs"
argument, or else the arg will be treated as a `CORE_ROOT` argument.
(This seems like a bad design, but that's a separate issue.)

E.g., I always pass `/consoleloggerparameters:ForceNoAlign`, and want
that passed on to runtest.cmd. (This should also be the default, but
once again, that's a separate issue.)

5 years agoAdd GCStress extra jobs.
Sergey Andreenko [Tue, 7 May 2019 17:55:51 +0000 (10:55 -0700)]
Add GCStress extra jobs.

Contributes to #24358.

5 years agoUpdate Microsoft.Build.Traversal SDK to v2. (#24430)
Jeremy Koritzinsky [Tue, 7 May 2019 17:46:00 +0000 (10:46 -0700)]
Update Microsoft.Build.Traversal SDK to v2. (#24430)

5 years agoRename struct ICorJitInfo::ProfileBuffer to ICorJitInfo::BlockCounts
Brian Sullivan [Tue, 7 May 2019 17:35:05 +0000 (10:35 -0700)]
Rename struct ICorJitInfo::ProfileBuffer        to ICorJitInfo::BlockCounts
Rename method ICorJitInfo::allocBBProfileBuffer to ICorJitInfo::allocMethodBlockCounts
Rename method ICorJitInfo::getBBProfileData     to ICorJitInfo:"getMethodBlockCounts
Rename args and use DWORD instead of ULONG for ICorJitInfo:allocMethodBlockCounts and ICorJitInfo:getMethodBlockCounts
Rename Compiler::fgProfileBuffer  to Compiler::fgBlockCounts
Use an #ifdef FEATURE_CORECLR to fix the missing CORINFO_FLG_DISABLE_TIER0_FOR_LOOPS flag on the desktop.
Make fgBlockCountsCount and fgNumProfileRuns DWORDs instead of ULONGs
Rename local var bbCurrentBlockProfileBuffer to currentBlockCounts
Rename local var bbProfileBufferStart to profileBlockCountsStart
Use DWORD when iterating over BlockCounts instead of ULONG
Rename ZapImage::hashBBProfileData to ZapImage::hashMethodBlockCounts
SuperPMI - Fixed all references to allocBBProfileBuffer => allocMethodBlockCounts
SuperPMI - fixed all reference to getBBProfileBuffer => getMethodBlockCounts

5 years agoMerge pull request #23587 from BrianBohe/brbohe/moving_variableLiveRange
Sergey Andreenko [Tue, 7 May 2019 17:35:29 +0000 (10:35 -0700)]
Merge pull request #23587 from BrianBohe/brbohe/moving_variableLiveRange

Moving VariableLiveRanges classes outside Compiler class

5 years agoMerge pull request #24421 from sandreenko/AddZapDisableTailCallStresss
Sergey Andreenko [Tue, 7 May 2019 04:49:20 +0000 (21:49 -0700)]
Merge pull request #24421 from sandreenko/AddZapDisableTailCallStresss

Add ZapDisable  and TailCallStress ADO testing.

5 years agoAdd option to only notify profiler of LOH allocations (#24291)
Mukul Sabharwal [Tue, 7 May 2019 03:53:14 +0000 (20:53 -0700)]
Add option to only notify profiler of LOH allocations (#24291)

5 years agomaking DiagnosticCounter internal (#24427)
Anirudh Agnihotry [Tue, 7 May 2019 03:31:35 +0000 (20:31 -0700)]
making DiagnosticCounter internal (#24427)