platform/upstream/coreclr.git
5 years agoDelete dead strongname-related code (#24709)
Jan Kotas [Wed, 22 May 2019 12:18:30 +0000 (05:18 -0700)]
Delete dead strongname-related code (#24709)

5 years agoGC Moved Objects Profiler API fix (#24541)
Mukul Sabharwal [Wed, 22 May 2019 09:56:05 +0000 (02:56 -0700)]
GC Moved Objects Profiler API fix (#24541)

5 years agoTrack debug info for DynamicMethods for Profiler API (#24139)
Mukul Sabharwal [Wed, 22 May 2019 08:52:38 +0000 (01:52 -0700)]
Track debug info for DynamicMethods for Profiler API (#24139)

5 years agoAdd runtime counter for current assemblies loaded (#24698)
Sung Yoon Whang [Wed, 22 May 2019 06:06:17 +0000 (23:06 -0700)]
Add runtime counter for current assemblies loaded (#24698)

* Consume # of assemblies loaded

* Fix names

* Fix build

* Add ifdef in assemblynative.hpp

* fix merge error

* fix build break

* Address PR feedback

* Fix linux build

* Remove ifdef

5 years agoFix loading libcoreclrtraceptprovider.so (#24702)
Mike McLaughlin [Wed, 22 May 2019 04:52:37 +0000 (21:52 -0700)]
Fix loading libcoreclrtraceptprovider.so (#24702)

5 years agoFix profiler crash on shutdown (#22712)
Noah Falk [Wed, 22 May 2019 04:52:18 +0000 (21:52 -0700)]
Fix profiler crash on shutdown (#22712)

Fixes issue #22176. Use the profiler evacuation counters to ensure that we
don't callback into the profiler when it has already been released.
Previously we only did this as part of the attach/detach feature, but this
is required for correctness during standard shutdown given that managed
threads are still running concurrently.

5 years agoImplement AppDomain.Monitoring*MemorySize (#24610)
Stephen Toub [Wed, 22 May 2019 04:27:00 +0000 (00:27 -0400)]
Implement AppDomain.Monitoring*MemorySize (#24610)

* Implement AppDomain.MonitoringTotalAllocatedMemorySize

* Change precise:true back to precise:false in GetTotalAllocatedBytes

5 years ago[master] Update dependencies from dotnet/core-setup (#24647)
dotnet-maestro[bot] [Wed, 22 May 2019 04:16:49 +0000 (21:16 -0700)]
[master] Update dependencies from dotnet/core-setup (#24647)

* Update dependencies from https://github.com/dotnet/core-setup build 20190520.09

- Microsoft.NETCore.App - 3.0.0-preview6-27720-09

5 years agoDelete Unsafe redefinitions of Windows APIs (#24688)
Jan Kotas [Wed, 22 May 2019 04:15:32 +0000 (21:15 -0700)]
Delete Unsafe redefinitions of Windows APIs (#24688)

Leftover from SQL hosting infrastructure

5 years agoUpdate build docker images to enable NUMA support (#24593)
Jan Vorlicek [Wed, 22 May 2019 03:34:01 +0000 (20:34 -0700)]
Update build docker images to enable NUMA  support (#24593)

* Update build docker images to enable NUMA  support

So far, the NUMA support for Linux was disabled due to the fact that the
build docker images didn't have libnuma development package installed.
This change updates the images to ones that have the libnuma added that
were created recently.

* Update build job to use Clang5.0 for arm64 everywhere

Our new images for linux-arm64 build have only Clang 5.0 and this change
also aligns the build with linux-musl-arm64.

* Update the clang version used for test builds

5 years agoFix GCToOSInterface::SetCurrentThreadIdealAffinity on Unix (#24706)
Jan Vorlicek [Wed, 22 May 2019 03:33:05 +0000 (20:33 -0700)]
Fix GCToOSInterface::SetCurrentThreadIdealAffinity on Unix (#24706)

The code was using GCToOSInterface::SetThreadAffinity, which
effectively pinned the current thread to a specific processor. On
Windows, it calls SetThreadIdealProcessor which is basically just a
scheduler hint, but the thread can stil run on other threads.

Since there is no way to set ideal affinity on Unix, the fix is to do
nothing in the GCToOSInterface::SetCurrentThreadIdealAffinity.

5 years agoAdd Microsoft.DotNet.Build.Tasks.Packaging to Version.Details.xml (#24700)
Elinor Fung [Wed, 22 May 2019 03:19:33 +0000 (20:19 -0700)]
Add Microsoft.DotNet.Build.Tasks.Packaging to Version.Details.xml (#24700)

5 years agoModified format logic so that braces are not allowed in custom format specifiers...
Mike Marynowski [Wed, 22 May 2019 02:58:49 +0000 (22:58 -0400)]
Modified format logic so that braces are not allowed in custom format specifiers (#23062)

* Modified format logic so that braces are not allowed in custom format specifiers.

* Disabled failing test temporarily and fixed code style issue.

PR needed to pass test: https://github.com/dotnet/corefx/pull/35820

* Slight changes to logic to better align the diff.

* Fixed counting error.

* Fix nullable

* Move exclusion near related test

* Add skip to new issue file

* Delete CoreFX.issues.json

5 years agoSet ContinuousIntegrationBuild=true for product build in build-job.yml (#24693)
Elinor Fung [Wed, 22 May 2019 01:52:30 +0000 (18:52 -0700)]
Set ContinuousIntegrationBuild=true for product build in build-job.yml (#24693)

5 years agoUpdate dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimizati...
dotnet-maestro[bot] [Wed, 22 May 2019 00:46:05 +0000 (17:46 -0700)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190521.1 (#24681)

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

5 years agoAdd null check in VoidFreeNativeLibrary (#24685)
Jan Kotas [Tue, 21 May 2019 23:24:19 +0000 (16:24 -0700)]
Add null check in VoidFreeNativeLibrary (#24685)

5 years agoFix loading libcoreclrtraceptprovider.so
Mike McLaughlin [Tue, 21 May 2019 22:57:33 +0000 (15:57 -0700)]
Fix loading libcoreclrtraceptprovider.so

5 years agoFixing EnableSSE3_4=0 and EnableHWIntrinsic=0 to control the right things (#24649)
Tanner Gooding [Tue, 21 May 2019 22:53:19 +0000 (15:53 -0700)]
Fixing EnableSSE3_4=0 and EnableHWIntrinsic=0 to control the right things (#24649)

* Ensure we check JitConfig.EnableSSE3_4 when determining the max supported vector size

* Ensure that EnableHWIntrinsic=0 doesn't impact the supported ISAs

* Applying formatting patch

* Moving jitstress-isas-x86 to the 600m timeout group

5 years agoReduce overhead of SemaphoreSlim.WaitAsync (#24687)
Stephen Toub [Tue, 21 May 2019 22:00:53 +0000 (18:00 -0400)]
Reduce overhead of SemaphoreSlim.WaitAsync (#24687)

This affects the case where SemaphoreSlim.WaitAsync is invoked, the operation completes asynchronously because there's no count available in the semaphore, and where a timeout and/or a cancellation token is passed to WaitAsync.  In that case, we need to wait for the underlying wait task to complete, for cancellation to be requested, or for the timeout to elapse.

There's currently one code path that handles this.  This change improves that slightly by avoiding a defensive array copy.  However, we can do much better when we get a cancelable token but no timeout, in which case we can avoid operations like Task.Delay, can register with the original cancellation token rather than a new one (which means we avoid forcing a new CancellationTokenSource's lazily-allocated partitions into existence), etc.

5 years agoAdd CreateNativeDelegate flags check (#24695)
Steve MacLean [Tue, 21 May 2019 21:07:24 +0000 (17:07 -0400)]
Add CreateNativeDelegate flags check (#24695)

5 years agoDelete infrastructure files that are no longer used (#24684)
Jan Kotas [Tue, 21 May 2019 20:28:49 +0000 (13:28 -0700)]
Delete infrastructure files that are no longer used (#24684)

* Delete Jenkins scripts

* Delete support files for the old CoreFX test infrastructure

* Delete CoreFX test file setup utility

5 years agoUpdate CreateNativeDelegate calling convention (#24690)
Steve MacLean [Tue, 21 May 2019 20:04:13 +0000 (16:04 -0400)]
Update CreateNativeDelegate calling convention (#24690)

Pass strings as UTF16 on Windows

5 years agoSwitch NuGet package build to use Arcade instead of BuildTools (#24619)
Elinor Fung [Tue, 21 May 2019 19:05:49 +0000 (12:05 -0700)]
Switch NuGet package build to use Arcade instead of BuildTools (#24619)

5 years agoMerge pull request #24675 from sandreenko/excludeSuperPmiCollect
Sergey Andreenko [Tue, 21 May 2019 18:14:24 +0000 (11:14 -0700)]
Merge pull request #24675 from sandreenko/excludeSuperPmiCollect

Exclude superpmicollect with JitStress on arm.

5 years agoAdd CreateNativeDelegate flags argument (#24671)
Steve MacLean [Tue, 21 May 2019 16:14:57 +0000 (12:14 -0400)]
Add CreateNativeDelegate flags argument (#24671)

5 years agoEnhance the Missing Resources Exception Message (#24645)
Tarek Mahmoud Sayed [Tue, 21 May 2019 15:53:31 +0000 (08:53 -0700)]
Enhance the Missing Resources Exception Message (#24645)

* Enhance the Missing Resources Exception Message

* Address the feedback

* Fix Nullable declaration

5 years agoUpdate name of CoreFX test exclusion file
Jan Kotas [Tue, 21 May 2019 15:04:07 +0000 (08:04 -0700)]
Update name of CoreFX test exclusion file

5 years agoAvoid PAL LoadLibrary simulator for regular PInvoke (#24669)
Jan Kotas [Tue, 21 May 2019 14:48:53 +0000 (07:48 -0700)]
Avoid PAL LoadLibrary simulator for regular PInvoke (#24669)

Fixes #21009

5 years agoMerge pull request #24674 from am11/libunwind-atomic
Jan Vorlicek [Tue, 21 May 2019 14:36:54 +0000 (07:36 -0700)]
Merge pull request #24674 from am11/libunwind-atomic

Add header check for atomic_ops.h

5 years agoAdding a jitstressregs_x86_noavx outerloop job group (#24650)
Tanner Gooding [Tue, 21 May 2019 11:08:48 +0000 (04:08 -0700)]
Adding a jitstressregs_x86_noavx outerloop job group (#24650)

* Adding a jitstress_regs_x86_noavx outerloop job group

* Fixing the names of `jitstress-regs` to `jitstressregs`

5 years agoExclude superpmicollect with JitStress on arm.
Sergey Andreenko [Tue, 21 May 2019 04:11:36 +0000 (21:11 -0700)]
Exclude superpmicollect with JitStress on arm.

Revert this when https://github.com/dotnet/coreclr/issues/24633 get fixed.

5 years agoAdd header check for atomic_ops.h
Adeel [Tue, 21 May 2019 01:58:07 +0000 (01:58 +0000)]
Add header check for atomic_ops.h

5 years agoDisable Interop/WinRT/NETClients/Primitives test on Nano Server. (#24665)
Jeremy Koritzinsky [Mon, 20 May 2019 23:05:54 +0000 (16:05 -0700)]
Disable Interop/WinRT/NETClients/Primitives test on Nano Server. (#24665)

* Disable Interop/WinRT/NETClients/Primitives test on Nano Server.

* Fold !IsWindowsNanoServer into IsWinRTSupported

5 years agoCuckoo metadata (#24498)
David Wrighton [Mon, 20 May 2019 22:15:52 +0000 (15:15 -0700)]
Cuckoo metadata (#24498)

* Basic infra for cuckoo filter of attributes
- Implement cuckoo filter lookup logic
- Implement new ready to run section
 - Add dumper to R2RDump
 - Parse section on load into data structure
 - Implement function to query filter
- Add concept of enum of well known attributes
  - So that attribute name hashes themselves may be cached
* Wrap all even vaguely perf critical uses of attribute by name parsing with use of R2R data
* Update emmintrin.h in the PAL header to contain the needed SSE2 intrinsics for the feature
- Disable the presence table for non Corelib cases. Current performance data does not warrant the size increase in other generated binaries

5 years agoComment the include files that have SOS dependencies (#24655)
Mike McLaughlin [Mon, 20 May 2019 22:12:28 +0000 (15:12 -0700)]
Comment the include files that have SOS dependencies (#24655)

Add warning headers

Issue https://github.com/dotnet/diagnostics/issues/38

5 years agoMerge pull request #24611 from janvorli/add-field-signature-test
Jan Vorlicek [Mon, 20 May 2019 21:27:46 +0000 (14:27 -0700)]
Merge pull request #24611 from janvorli/add-field-signature-test

Add regression test for #24524

5 years agoAdd ComponentActivator (#23958)
Steve MacLean [Mon, 20 May 2019 20:47:45 +0000 (16:47 -0400)]
Add ComponentActivator (#23958)

Add ComponentActivator helper for loading a component
in an isolated AssemblyLoadContext and returning a delegate.

5 years agoDisable FEATURE_INTERPRETER for crossgen (#24662)
Jan Kotas [Mon, 20 May 2019 19:52:00 +0000 (12:52 -0700)]
Disable FEATURE_INTERPRETER for crossgen (#24662)

5 years agocpp config (#24540)
Dan Moseley [Mon, 20 May 2019 19:49:28 +0000 (12:49 -0700)]
cpp config (#24540)

5 years agoAvoid boxing in TextWriter.Write(StringBuilder) (#24664)
Andrew Arnott [Mon, 20 May 2019 18:25:00 +0000 (12:25 -0600)]
Avoid boxing in TextWriter.Write(StringBuilder) (#24664)

Fixes #24663 by calling `Write(ReadOnlySpan<char>)` instead of `Write(object)` with a boxed `Memory<char>`.

5 years agoupdates (#24656)
Marco Rossignoli [Sun, 19 May 2019 19:44:28 +0000 (21:44 +0200)]
updates (#24656)

5 years agoAdding the isa outerloop jobs (#24630)
Tanner Gooding [Sat, 18 May 2019 14:10:46 +0000 (07:10 -0700)]
Adding the isa outerloop jobs (#24630)

* Adding the isa outerloop jobs

* Don't redefine scenarios for the jitstressisas group

* Splitting jitstress-isas into jitstress-isas-arm and jitstress-isas-x86

* Fixing the azure-pipelines.yml to include platforms:

* Removing Linux_arm as a platform for the jitstress-isas-arm group

* Ensure that the platforms for the jitstress-isas jobs are listed in both places required

* Removing Windows_NT_arm from the jitstress-isas-arm platforms

5 years agoMerge pull request #24325 from BruceForstall/Fix23821LinuxArm64Probe
Bruce Forstall [Sat, 18 May 2019 05:40:22 +0000 (22:40 -0700)]
Merge pull request #24325 from BruceForstall/Fix23821LinuxArm64Probe

Improve stack probing for Linux/arm64

5 years agoAllow the write when the buffer can fit the event exactly
Andrew Au [Fri, 17 May 2019 21:29:00 +0000 (14:29 -0700)]
Allow the write when the buffer can fit the event exactly

5 years agoEnsure we don't underestimate the code size for 4 byte SSE instruction. (#24555)
Tanner Gooding [Sat, 18 May 2019 04:28:38 +0000 (21:28 -0700)]
Ensure we don't underestimate the code size for 4 byte SSE instruction. (#24555)

* Ensure the code size estimate for emitIns_R_S is correct for 4 byte SSE instruction.

* Centralizing the Is4ByteSSEInstruction size adjustment handling

* Removing unnecessary calls to emitGetVexPrefixAdjustedSize

* Ensure all registers are checked against IsExtendedReg

* Ensure that the ival size is correct for SSE/AVX instructions

* Applying formatting patch

* Ensure all cases for emitIns_R_R_I are covered

* Fixing a inst_RV_RV_IV call to ensure ival fits in a byte

* Centralize some more checks into emitGetAdjustedSize

* Applying formatting patch

5 years agoFix createdump on alpine (#24623)
Mike McLaughlin [Sat, 18 May 2019 01:00:46 +0000 (18:00 -0700)]
Fix createdump on alpine (#24623)

Issue # https://github.com/dotnet/coreclr/issues/24599

5 years agoAdd IsVariableBoundArray to TypeDelegator (#24637)
Santiago Fernandez Madero [Sat, 18 May 2019 00:48:27 +0000 (17:48 -0700)]
Add IsVariableBoundArray to TypeDelegator (#24637)

5 years agoImprove stack probing for Linux/arm64
Bruce Forstall [Tue, 30 Apr 2019 01:36:59 +0000 (18:36 -0700)]
Improve stack probing for Linux/arm64

Avoid the case where we miss touching a page with a large
outgoing argument space plus a callee large local frame
size.

Add asserts that prolog SP adjustments before a stack touch
don't exceed the threshold we allow. This ensures that a
stack touch on the caller will be sufficient for the callee.

Fixes #23821

5 years agoDisable WinRT NETClientBindings test on ARM/ARM64 (#24632)
Jeremy Koritzinsky [Fri, 17 May 2019 21:47:47 +0000 (14:47 -0700)]
Disable WinRT NETClientBindings test on ARM/ARM64 (#24632)

5 years agoManually update xunit.console runner package (#24635)
Jeremy Koritzinsky [Fri, 17 May 2019 21:47:06 +0000 (14:47 -0700)]
Manually update xunit.console runner package (#24635)

5 years agoFixing the Dragon4 algorithm to correctly handle when the first significant digit...
Tanner Gooding [Fri, 17 May 2019 21:27:23 +0000 (14:27 -0700)]
Fixing the Dragon4 algorithm to correctly handle when the first significant digit is after the cutoff (#24484)

5 years agoMerge pull request #24620 from sandreenko/addGC_R2R_stress_jobs
Sergey Andreenko [Fri, 17 May 2019 17:58:15 +0000 (10:58 -0700)]
Merge pull request #24620 from sandreenko/addGC_R2R_stress_jobs

add ReadyToRun ADO extra testing.

5 years agoFix localloc with large out arg space (#24388)
Bruce Forstall [Fri, 17 May 2019 17:16:31 +0000 (10:16 -0700)]
Fix localloc with large out arg space (#24388)

Add stack probing in localloc with fixed outgoing arg frames

The SP adjustment when we re-establish the outgoing argument
space after doing a localloc must be probed. This is true for
all architectures with fixed outgoing argument space, namely,
everything but x86.

Add new tests for this.

Fixes #23915

5 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190516.11 ...
dotnet-maestro[bot] [Fri, 17 May 2019 16:28:35 +0000 (09:28 -0700)]
Update dependencies from https://github.com/dotnet/core-setup build 20190516.11 (#24628)

- Microsoft.NETCore.App - 3.0.0-preview6-27716-11

5 years agoEnsure using single Utc object in TimeZoneInfo (#24614)
Tarek Mahmoud Sayed [Fri, 17 May 2019 15:49:20 +0000 (08:49 -0700)]
Ensure using single Utc object in TimeZoneInfo (#24614)

Currently if calling GetSystemTimeZones, will return a list which in include Utc object created from the enumeration.  But when calling FindSystemTimeZoneById("UTC") will return the cached Utc object which is different than the one returned from the enumeration. This in general could be not a problem but it is better to ensure returned the same object from both APIs. The reason is in our internal code, we use some reference equality for the perf reason. Ensure the usage of Utc object will make it more reliable.

5 years agoAdd .NET Core 3.0 perf blog post link
Stephen Toub [Fri, 17 May 2019 15:42:36 +0000 (08:42 -0700)]
Add .NET Core 3.0 perf blog post link

5 years agoMerge pull request #24432 from am11/gcc_over_aligned_new
Jan Vorlicek [Fri, 17 May 2019 15:41:47 +0000 (08:41 -0700)]
Merge pull request #24432 from am11/gcc_over_aligned_new

Use -falign-new flag for gcc 7+

5 years agoMerge pull request #24616 from BruceForstall/RemoveJenkinsBUILD_URLVariable
Bruce Forstall [Fri, 17 May 2019 15:23:19 +0000 (08:23 -0700)]
Merge pull request #24616 from BruceForstall/RemoveJenkinsBUILD_URLVariable

Remove Jenkins BUILD_URL environment variable

5 years agoMerge pull request #24520 from am11/freebsd/set-affinity
Jan Vorlicek [Fri, 17 May 2019 14:46:51 +0000 (07:46 -0700)]
Merge pull request #24520 from am11/freebsd/set-affinity

Fix CPUSET_T definition for FreeBSD

5 years agoDelete unnecessary locale arguments (#24624)
Jan Kotas [Fri, 17 May 2019 13:28:51 +0000 (06:28 -0700)]
Delete unnecessary locale arguments (#24624)

Everything in the runtime should use Invariant culture. It is not necessary to pass the locale arguments around.

5 years agoAdd support for invariant casing in PAL (#24597)
Michal Strehovský [Fri, 17 May 2019 03:23:04 +0000 (20:23 -0700)]
Add support for invariant casing in PAL (#24597)

unicodedata.cpp based on UnicodeData.txt v11.0.

5 years agoAdd runtime counter for TP work items produced (#24618)
Sung Yoon Whang [Fri, 17 May 2019 03:16:01 +0000 (20:16 -0700)]
Add runtime counter for TP work items produced (#24618)

5 years agoCorrecting documentation for span and memory slice (#24612)
Anirudh Agnihotry [Fri, 17 May 2019 03:15:05 +0000 (20:15 -0700)]
Correcting documentation for span and memory slice (#24612)

5 years agocompilation fixes (#24613)
Sinan Kaya [Fri, 17 May 2019 03:03:58 +0000 (23:03 -0400)]
compilation fixes (#24613)

5 years agoFix parameter names in ToUtf16 (#24617)
Levi Broderick [Fri, 17 May 2019 03:02:48 +0000 (20:02 -0700)]
Fix parameter names in ToUtf16 (#24617)

5 years agoPR feedback
Bruce Forstall [Fri, 17 May 2019 01:39:52 +0000 (18:39 -0700)]
PR feedback

5 years agoRemove Jenkins BUILD_URL environment variable
Bruce Forstall [Thu, 16 May 2019 19:49:21 +0000 (12:49 -0700)]
Remove Jenkins BUILD_URL environment variable

If AzDO provides an equivalent functionality, we could convert to
use that instead of simply removing this reference.

5 years agoAdd Managed->Native tests for our WinRT primitives (#23529)
Jeremy Koritzinsky [Fri, 17 May 2019 00:40:23 +0000 (17:40 -0700)]
Add Managed->Native tests for our WinRT primitives (#23529)

* First pass generating the contracts for the WinRT tests. Managed ones are manually written, Native are generated via C++/WinRT.

* Don't overwrite the public implementation files when we run cppwinrt

* Don't output a MIDL-processed header.

* Add default constructor for BindingViewModel.

* Partial implementation of most of the native winrt component.

* Finish implementation of native winrt component.

* Get native component building correctly (cppwinrt doesn't include wrappers for the "Windows::UI::Xaml::Interop::IBindable*" collection types.

* Add WinRT primitive marshalling tests.

* Add testing for projected types used for binding.

* Add license headers to native files.

* Disable WinRT tests on non-WinRT platforms (detection copied from CoreFX).

* Use WINDOWS_SDK_VERSION variable in all locations.

* Use Windows SDK version determined by CMake in WinRT build.

* Resolve WinMDs via globs so the build can roll between different Windows SDK versions that have required APIs seamlessly.

* Add logging of cppwinrt version.

* Try to construct path to cppwinrt when finding it

* Just directly construct the cppwinrt path.

* Remove -prefix flag from cppwinrt invocation

* PR feedback.

* Fix syntax in BindableVectorWrapper.

* Disable winrt binding test on Nano Server.

* Add enum testing. Clean up WinRT tests to hopefully build on CI (or at least fail at a later point).

* Add some more logging to try to determine why an older SDK version is being picked.

* Try to define CMAKE_SYSTEM_VERSION and see if that selects the correct SDK version (it seems to work on the build.cmd script)

* Clean up WinRT CMake now that it builds on AzDO CI.

* Disable WinRT binding test on pre-Win10V1809 systems.

5 years agoadd build defenitions for r2r extra jobs.
Sergey Andreenko [Thu, 16 May 2019 20:29:35 +0000 (13:29 -0700)]
add build defenitions for r2r extra jobs.

5 years agoDelete iswxdigit test (#24608)
Michal Strehovský [Thu, 16 May 2019 18:55:42 +0000 (11:55 -0700)]
Delete iswxdigit test (#24608)

5 years agoFix Handling time patterns with quotes (#24589)
Tarek Mahmoud Sayed [Thu, 16 May 2019 17:53:08 +0000 (10:53 -0700)]
Fix Handling time patterns with quotes (#24589)

We encountered some cultures have a time patterns with single quotes which we should handle keeping the parts between quotes as fixed text inside the pattern and not treat it as any of the time specifiers

5 years agoSplit the phases of EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing (#23013)
Jeremy Koritzinsky [Thu, 16 May 2019 17:39:33 +0000 (10:39 -0700)]
Split the phases of EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing (#23013)

* Split the phases of EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing into separate private static functions.

* Combine native and managed-sequential field offset and size calculations (since they are the exact same algorithm)

* Remove TypeLayoutHelper because it's was only used in CalculateSizeAndFieldOffsets after having combined the offset/size calculations.

* Remove unused members in LayoutRawFieldInfo.

* Comment boolean parameter.

* Add comments to parameters.

* Remove unused prototypes.

* Make sure we consistently use managed in the managed paths and native in the native paths.

* Add to m_numCTMFields instead of setting it (need to make sure we account for fields in a non-trivial parent).

* Track native alignment in a field.

* Refactor field placement info to remove lots of repeated branching.

* PR Feedback.

5 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190515.11 ...
dotnet-maestro[bot] [Thu, 16 May 2019 17:09:31 +0000 (10:09 -0700)]
Update dependencies from https://github.com/dotnet/core-setup build 20190515.11 (#24605)

- Microsoft.NETCore.App - 3.0.0-preview6-27715-11

5 years agoAdd regression test for #24524
Jan Vorlicek [Thu, 16 May 2019 16:47:35 +0000 (09:47 -0700)]
Add regression test for #24524

5 years agoEnsure that SIMD fields are correctly typed (#24377)
Carol Eidt [Thu, 16 May 2019 16:25:00 +0000 (09:25 -0700)]
Ensure that SIMD fields are correctly typed (#24377)

When a struct field is imported, its type needs to be normalized.
Also, the LHS of a struct init, even if a SIMD type, should not be transformed to a non-block node,
except in the case of a SIMD local, in which case it must be transformed to a simple assignment.
Also, add an assert to catch this kind of bug in liveness.

Fix #24336

5 years agoSuppress crossgen warnings on failures to load types/methods from IBC data. (#24596)
Fadi Hanna [Thu, 16 May 2019 14:19:31 +0000 (07:19 -0700)]
Suppress crossgen warnings on failures to load types/methods from IBC data. (#24596)

It's not unusual to see these types of warnings with incremental IBC.
These warnings will move under the crossgen verbose mode.

5 years agoMake Label and OpCode readonly and IEquatable (#24360)
Levi Broderick [Thu, 16 May 2019 06:15:23 +0000 (23:15 -0700)]
Make Label and OpCode readonly and IEquatable (#24360)

5 years agoMerge pull request #24603 from dotnet/revert-24554-UnconditionallyCaptureXUnitOutput
Egor Chesakov [Thu, 16 May 2019 02:25:33 +0000 (19:25 -0700)]
Merge pull request #24603 from dotnet/revert-24554-UnconditionallyCaptureXUnitOutput

Revert "Unconditionally capture output of xUnit tests"

5 years agoRevert "Unconditionally capture output of xUnit tests"
Egor Chesakov [Thu, 16 May 2019 02:23:05 +0000 (19:23 -0700)]
Revert "Unconditionally capture output of xUnit tests"

5 years agoAvoid doing dangerous cleanup in case of process detach
Andrew Au [Wed, 15 May 2019 23:00:17 +0000 (16:00 -0700)]
Avoid doing dangerous cleanup in case of process detach

5 years agoRemove concept of AppDomains from the GC (#24536)
David Wrighton [Thu, 16 May 2019 01:28:42 +0000 (18:28 -0700)]
Remove concept of AppDomains from the GC (#24536)

* Remove concept of AppDomains from the GC
- Leave constructs allowing for multiple handle tables, as scenarios for that have been proposed
- Remove FEATURE_APPDOMAIN_RESOURCE_MONITORING

5 years agoMerge pull request #24590 from sandreenko/deleteJitOpts
Sergey Andreenko [Thu, 16 May 2019 01:20:40 +0000 (18:20 -0700)]
Merge pull request #24590 from sandreenko/deleteJitOpts

Delete JitOptions struct.

5 years agoMake sure variable live range for prolog is reported first
Andrew Au [Tue, 14 May 2019 20:59:17 +0000 (13:59 -0700)]
Make sure variable live range for prolog is reported first

5 years agoDelete unicode API emulator (#24581)
Michal Strehovský [Wed, 15 May 2019 23:43:26 +0000 (16:43 -0700)]
Delete unicode API emulator (#24581)

5 years agoUnconditionally capture output of xUnit tests (#24554)
Egor Chesakov [Wed, 15 May 2019 23:33:18 +0000 (16:33 -0700)]
Unconditionally capture output of xUnit tests (#24554)

5 years agoEnable JIT\superpmi\superpmicollect on Linux and macOS (#24560)
Egor Chesakov [Wed, 15 May 2019 23:32:41 +0000 (16:32 -0700)]
Enable JIT\superpmi\superpmicollect on Linux and macOS (#24560)

* Replace backslashes with forward slashes in tests/src/JIT/superpmi/TestProjects.txt
* Enable JIT\superpmi\superpmicollect.csproj on Linux and macOS

5 years agodelete JitOptions struct.
Sergey Andreenko [Wed, 15 May 2019 22:13:41 +0000 (15:13 -0700)]
delete JitOptions struct.

That was an old struct and probably nobody remembers how it was supposed to be used.

5 years agoFix memory corruption in GetResultFileName in SuperPMI (#24537)
Egor Chesakov [Wed, 15 May 2019 21:52:31 +0000 (14:52 -0700)]
Fix memory corruption in GetResultFileName in SuperPMI (#24537)

5 years agoBefore calling getModuleAssembly and getClassModule check whether s_pJitDisasmInclude...
Egor Chesakov [Wed, 15 May 2019 21:49:36 +0000 (14:49 -0700)]
Before calling getModuleAssembly and getClassModule check whether s_pJitDisasmIncludeAssembliesList is non empty in src/jit/compiler.cpp (#24488)

5 years ago[master] Update dependencies from dotnet/core-setup (#24149)
dotnet-maestro[bot] [Wed, 15 May 2019 20:20:17 +0000 (13:20 -0700)]
[master] Update dependencies from dotnet/core-setup (#24149)

* Update dependencies from https://github.com/dotnet/core-setup build 20190429.07

- Microsoft.NETCore.App - 3.0.0-preview6-27629-07

* Workaround for https://github.com/dotnet/core-setup/pull/5893

* Update dependencies from https://github.com/dotnet/core-setup build 20190502.01

- Microsoft.NETCore.App - 3.0.0-preview6-27702-01

* Update dependencies from https://github.com/dotnet/core-setup build 20190503.02

- Microsoft.NETCore.App - 3.0.0-preview6-27703-02

* Update dependencies from https://github.com/dotnet/core-setup build 20190503.17

- Microsoft.NETCore.App - 3.0.0-preview6-27703-17

* Update dependencies from https://github.com/dotnet/core-setup build 20190505.02

- Microsoft.NETCore.App - 3.0.0-preview6-27705-02

* Update dependencies from https://github.com/dotnet/core-setup build 20190506.03

- Microsoft.NETCore.App - 3.0.0-preview6-27706-03

* Update dependencies from https://github.com/dotnet/core-setup build 20190506.21

- Microsoft.NETCore.App - 3.0.0-preview6-27706-21

* Update dependencies from https://github.com/dotnet/core-setup build 20190507.10

- Microsoft.NETCore.App - 3.0.0-preview6-27707-10

* Workaround for Microsoft.NetCore.App version in Coreclr.TestWrapper.csproj to unblock #24149

* Update dependencies from https://github.com/dotnet/core-setup build 20190508.04

- Microsoft.NETCore.App - 3.0.0-preview6-27708-04

* Add comment attaching specific pull request to workaround

* Update dependencies from https://github.com/dotnet/core-setup build 20190509.05

- Microsoft.NETCore.App - 3.0.0-preview6-27709-05

* Add comments in versions.props to prevent merge conflicts in future blocked maestro PRs

* Update dependencies from https://github.com/dotnet/core-setup build 20190514.15

- Microsoft.NETCore.App - 3.0.0-preview6-27714-15

5 years agoFix bug where crossgen would throw OOM when given an input with no dir-separator...
Fadi Hanna [Wed, 15 May 2019 19:19:26 +0000 (12:19 -0700)]
Fix bug where crossgen would throw OOM when given an input with no dir-separator characters (overflow bug) (#24559)

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