Noah Falk [Wed, 22 May 2019 04:52:18 +0000 (21:52 -0700)]
Fix profiler crash on shutdown (dotnet/coreclr#22712)
Fixes issue dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
671772c20a27c050df3d7d11391ea4f7de05165c
Stephen Toub [Wed, 22 May 2019 04:27:00 +0000 (00:27 -0400)]
Implement AppDomain.Monitoring*MemorySize (dotnet/coreclr#24610)
* Implement AppDomain.MonitoringTotalAllocatedMemorySize
* Change precise:true back to precise:false in GetTotalAllocatedBytes
Commit migrated from https://github.com/dotnet/coreclr/commit/
29810a78e5b93d8da9fb921d096226d249fc75a5
Jan Kotas [Wed, 22 May 2019 04:15:32 +0000 (21:15 -0700)]
Delete Unsafe redefinitions of Windows APIs (dotnet/coreclr#24688)
Leftover from SQL hosting infrastructure
Commit migrated from https://github.com/dotnet/coreclr/commit/
709ff5ae8e4a25e4738afc8a742a65a3830d3568
Jan Vorlicek [Wed, 22 May 2019 03:34:01 +0000 (20:34 -0700)]
Update build docker images to enable NUMA support (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac607c3f890523f0b06a1cab19057248ac6f189d
Jan Vorlicek [Wed, 22 May 2019 03:33:05 +0000 (20:33 -0700)]
Fix GCToOSInterface::SetCurrentThreadIdealAffinity on Unix (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2a175563b5c1b04083da6841f84a991ac576446a
Elinor Fung [Wed, 22 May 2019 03:19:33 +0000 (20:19 -0700)]
Add Microsoft.DotNet.Build.Tasks.Packaging to Version.Details.xml (dotnet/coreclr#24700)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2b6614c242c317267442792d14f001d687fa8ccd
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 (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d8fea006d98d98ba269056de519199f354bcf1a
Elinor Fung [Wed, 22 May 2019 01:52:30 +0000 (18:52 -0700)]
Set ContinuousIntegrationBuild=true for product build in build-job.yml (dotnet/coreclr#24693)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2b6236198bbd1b915d1c9ea5f1a3f4147caa84c9
Jan Kotas [Tue, 21 May 2019 23:24:19 +0000 (16:24 -0700)]
Add null check in VoidFreeNativeLibrary (dotnet/coreclr#24685)
Commit migrated from https://github.com/dotnet/coreclr/commit/
308b6b63f49d9ddaca2d11e141fb5c39591ec766
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 (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
2b4b230cdf44d0c25df004660f18c4290e9deb72
Stephen Toub [Tue, 21 May 2019 22:00:53 +0000 (18:00 -0400)]
Reduce overhead of SemaphoreSlim.WaitAsync (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
26533de63976cb34eb1224c903128e398ca887d9
Steve MacLean [Tue, 21 May 2019 21:07:24 +0000 (17:07 -0400)]
Add CreateNativeDelegate flags check (dotnet/coreclr#24695)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f75e67e8c102c49e690116d38de25cece3452a9
Jan Kotas [Tue, 21 May 2019 20:28:49 +0000 (13:28 -0700)]
Delete infrastructure files that are no longer used (dotnet/coreclr#24684)
* Delete Jenkins scripts
* Delete support files for the old CoreFX test infrastructure
* Delete CoreFX test file setup utility
Commit migrated from https://github.com/dotnet/coreclr/commit/
c03f31fbc4105cbea4053409f91bc25040093d20
Steve MacLean [Tue, 21 May 2019 20:04:13 +0000 (16:04 -0400)]
Update CreateNativeDelegate calling convention (dotnet/coreclr#24690)
Pass strings as UTF16 on Windows
Commit migrated from https://github.com/dotnet/coreclr/commit/
5a44c6f3ce7629a8cd55b56a2f3d8c66c6e87b34
Elinor Fung [Tue, 21 May 2019 19:05:49 +0000 (12:05 -0700)]
Switch NuGet package build to use Arcade instead of BuildTools (dotnet/coreclr#24619)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0d6facf7afac5868db3dce55a1fb940a02365687
Sergey Andreenko [Tue, 21 May 2019 18:14:24 +0000 (11:14 -0700)]
Merge pull request dotnet/coreclr#24675 from sandreenko/excludeSuperPmiCollect
Exclude superpmicollect with JitStress on arm.
Commit migrated from https://github.com/dotnet/coreclr/commit/
11c8d92992f56fb481f9479219671652af7b04a1
Steve MacLean [Tue, 21 May 2019 16:14:57 +0000 (12:14 -0400)]
Add CreateNativeDelegate flags argument (dotnet/coreclr#24671)
Commit migrated from https://github.com/dotnet/coreclr/commit/
edc81476e723e1b3ea4dfaa55e7e918058956d6d
Tarek Mahmoud Sayed [Tue, 21 May 2019 15:53:31 +0000 (08:53 -0700)]
Enhance the Missing Resources Exception Message (dotnet/coreclr#24645)
* Enhance the Missing Resources Exception Message
* Address the feedback
* Fix Nullable declaration
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a947cbb8f23f856239160c6f55ba4526d7e0a3d
Jan Kotas [Tue, 21 May 2019 15:04:07 +0000 (08:04 -0700)]
Update name of CoreFX test exclusion file
Commit migrated from https://github.com/dotnet/coreclr/commit/
d498abd2ec0937bbc5005d2d8d51add89c58a946
Jan Kotas [Tue, 21 May 2019 14:48:53 +0000 (07:48 -0700)]
Avoid PAL LoadLibrary simulator for regular PInvoke (dotnet/coreclr#24669)
Fixes dotnet/coreclr#21009
Commit migrated from https://github.com/dotnet/coreclr/commit/
221dc73878027e95b515d0c46cad0266331e538d
Jan Vorlicek [Tue, 21 May 2019 14:36:54 +0000 (07:36 -0700)]
Merge pull request dotnet/coreclr#24674 from am11/libunwind-atomic
Add header check for atomic_ops.h
Commit migrated from https://github.com/dotnet/coreclr/commit/
458d030119725292bcc00b07dd401dc01d3ce119
Tanner Gooding [Tue, 21 May 2019 11:08:48 +0000 (04:08 -0700)]
Adding a jitstressregs_x86_noavx outerloop job group (dotnet/coreclr#24650)
* Adding a jitstress_regs_x86_noavx outerloop job group
* Fixing the names of `jitstress-regs` to `jitstressregs`
Commit migrated from https://github.com/dotnet/coreclr/commit/
22288107a7acf7a3cf40f72c0464a722c80b7ba9
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e04eb4b4ac0d52f6449522d9a42b8b7aca5247ee
Adeel [Tue, 21 May 2019 01:58:07 +0000 (01:58 +0000)]
Add header check for atomic_ops.h
Commit migrated from https://github.com/dotnet/coreclr/commit/
254525c31c9bf9772dfd2b265cf6ef25fcbde131
Jeremy Koritzinsky [Mon, 20 May 2019 23:05:54 +0000 (16:05 -0700)]
Disable Interop/WinRT/NETClients/Primitives test on Nano Server. (dotnet/coreclr#24665)
* Disable Interop/WinRT/NETClients/Primitives test on Nano Server.
* Fold !IsWindowsNanoServer into IsWinRTSupported
Commit migrated from https://github.com/dotnet/coreclr/commit/
c8e9c122aa5ea827e734fdffd889afa6318619da
David Wrighton [Mon, 20 May 2019 22:15:52 +0000 (15:15 -0700)]
Cuckoo metadata (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
adecd858f558489d8f52c9187fca395ec669a715
Mike McLaughlin [Mon, 20 May 2019 22:12:28 +0000 (15:12 -0700)]
Comment the include files that have SOS dependencies (dotnet/coreclr#24655)
Add warning headers
Issue https://github.com/dotnet/diagnostics/issues/38
Commit migrated from https://github.com/dotnet/coreclr/commit/
f4ae8f0312890a7bc14c28764adb609820d86662
Jan Vorlicek [Mon, 20 May 2019 21:27:46 +0000 (14:27 -0700)]
Merge pull request dotnet/coreclr#24611 from janvorli/add-field-signature-test
Add regression test for dotnet/coreclr#24524
Commit migrated from https://github.com/dotnet/coreclr/commit/
df1b396c7a0da6cfddac9cd7236aa4187742126a
Steve MacLean [Mon, 20 May 2019 20:47:45 +0000 (16:47 -0400)]
Add ComponentActivator (dotnet/coreclr#23958)
Add ComponentActivator helper for loading a component
in an isolated AssemblyLoadContext and returning a delegate.
Commit migrated from https://github.com/dotnet/coreclr/commit/
eb95382ef607afb7def0656168a6a6507b45f254
Jan Kotas [Mon, 20 May 2019 19:52:00 +0000 (12:52 -0700)]
Disable FEATURE_INTERPRETER for crossgen (dotnet/coreclr#24662)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ebd374d5084d5a49b4e22eddfd53af1c8a390069
Dan Moseley [Mon, 20 May 2019 19:49:28 +0000 (12:49 -0700)]
cpp config (dotnet/coreclr#24540)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ed790a8958efff64963fe0382c86277e599f392e
Andrew Arnott [Mon, 20 May 2019 18:25:00 +0000 (12:25 -0600)]
Avoid boxing in TextWriter.Write(StringBuilder) (dotnet/coreclr#24664)
Fixes dotnet/coreclr#24663 by calling `Write(ReadOnlySpan<char>)` instead of `Write(object)` with a boxed `Memory<char>`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5fa6d453dc1fedbc6c24a07452f2342944699a53
Marco Rossignoli [Sun, 19 May 2019 19:44:28 +0000 (21:44 +0200)]
updates (dotnet/coreclr#24656)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c5a44f58952c5014f5e1c25b667dca3901fd84a7
Tanner Gooding [Sat, 18 May 2019 14:10:46 +0000 (07:10 -0700)]
Adding the isa outerloop jobs (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b0a1996c55e7e070cafc19e27b5a2a3ef1ce8ec
Bruce Forstall [Sat, 18 May 2019 05:40:22 +0000 (22:40 -0700)]
Merge pull request dotnet/coreclr#24325 from BruceForstall/Fix23821LinuxArm64Probe
Improve stack probing for Linux/arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
18a7de7bd22711a0e3ce40489379cdfcc480358f
Andrew Au [Fri, 17 May 2019 21:29:00 +0000 (14:29 -0700)]
Allow the write when the buffer can fit the event exactly
Commit migrated from https://github.com/dotnet/coreclr/commit/
4d4d411dceb28c89bcd61b1fe41b5fb7a2af896b
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. (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
a3e43d62917bb542e1adda0a06684061ef77067f
Mike McLaughlin [Sat, 18 May 2019 01:00:46 +0000 (18:00 -0700)]
Fix createdump on alpine (dotnet/coreclr#24623)
Issue # https://github.com/dotnet/coreclr/issues/24599
Commit migrated from https://github.com/dotnet/coreclr/commit/
33043c03ec6f160cf1637040d33c2d108e4a3200
Santiago Fernandez Madero [Sat, 18 May 2019 00:48:27 +0000 (17:48 -0700)]
Add IsVariableBoundArray to TypeDelegator (dotnet/coreclr#24637)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b898dd33b52ab0b8b552f78efa6f3a629d745459
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 dotnet/coreclr#23821
Commit migrated from https://github.com/dotnet/coreclr/commit/
54f021fbb5a6b2ff12733d7321a491dcd63aa502
Jeremy Koritzinsky [Fri, 17 May 2019 21:47:47 +0000 (14:47 -0700)]
Disable WinRT NETClientBindings test on ARM/ARM64 (dotnet/coreclr#24632)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0bd61335d749c4af972f83675b2e9e61149c5204
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 (dotnet/coreclr#24484)
Commit migrated from https://github.com/dotnet/coreclr/commit/
447670fb7cfbf0812faa7cbf4792195d56844de5
Sergey Andreenko [Fri, 17 May 2019 17:58:15 +0000 (10:58 -0700)]
Merge pull request dotnet/coreclr#24620 from sandreenko/addGC_R2R_stress_jobs
add ReadyToRun ADO extra testing.
Commit migrated from https://github.com/dotnet/coreclr/commit/
29ed11048afbc91207eec0babc5ff74db0e50726
Bruce Forstall [Fri, 17 May 2019 17:16:31 +0000 (10:16 -0700)]
Fix localloc with large out arg space (dotnet/coreclr#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 dotnet/coreclr#23915
Commit migrated from https://github.com/dotnet/coreclr/commit/
e03923c09ea8e2eaf32d69bee4f4f7486b7d6a51
Tarek Mahmoud Sayed [Fri, 17 May 2019 15:49:20 +0000 (08:49 -0700)]
Ensure using single Utc object in TimeZoneInfo (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d85920c017bfea9bd50889eb6f3bd7329f9eb3e0
Stephen Toub [Fri, 17 May 2019 15:42:36 +0000 (08:42 -0700)]
Add .NET Core 3.0 perf blog post link
Commit migrated from https://github.com/dotnet/coreclr/commit/
1e90c98504feaaa7ca4bd022a49d911904b64de8
Jan Vorlicek [Fri, 17 May 2019 15:41:47 +0000 (08:41 -0700)]
Merge pull request dotnet/coreclr#24432 from am11/gcc_over_aligned_new
Use -falign-new flag for gcc 7+
Commit migrated from https://github.com/dotnet/coreclr/commit/
f318b0b7e7dd5fef955c33cbb1e92be18464b2ce
Bruce Forstall [Fri, 17 May 2019 15:23:19 +0000 (08:23 -0700)]
Merge pull request dotnet/coreclr#24616 from BruceForstall/RemoveJenkinsBUILD_URLVariable
Remove Jenkins BUILD_URL environment variable
Commit migrated from https://github.com/dotnet/coreclr/commit/
fe2adecea97d58997a0164df3dd6cdb8fa473f9d
Jan Vorlicek [Fri, 17 May 2019 14:46:51 +0000 (07:46 -0700)]
Merge pull request dotnet/coreclr#24520 from am11/freebsd/set-affinity
Fix CPUSET_T definition for FreeBSD
Commit migrated from https://github.com/dotnet/coreclr/commit/
b096720dd31869789bd354d00dc15ae47abd2a54
Jan Kotas [Fri, 17 May 2019 13:28:51 +0000 (06:28 -0700)]
Delete unnecessary locale arguments (dotnet/coreclr#24624)
Everything in the runtime should use Invariant culture. It is not necessary to pass the locale arguments around.
Commit migrated from https://github.com/dotnet/coreclr/commit/
cbeb928cb05982edc71ed8ab80ef13d7f142cffa
Michal Strehovský [Fri, 17 May 2019 03:23:04 +0000 (20:23 -0700)]
Add support for invariant casing in PAL (dotnet/coreclr#24597)
unicodedata.cpp based on UnicodeData.txt v11.0.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c55319243ed42f8bdcb940d69f03a9c6554cc1d4
Sung Yoon Whang [Fri, 17 May 2019 03:16:01 +0000 (20:16 -0700)]
Add runtime counter for TP work items produced (dotnet/coreclr#24618)
Commit migrated from https://github.com/dotnet/coreclr/commit/
eae74b83ba12d010f40895f58857a56cdaf4860c
Anirudh Agnihotry [Fri, 17 May 2019 03:15:05 +0000 (20:15 -0700)]
Correcting documentation for span and memory slice (dotnet/coreclr#24612)
Commit migrated from https://github.com/dotnet/coreclr/commit/
782585efa2d83731c10a45fc2e55bc41e1843f8b
Sinan Kaya [Fri, 17 May 2019 03:03:58 +0000 (23:03 -0400)]
compilation fixes (dotnet/coreclr#24613)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ecb3b1b81c0b44e3f5c3825b9536b553ad1113fe
Levi Broderick [Fri, 17 May 2019 03:02:48 +0000 (20:02 -0700)]
Fix parameter names in ToUtf16 (dotnet/coreclr#24617)
Commit migrated from https://github.com/dotnet/coreclr/commit/
bb87d0ae3b664f20fde126390301e62b452870a2
Bruce Forstall [Fri, 17 May 2019 01:39:52 +0000 (18:39 -0700)]
PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
9104ae2796c3bb855e4eadac91010d64c0f66ea1
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
631eadad86e0ea54b21ec453fce59e5f35cb9507
Jeremy Koritzinsky [Fri, 17 May 2019 00:40:23 +0000 (17:40 -0700)]
Add Managed->Native tests for our WinRT primitives (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6a2c6a4735bcec975ff94ea016ea44f7d592b918
Sergey Andreenko [Thu, 16 May 2019 20:29:35 +0000 (13:29 -0700)]
add build defenitions for r2r extra jobs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a7c4616950796effad911259937e997d2472227d
Michal Strehovský [Thu, 16 May 2019 18:55:42 +0000 (11:55 -0700)]
Delete iswxdigit test (dotnet/coreclr#24608)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b4c2b142c700e8ec58783138aca2340ac05b24d5
Tarek Mahmoud Sayed [Thu, 16 May 2019 17:53:08 +0000 (10:53 -0700)]
Fix Handling time patterns with quotes (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
e797e121c274f2d1533ce380982677816a0f61e3
Jeremy Koritzinsky [Thu, 16 May 2019 17:39:33 +0000 (10:39 -0700)]
Split the phases of EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5885379686cd854361735a09907d654e80f44f05
Jan Vorlicek [Thu, 16 May 2019 16:47:35 +0000 (09:47 -0700)]
Add regression test for dotnet/coreclr#24524
Commit migrated from https://github.com/dotnet/coreclr/commit/
513979c6ad1aefb3f4494025613a2aedeb2a1464
Carol Eidt [Thu, 16 May 2019 16:25:00 +0000 (09:25 -0700)]
Ensure that SIMD fields are correctly typed (dotnet/coreclr#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 dotnet/coreclr#24336
Commit migrated from https://github.com/dotnet/coreclr/commit/
fb2aa6725dd7e5610c5589bc464f9a67470faaf9
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. (dotnet/coreclr#24596)
It's not unusual to see these types of warnings with incremental IBC.
These warnings will move under the crossgen verbose mode.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ff61bfc8aa9f0f71feddc8c03d824b13cc61215c
Levi Broderick [Thu, 16 May 2019 06:15:23 +0000 (23:15 -0700)]
Make Label and OpCode readonly and IEquatable (dotnet/coreclr#24360)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5ad457b6c1562907e81936a67955c98cf4034857
Egor Chesakov [Thu, 16 May 2019 02:25:33 +0000 (19:25 -0700)]
Merge pull request dotnet/coreclr#24603 from dotnet/revert-24554-UnconditionallyCaptureXUnitOutput
Revert "Unconditionally capture output of xUnit tests"
Commit migrated from https://github.com/dotnet/coreclr/commit/
e91e7d81d4c02dfa93f7178c8df3e35a112fd3ab
Egor Chesakov [Thu, 16 May 2019 02:23:05 +0000 (19:23 -0700)]
Revert "Unconditionally capture output of xUnit tests"
Commit migrated from https://github.com/dotnet/coreclr/commit/
fe0aff24476887f8cbfa2d713d04a22b1d40e1ec
Andrew Au [Wed, 15 May 2019 23:00:17 +0000 (16:00 -0700)]
Avoid doing dangerous cleanup in case of process detach
Commit migrated from https://github.com/dotnet/coreclr/commit/
e53fa39f4fbf97d36d4e704baa5060e503a353c3
David Wrighton [Thu, 16 May 2019 01:28:42 +0000 (18:28 -0700)]
Remove concept of AppDomains from the GC (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
bdb995987178231ba541f22143cb3cab56309daa
Sergey Andreenko [Thu, 16 May 2019 01:20:40 +0000 (18:20 -0700)]
Merge pull request dotnet/coreclr#24590 from sandreenko/deleteJitOpts
Delete JitOptions struct.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c2533b6c3f715b6964de5ffe0b2a2feaac42b079
Andrew Au [Tue, 14 May 2019 20:59:17 +0000 (13:59 -0700)]
Make sure variable live range for prolog is reported first
Commit migrated from https://github.com/dotnet/coreclr/commit/
3fd99f16627e87a78d5275a8e4fcb01d0bd7b180
Michal Strehovský [Wed, 15 May 2019 23:43:26 +0000 (16:43 -0700)]
Delete unicode API emulator (dotnet/coreclr#24581)
Commit migrated from https://github.com/dotnet/coreclr/commit/
913e74566f163a8de266ec7a54160203c282393c
Egor Chesakov [Wed, 15 May 2019 23:33:18 +0000 (16:33 -0700)]
Unconditionally capture output of xUnit tests (dotnet/coreclr#24554)
Commit migrated from https://github.com/dotnet/coreclr/commit/
776187173b1875d170abd7ef5688b66aa8a8256f
Egor Chesakov [Wed, 15 May 2019 23:32:41 +0000 (16:32 -0700)]
Enable JIT\superpmi\superpmicollect on Linux and macOS (dotnet/coreclr#24560)
* Replace backslashes with forward slashes in tests/src/JIT/superpmi/TestProjects.txt
* Enable JIT\superpmi\superpmicollect.csproj on Linux and macOS
Commit migrated from https://github.com/dotnet/coreclr/commit/
9c52d077f3d14dd049067945f165d35dbacaf384
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
02fb10d98332dd2b560df2c74ee1c6e7bf89ee9b
Egor Chesakov [Wed, 15 May 2019 21:52:31 +0000 (14:52 -0700)]
Fix memory corruption in GetResultFileName in SuperPMI (dotnet/coreclr#24537)
Commit migrated from https://github.com/dotnet/coreclr/commit/
62a85aa7a7ac41d71105f8bb3250c37f5441e179
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 (dotnet/coreclr#24488)
Commit migrated from https://github.com/dotnet/coreclr/commit/
cee143ac11fbb114040e71b93f6fa4130c90da81
dotnet-maestro[bot] [Wed, 15 May 2019 20:20:17 +0000 (13:20 -0700)]
[master] Update dependencies from dotnet/core-setup (dotnet/coreclr#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 dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
e03969fd4b0265219040defd4bc64e12903f4e42
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) (dotnet/coreclr#24559)
Commit migrated from https://github.com/dotnet/coreclr/commit/
761ab409310df31e1177a2456b9b7de29bcbd8af
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 (dotnet/coreclr#24557)
* Making crossgen throw when compiling with the PartialNgen flag and no IBC data
* Adding missing m_fPartialNGen check
Commit migrated from https://github.com/dotnet/coreclr/commit/
9bf825258fdaffc9e2af72c9421eabe725245717
Mike McLaughlin [Wed, 15 May 2019 17:50:35 +0000 (10:50 -0700)]
Update xplat-minidump-generation.md
Fix COMPlus_DbgMiniDumpType values
Commit migrated from https://github.com/dotnet/coreclr/commit/
bd7ca275020d61b7303ab36bbf0b06f8c7416bf7
Koundinya Veluri [Wed, 15 May 2019 05:26:37 +0000 (22:26 -0700)]
Enable QuickJit by default (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
93020a403d1a82d45f18213626aba1cef815992c
Adeel Mujahid [Wed, 15 May 2019 05:08:06 +0000 (08:08 +0300)]
Switch to zero-length array in otherwise empty class (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
25713980098b66967f907707d5906679d305a65c
Jan Kotas [Wed, 15 May 2019 02:07:53 +0000 (19:07 -0700)]
Fix issues reported by PREfast static analysis tool (dotnet/coreclr#24577)
Commit migrated from https://github.com/dotnet/coreclr/commit/
718598334310f6ad331ba2893ee4557beffaa74c
Steve MacLean [Wed, 15 May 2019 00:34:39 +0000 (20:34 -0400)]
Stack size override (dotnet/coreclr#24532)
Add ability to override stack size on all platforms
* Add DEFAULT_STACK_SIZE property
* Make environment variable affect all platforms
Commit migrated from https://github.com/dotnet/coreclr/commit/
6a85ca560a7dfa109c6f17c0b76d93373dbd5a00
Egor Chesakov [Tue, 14 May 2019 23:31:29 +0000 (16:31 -0700)]
Decorate SuperPMI DllMain jitStartup getJit with DLLEXPORT (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
75addddd0601ab4e57ff41fada17128df47842ef
Jeremy Koritzinsky [Tue, 14 May 2019 23:08:07 +0000 (16:08 -0700)]
Add explicit cmake dependency between clretwrc and eventing_headers. (dotnet/coreclr#24575)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e1e49b9d54fa333a50f7818cb7fcae10682c0e0a
Koundinya Veluri [Tue, 14 May 2019 22:10:17 +0000 (15:10 -0700)]
Fix a contract violation in ThreadPool.get_CompletedWorkItemCount (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
fd2287c5e833439e0ea7c27ad14350bcccf371a0
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
5f09000ba82d21e04857941b9a087679dd0ea686
Jeremy Koritzinsky [Tue, 14 May 2019 20:54:29 +0000 (13:54 -0700)]
Disable IJW tests on ARM32 (dotnet/coreclr#24570)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2cad5f5a1487e881772a541a57ee5dce48838464
Jan Kotas [Tue, 14 May 2019 20:51:34 +0000 (13:51 -0700)]
Fix Type.GetCustomAttributes for multiple instances of the same attribute (dotnet/coreclr#24474)
Fixes dotnet/corefxdotnet/coreclr#37261
Commit migrated from https://github.com/dotnet/coreclr/commit/
24cb7322ed899f02e9a0ffe4bd70ed7811b6e38e
Sergey Andreenko [Tue, 14 May 2019 17:54:58 +0000 (10:54 -0700)]
Merge pull request dotnet/coreclr#24553 from sandreenko/excludeTestsThatAreFailingUnderGCStress
Exclude tests that are failing under gc stress
Commit migrated from https://github.com/dotnet/coreclr/commit/
c4a0253f523570e83a547df8700e94c3647fdad0
Carol Eidt [Tue, 14 May 2019 16:42:06 +0000 (09:42 -0700)]
Fix more save/restore code for HVAs (dotnet/coreclr#24434)
Fix OnHijackTripThread.
Re-enable the mandelbrot-7 test.
Fix dotnet/coreclr#24224
Commit migrated from https://github.com/dotnet/coreclr/commit/
b24cc6e3cb32c212b1c5c32a1f449e2d4ba44e2d
Tomáš Rylek [Tue, 14 May 2019 16:40:46 +0000 (09:40 -0700)]
Further improvements for R2RDump robustness in the presence of bugs (dotnet/coreclr#24429)
Based on JanV's suggestion I have added checks for token ranges
to MetadataNameFormatter to make it resilient towards invalid
tokens.
Thanks
Tomas
Commit migrated from https://github.com/dotnet/coreclr/commit/
e3227026f99b149f6f02afef5896306b7cd38270
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
449843d5922ef179c9af52c989ffff80adf3cf81
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
9cea1cfb0744f63dd3ae62783b61ba861297ce2e
Sergey Andreenko [Tue, 14 May 2019 05:00:02 +0000 (22:00 -0700)]
Merge pull request dotnet/coreclr#24551 from sandreenko/disable_eventsourcetrace_in_jitstress
Exclude eventsourcetrace from jitstress runs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1cbc6e469261b1be9139293ed33fad76894e442e
David Mason [Tue, 14 May 2019 04:40:29 +0000 (21:40 -0700)]
Profiler API to request ReJIT with inliners (dotnet/coreclr#24461)
This API is necessary for attaching profilers to be able to ReJIT methods and replace everything that uses the old IL.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1fc8b490bc086cce155f374db2805f2ed5e4e6c1
Jan Kotas [Tue, 14 May 2019 02:58:23 +0000 (19:58 -0700)]
Delete InternalCasingHelper (dotnet/coreclr#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 dotnet/coreclr#20616
Commit migrated from https://github.com/dotnet/coreclr/commit/
6881de09b3d9ba165194ba416dd0786db00c2d5d