platform/upstream/coreclr.git
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)

5 years agoMerge pull request #24415 from sandreenko/corefxAddExclsusions
Sergey Andreenko [Mon, 6 May 2019 23:39:22 +0000 (16:39 -0700)]
Merge pull request #24415 from sandreenko/corefxAddExclsusions

Add new CoreFX exclusions.

5 years agoMove the Formatting jobs over to AzDO (#24367)
Jeremy Koritzinsky [Mon, 6 May 2019 23:09:28 +0000 (16:09 -0700)]
Move the Formatting jobs over to AzDO (#24367)

* First stab at running the format jobs in AzDO.

* Add display names for formatting jobs.

* Try to use a python version in the path

* Try to fix bootstrap download.

* Use imported paths. Output python major version.

* Clean up imports.

* Fix imports.

* Try just using urlretrieve again

* Cleanup

* Add back killing spurious dotnet processes.

* Try leaving all shutdown/kill work to AzDO.

* PR Feedback.

5 years agoLeaving Scope Info as variable location tracking default system again
Brian Bohe [Mon, 6 May 2019 23:01:39 +0000 (20:01 -0300)]
Leaving Scope Info as variable location tracking default system again

Signed-off-by: Brian Bohe <brianbohe@gmail.com>
5 years agoReplace E_FAIL with E_NOTIMPL for an unsupported R2R encoding (Future work) (#24386)
Fadi Hanna [Mon, 6 May 2019 23:00:05 +0000 (16:00 -0700)]
Replace E_FAIL with E_NOTIMPL for an unsupported R2R encoding (Future work) (#24386)

5 years agoLaunch DiagnosticServer after EEStartup
Andrew Au [Mon, 6 May 2019 19:04:13 +0000 (12:04 -0700)]
Launch DiagnosticServer after EEStartup

5 years agoImprove R2RDump resiliency towards invalid tokens (#24379)
Tomáš Rylek [Mon, 6 May 2019 21:38:45 +0000 (23:38 +0200)]
Improve R2RDump resiliency towards invalid tokens (#24379)

This change adds a bunch of try blocks that make R2RDump survive
partially corrupted input.

Thanks

Tomas

5 years agoHandle E_NOTIMPL return from CoInitializeEx. (#24387)
Jeremy Koritzinsky [Mon, 6 May 2019 20:45:52 +0000 (13:45 -0700)]
Handle E_NOTIMPL return from CoInitializeEx. (#24387)

* Handle E_NOTIMPL return from CoInitializeEx.

* Remove unneeded STA attributes.

5 years agoAdd zapdisable and tailcallstress testing.
Sergey Andreenko [Mon, 6 May 2019 19:29:33 +0000 (12:29 -0700)]
Add zapdisable and tailcallstress testing.

5 years agoRename ADO group outerloop-jitminopts-jitstress1-jitstress2 to outerloop-jitstress.
Sergey Andreenko [Mon, 6 May 2019 19:29:18 +0000 (12:29 -0700)]
Rename ADO group outerloop-jitminopts-jitstress1-jitstress2 to outerloop-jitstress.

Allows us to add more scenarios there.

5 years agoPort all managed product binaries to use SDK style projects (#24285)
Aaron Robinson [Mon, 6 May 2019 17:19:49 +0000 (10:19 -0700)]
Port all managed product binaries to use SDK style projects (#24285)

Convert managed product binary to use SDK project system.
 - Uses Arcade for versions strings
 - Overrides Arcade defined output paths - should change in the future

5 years agoAdd new CoreFX exclusions.
Sergey Andreenko [Mon, 6 May 2019 16:12:07 +0000 (09:12 -0700)]
Add new CoreFX exclusions.

5 years agoFixes AV when accessing LoaderModule for some objects (#24406)
Mukul Sabharwal [Mon, 6 May 2019 15:21:19 +0000 (08:21 -0700)]
Fixes AV when accessing LoaderModule for some objects (#24406)

5 years agoNullable: System.Collections.Generic remainder (#24340)
Krzysztof Wicher [Mon, 6 May 2019 13:50:18 +0000 (06:50 -0700)]
Nullable: System.Collections.Generic remainder (#24340)

* Nullable: System.Collections.Generic remainder

* apply review feedback

5 years agoMove AsyncMethodBuilder.SetStateMachine to non-generic (#24403)
Ben Adams [Sun, 5 May 2019 20:01:07 +0000 (21:01 +0100)]
Move AsyncMethodBuilder.SetStateMachine to non-generic (#24403)

5 years agoUpdate dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimizati...
dotnet-maestro[bot] [Sun, 5 May 2019 14:55:14 +0000 (14:55 +0000)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190505.1 (#24401)

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

5 years agoReenable corefx tests (#24157)
Steve MacLean [Sat, 4 May 2019 18:31:34 +0000 (14:31 -0400)]
Reenable corefx tests (#24157)

5 years agoMinor tweaks for gcc (#24391)
Adeel Mujahid [Sat, 4 May 2019 16:43:35 +0000 (19:43 +0300)]
Minor tweaks for gcc (#24391)

* Fix a consistency check condition
Following error is reported by gcc 8 with debug configuration:

> error: enum constant in boolean context [-Werror=int-in-bool-context]

* Apply -Wno-register only to CXX flags
gcc 8 errors out like this:

```
[ 96%] Building C object src/ilasm/CMakeFiles/ilasm.dir/__/__/version.c.o
cc1: error: command line option -Wno-register is valid for C++/ObjC++ but not for C [-Werror]
cc1: all warnings being treated as errors
src/ilasm/CMakeFiles/ilasm.dir/build.make:254: recipe for target 'src/ilasm/CMakeFiles/ilasm.dir/__/__/version.c.o' failed
make[2]: *** [src/ilasm/CMakeFiles/ilasm.dir/__/__/version.c.o] Error 1
CMakeFiles/Makefile2:5710: recipe for target 'src/ilasm/CMakeFiles/ilasm.dir/all' failed
make[1]: *** [src/ilasm/CMakeFiles/ilasm.dir/all] Error 2
```

* Remove extra parantheses from variable declaration
gcc 8 reports:

> error: unnecessary parentheses in declaration of m_HashedModules [-Werror=parentheses]

* Use macro instead of const in C
gcc throws:

> error: variably modified collatorsPerOption at file scope
     UCollator* collatorsPerOption[CompareOptionsMask + 1];

* Cast to uintptr_t before (32-bit) DWORD
gcc error was:

> error: cast from LPCWSTR {aka const char16_t*} to DWORD {aka unsigned int} loses precision [-fpermissive]

5 years agoUpdate dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimizati...
dotnet-maestro[bot] [Sat, 4 May 2019 14:50:46 +0000 (14:50 +0000)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190504.1 (#24393)

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

5 years agoMerge pull request #24392 from dotnet/revert-24363-GitHub_23199
Sergey Andreenko [Sat, 4 May 2019 09:08:38 +0000 (02:08 -0700)]
Merge pull request #24392 from dotnet/revert-24363-GitHub_23199

Revert "Fix GCStress for multireg returns. "

5 years agoRevert "Fix GCStress for multireg returns. "
Sergey Andreenko [Sat, 4 May 2019 09:02:07 +0000 (02:02 -0700)]
Revert "Fix GCStress for multireg returns. "

5 years agoFix incorrect tier reported by SOS (#24374)
Koundinya Veluri [Sat, 4 May 2019 05:35:03 +0000 (22:35 -0700)]
Fix incorrect tier reported by SOS (#24374)

Fix incorrect tier reported by SOS

- The tier of the initial code version was being assumed to be 0
- Whether call counting is enabled for a method needed to be available to the DAC
- Some small renames / cleanup to simplify code

5 years agoFix CoreRT build breaks
Jan Kotas [Thu, 2 May 2019 20:07:24 +0000 (13:07 -0700)]
Fix CoreRT build breaks

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoRe-enable EventSourceTrace test (#24365)
Sung Yoon Whang [Sat, 4 May 2019 01:05:57 +0000 (18:05 -0700)]
Re-enable EventSourceTrace test (#24365)

5 years agoUse our local-built instances of tools from Microsoft.DotNet.BuildTools.CoreClr inste...
Jeremy Koritzinsky [Sat, 4 May 2019 00:56:20 +0000 (17:56 -0700)]
Use our local-built instances of tools from Microsoft.DotNet.BuildTools.CoreClr instead of using the package. (#24347)

* Use our local-built instances of tools from Microsoft.DotNet.BuildTools.CoreClr instead of using the package.

* Fix const-correctness in InjectResource.

* Build cross-arch native components before building native components for target arch.

* Build InjectResource and GenClrDebugResource for the host arch when cross-building and import the targets into the cross-build.

* install(EXPORT) in the directory where the target is created

5 years agoFix EventPipe initialization order
Andrew Au [Fri, 3 May 2019 22:44:06 +0000 (15:44 -0700)]
Fix EventPipe initialization order

5 years agoEnable CoreFX test filtering for CoreCLR PRs (#24259)
David Mason [Fri, 3 May 2019 23:52:46 +0000 (16:52 -0700)]
Enable CoreFX test filtering for CoreCLR PRs (#24259)

This change enables CoreFX tests for CoreCLR.

5 years agoDisable remaining Jenkins default-PR-triggered jobs
Russ Keldorph [Fri, 3 May 2019 16:46:28 +0000 (09:46 -0700)]
Disable remaining Jenkins default-PR-triggered jobs

5 years agoChange our DateTime marshalling tests to be culture-independent. (#24362)
Jeremy Koritzinsky [Fri, 3 May 2019 23:25:55 +0000 (16:25 -0700)]
Change our DateTime marshalling tests to be culture-independent. (#24362)

Fixes #24089

5 years agoMerge pull request #24315 from dotnet/darc-master-c4cf8915-b4aa-4756-a614-aa01a76fd5cb
William Godbe [Fri, 3 May 2019 21:53:24 +0000 (14:53 -0700)]
Merge pull request #24315 from dotnet/darc-master-c4cf8915-b4aa-4756-a614-aa01a76fd5cb

[master] Update dependencies from dnceng/internal/dotnet-optimization

5 years agoNew options --sb / --isb for binary signature dump (#24375)
Tomáš Rylek [Fri, 3 May 2019 21:15:25 +0000 (23:15 +0200)]
New options --sb / --isb for binary signature dump (#24375)

Based on JanV's suggestion I have added two new options to R2RDump:

"--sb" (SignatureBinary) appends the binary signature representation
at the end of the parsed textual signature;

"--isb" (InlineSignatureBinary) inlines the signature bytes into
the parsed textual signature and makes it (somewhat) easy to correlate
the binary bytes with individual parts of the signature.

Thanks

Tomas

5 years agofix nits
Sergey Andreenko [Fri, 3 May 2019 18:17:18 +0000 (11:17 -0700)]
fix nits

5 years agoMerge pull request #24343 from briansull/add-hva-tests
Brian Sullivan [Fri, 3 May 2019 13:56:16 +0000 (06:56 -0700)]
Merge pull request #24343 from briansull/add-hva-tests

Add two additional HVA tests:

5 years agoImplement String.IsAscii in shared CoreLib and use it for [Is]Normalize[d] for all...
Filip Navara [Fri, 3 May 2019 13:37:19 +0000 (15:37 +0200)]
Implement String.IsAscii in shared CoreLib and use it for [Is]Normalize[d] for all runtimes (#24373)

5 years agoUpdate dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimizati...
dotnet-maestro [Fri, 3 May 2019 13:01:55 +0000 (13:01 +0000)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190503.1

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

5 years agoMerge pull request #24363 from sandreenko/GitHub_23199
Sergey Andreenko [Fri, 3 May 2019 07:59:56 +0000 (00:59 -0700)]
Merge pull request #24363 from sandreenko/GitHub_23199

Fix GCStress for multireg returns.

5 years agoUpdate the comment.
Sergey Andreenko [Fri, 3 May 2019 07:58:16 +0000 (00:58 -0700)]
Update the comment.

5 years agoVector.CopyTo / TryCopyTo should be readonly methods (#24359)
Levi Broderick [Fri, 3 May 2019 06:09:56 +0000 (23:09 -0700)]
Vector.CopyTo / TryCopyTo should be readonly methods (#24359)

5 years agoSystem.GC.AllocateUninitializedArray (#24096)
Vladimir Sadov [Fri, 3 May 2019 05:16:31 +0000 (22:16 -0700)]
System.GC.AllocateUninitializedArray (#24096)

* Do not expand to allocation_quantum in SOH when GC_ALLOC_ZEROING_OPTIONAL

* short-circuit short arrays to use `new T[size]`

* Clean syncblock of large-aligned objects on ARM32

* specialize single-dimensional path  AllocateSzArray

* Unit tests

* Some PR feedback. Made AllocateUninitializedArray not be trimmed away.

* PR feedback on gchelpers
- replaced use of multiple bool parameters with flags enum
- merged some methods with nearly identical implementation
- switched callers to use AllocateSzArray vs. AllocateArrayEx where appropriate.

* PR feedback. Removed X86 specific array/string allocation helpers.

5 years agoMerge pull request #24339 from briansull/linux-creation-time
Brian Sullivan [Fri, 3 May 2019 01:07:46 +0000 (18:07 -0700)]
Merge pull request #24339 from briansull/linux-creation-time

Fix the PAL implemention of GetProcessTimes  to write the creation time

5 years agoChanges from code review
Brian Sullivan [Fri, 3 May 2019 00:14:34 +0000 (17:14 -0700)]
Changes from code review

5 years agoFix some small issues with stress logging.
Sergey Andreenko [Thu, 2 May 2019 22:58:38 +0000 (15:58 -0700)]
Fix some small issues with stress logging.

5 years agoMake sure we check the second buffer's creation date before we return
Andrew Au [Thu, 2 May 2019 18:06:52 +0000 (11:06 -0700)]
Make sure we check the second buffer's creation date before we return

5 years agoMake sure the thread running EventPipe::Disable is registered with the thread store...
Andrew Au [Thu, 2 May 2019 20:32:48 +0000 (13:32 -0700)]
Make sure the thread running EventPipe::Disable is registered with the thread store so that rundown events can be collected

5 years agoFix DoGcStress for multireg return with GC pointers.
Sergey Andreenko [Thu, 2 May 2019 22:45:08 +0000 (15:45 -0700)]
Fix DoGcStress for multireg return with GC pointers.

Note: we are overprotecting registers here, for example, we always protect 2 registers even if only one is returned. GCStress infrastructure should be able to tolerate extra registers. We have had such examples before (for example when returned a struct without pointers we protected the first reg anyway).

5 years agoIn the PAL GetProcessTimes implement lpCreationTime using the current time returned...
Brian Sullivan [Wed, 1 May 2019 17:45:39 +0000 (10:45 -0700)]
In the PAL GetProcessTimes implement lpCreationTime using the current time returned by gettimeofday
This allows IBC profile data to record a meaningful time of when the training scenario was run.
Made EPOCH_DIFF a defined constant
Change calcTime to be an unsigned 64-bit integer
Change constants to units of 100NS instead of NS to avoid division and integer overflows.
Use the defined constants SECS_TO_100NS and USECS_TO_100NS when performing time calculations
Don't add a space after the Assembly arg when argc is zero

5 years agoAdd a repro test.
Sergey Andreenko [Thu, 2 May 2019 22:05:40 +0000 (15:05 -0700)]
Add a repro test.

5 years agoWhen QuickJit is enabled, disable it for methods that contain loops by default (...
Koundinya Veluri [Thu, 2 May 2019 20:48:13 +0000 (13:48 -0700)]
When QuickJit is enabled, disable it for methods that contain loops by default (#24252)

When QuickJit is enabled, disable it for methods that contain loops by default

Fixes https://github.com/dotnet/coreclr/issues/19751 by default when QuickJit is enabled
- Added config variable TC_QuickJitForLoops. When disabled (the default), the JIT identifies loops and explicit tail calls and switches to tier 1 JIT.
- This would prevent the possibility of spending too long in QuickJit code, but may decrease startup time a bit when QuickJit is enabled
- Removed TC_StartupTier_OptimizeCode, as now that there is TC_QuickJit, I didn't see a good use for it
- Removed references to "StartupTier" in config variables because we had previously decided not to call it that.
- When QuickJit is disabled, avoid creating native code slots for methods in non-R2R'ed modules, as tiering would be disabled for those anyway
- Marked TC_QuickJit config var as external

5 years agoAdd Series/CounterType to CounterPayload and IncrementingCounterPayload (#24349)
Sung Yoon Whang [Thu, 2 May 2019 19:34:39 +0000 (12:34 -0700)]
Add Series/CounterType to CounterPayload and IncrementingCounterPayload (#24349)

5 years agoMerge pull request #24332 from janvorli/fix-module-override
Jan Vorlicek [Thu, 2 May 2019 19:16:25 +0000 (21:16 +0200)]
Merge pull request #24332 from janvorli/fix-module-override

Fix module override effect on method instantiating signature

5 years agoAdd using System.Diagnostics on some files
Krzysztof Wicher [Wed, 1 May 2019 20:29:33 +0000 (13:29 -0700)]
Add using System.Diagnostics on some files

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoDelete stale compilation constants from AsyncIteratorMethodBuilder (#37331)
Stephen Toub [Wed, 1 May 2019 17:52:38 +0000 (13:52 -0400)]
Delete stale compilation constants from AsyncIteratorMethodBuilder (#37331)

I accidentally left these MICROSOFT_BCL_ASYNCINTERFACES_PACKAGE references in as part of some recent churn.  This compilation constant isn't set anywhere.

And the CORERT ifdef is no longer needed now that we've consolidated the code to shared.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoAdd ManualResetValueTaskSourceCore / AsyncIterateMethodBuilder to Microsoft.Bcl.Async...
Stephen Toub [Wed, 1 May 2019 15:57:35 +0000 (11:57 -0400)]
Add ManualResetValueTaskSourceCore / AsyncIterateMethodBuilder to Microsoft.Bcl.AsyncInterfaces (#37320)

* Add ManualResetValueTaskSourceCore / AsyncIterateMethodBuilder to Microsoft.Bcl.AsyncInterfaces

These two types needed modifications to target .NET Standard 2.0 and are the necessary pieces to enable the compiler to compile async iterators.

- Copied ManualResetValueTaskSourceCore.cs from coreclr and tweaked it.  I opted to do this rather than ifdef because the changes are not localized and I didn't want to significantly perturb the primary implementation.
- Added a few ifdefs to the shared AsyncIteratorMethodBuilder.  It already had ifdefs, so I just added to it.
- Added a test project, and included the existing ManualResetValueTaskSourceCore tests.  I had to disable two of the tests because of some of the optimization differences.
- Augmented those tests to validate that the compiler is able to successfully generate iterators and await foreach them.

* Address PR feedback

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoAdding more coverage for the AES hwintrinsic tests. (#24335)
Tanner Gooding [Thu, 2 May 2019 18:15:49 +0000 (11:15 -0700)]
Adding more coverage for the AES hwintrinsic tests. (#24335)

* Updating the AES tests to cover all current scenarios

* Regenerating the AES HWIntrinsic tests from the updated templates.

* Fixing a couple of typos in the Aes*OpTest.templates

* Modifying CodeGen::inst_RV_TT_IV to no longer assert when memIndir is nullptr

5 years agoRe-enable all com crossgen testing (#24348)
David Wrighton [Thu, 2 May 2019 17:53:59 +0000 (10:53 -0700)]
Re-enable all com crossgen testing (#24348)

- COM testing with crossgen was disabled due to lack of manifest support in crossgen