platform/upstream/coreclr.git
5 years agoFix missing version numbers in packaged files and getting IBC merge version in offici...
Elinor Fung [Thu, 23 May 2019 17:51:19 +0000 (10:51 -0700)]
Fix missing version numbers in packaged files and getting IBC merge version in official build (#24735)

* Fix missing version numbers in packaged files in official build
* Fix build script for getting IBC merge version

5 years agoAdd some perf events/data for tiered compilation (#24607)
Koundinya Veluri [Thu, 23 May 2019 17:49:10 +0000 (10:49 -0700)]
Add some perf events/data for tiered compilation (#24607)

Add some perf events/data for tiered compilation

New events:
- `Settings` - Sent when TC is enabled
  - `Flags` - Currently indicates whether QuickJit and QuickJitForLoops are enabled
- `Pause` - Sent when TC is paused (due to a new method being called for the first time)
- `Resume` - Sent when TC resumes
  - `NewMethodCount` - Number of methods called for the first time while tiering was paused
- `BackgroundJitStart` - Sent when starting to JIT methods in the background
  - `PendingMethodCount` - Number of methods currently scheduled for background JIT
- `BackgroundJitStop` - Sent when background jitting stops
  - `PendingMethodCount` - Same as above. When 0, background jitting has completed.
  - `JittedMethodCount` - Number of methods jitted in the background since the previous BackgroundJitStart event on the same thread

Miscellaneous:
- Updated method JIT events to include the optimization tier
- Added a couple more cases where tiered compilation is disabled for methods that have JIT optimization disabled for some reason
- Renamed `Duration` field of the new version of the `ContentionEnd` to `DurationNs` to indicate the units of time
- Added `OptimizationTierOptimized` to `NativeCodeVersion::OptimizationTier` to distinguish it from `OptimizationTier1`. `OptimizationTierOptimized` is now used for methods that QuickJit is disabled for, and does not send the tier 1 flag.
  - For info about the code being generated by the JIT, added info to `PrepareCodeConfig` and stored a pointer to it on the thread object for the current JIT invocation. Info is updated in `PrepareCodeConfig` and used for updating the tier on the code version and for sending the ETL event.
  - If the JIT decides to use MinOpt when `MethodDesc::IsJitOptimizationDisabled()` is false, the info is not stored. The runtime method event will reflect the JIT's choice, the rundown event will not.
- Updated to show optimization tiers in SOS similarly to PerfView

5 years agoAdd missing pin to two tests and re-enable for GC stress (#24738)
Andy Ayers [Thu, 23 May 2019 17:35:15 +0000 (10:35 -0700)]
Add missing pin to two tests and re-enable for GC stress (#24738)

Test was evidently assuming that because an object that referred to an array
was pinned, so was the array. Failure was intermittent, GC is not guaranteed
to move objects or to render their former contents inaccessible.

Fixes #24173.
Fixes #24464.

5 years agoUse auxiliary vector to obtain the executable path name (#24696)
Leandro A. F. Pereira [Thu, 23 May 2019 16:59:17 +0000 (09:59 -0700)]
Use auxiliary vector to obtain the executable path name (#24696)

This vector is populated by the kernel while loading an ELF, and is
available to user land without requiring any system calls.  This is
specially interesting if programs are executed under a chroot where
/proc isn't available (and thus realpath("/proc/self/exe"), the current
method of obtaining the full path name for the executable).

5 years agoReenable all CoreFX tests (#24740)
Jan Kotas [Thu, 23 May 2019 15:14:39 +0000 (08:14 -0700)]
Reenable all CoreFX tests (#24740)

5 years agoPrevent duplicate class addition when a profiler adds a type (#24737)
David Mason [Thu, 23 May 2019 07:28:09 +0000 (00:28 -0700)]
Prevent duplicate class addition when a profiler adds a type (#24737)

5 years agoProfiler attach over the diagnostics pipe (#24670)
David Mason [Thu, 23 May 2019 07:19:41 +0000 (00:19 -0700)]
Profiler attach over the diagnostics pipe (#24670)

Remove the old windows only profiler attach mechanism and replace it with a cross plat implementation over the diagnostics pipe

5 years agoStop compiling fragile NGen support into the runtime (#24625)
Jan Kotas [Thu, 23 May 2019 06:42:31 +0000 (23:42 -0700)]
Stop compiling fragile NGen support into the runtime (#24625)

5 years agoUse Microsoft.Build.Traversal instead of dir.traversal.targets for packaging .builds...
Elinor Fung [Thu, 23 May 2019 06:33:59 +0000 (23:33 -0700)]
Use Microsoft.Build.Traversal instead of dir.traversal.targets for packaging .builds projects (#24723)

5 years agoUse -c when trying to find Python (#24722)
Steve Dower [Thu, 23 May 2019 06:24:00 +0000 (23:24 -0700)]
Use -c when trying to find Python (#24722)

Piping code into Python is indistinguishable from interactive execution, but since we never want interactive execution here it's better to use `-c <CODE>`.

5 years agoUpdate dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimizati...
dotnet-maestro[bot] [Thu, 23 May 2019 04:45:43 +0000 (21:45 -0700)]
Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190521.3 (#24717)

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

5 years agoMerge pull request #24734 from mikem8361/sosincs2
Mike McLaughlin [Thu, 23 May 2019 04:28:49 +0000 (21:28 -0700)]
Merge pull request #24734 from mikem8361/sosincs2

Add warning banner and sos threads -special fix

5 years agoAdd EnumerateRefs API and remove GetObjectReferences (#24542)
Mukul Sabharwal [Thu, 23 May 2019 03:47:48 +0000 (20:47 -0700)]
Add EnumerateRefs API and remove GetObjectReferences (#24542)

5 years agoChange timeouts for outerloop job and move one test to longRunningGc. (#24731)
Sergey Andreenko [Thu, 23 May 2019 01:19:20 +0000 (18:19 -0700)]
Change timeouts for outerloop job and move one test to longRunningGc. (#24731)

* Change outerloop timeout per collection.

We have different test collections timeouts on Alpine.38.Amd64, examples:
https://mc.dot.net/#/user/coreclr-ci/ci~2Fdotnet~2Fcoreclr~2Frefs~2Fheads~2Fmaster/test~2Ffunctional~2Fcli~2F/20190521.780/workItem/JIT.jit64.hfa/wilogs
https://mc.dot.net/#/user/coreclr-ci/ci~2Fdotnet~2Fcoreclr~2Frefs~2Fheads~2Fmaster/test~2Ffunctional~2Fcli~2F/20190521.779/workItem/PayloadGroup0/wilogs
https://mc.dot.net/#/user/coreclr-ci/ci~2Fdotnet~2Fcoreclr~2Frefs~2Fheads~2Fmaster/test~2Ffunctional~2Fr2r~2Fcli~2F/20190521.783/workItem/Loader.classloader.TypeGeneratorTests.TypeGeneratorTest0-299/wilogs

* Move _il_relthread-race to pri1 and mark as long running GC test.

5 years agoComponentActivator GetType must throwOnError (#24732)
Steve MacLean [Thu, 23 May 2019 00:51:00 +0000 (20:51 -0400)]
ComponentActivator GetType must throwOnError (#24732)

5 years agoAdd warning banner and sos threads -special fix
Mike McLaughlin [Wed, 22 May 2019 23:59:02 +0000 (16:59 -0700)]
Add warning banner and sos threads -special fix

5 years agoFix x86 synchronized method (#24703)
Carol Eidt [Wed, 22 May 2019 23:44:36 +0000 (16:44 -0700)]
Fix x86 synchronized method (#24703)

For the JIT32_GCENCODER the this pointer must be either kept in a single register or on the stack.

Fix #24166

5 years agoAllow CORINFO_BOX_THIS for primitives and enums (#24644)
Michal Strehovský [Wed, 22 May 2019 22:59:43 +0000 (15:59 -0700)]
Allow CORINFO_BOX_THIS for primitives and enums (#24644)

We abort R2R compiling methods with `thisTransform == CORINFO_BOX_THIS`. This means we don't R2R compile some methods that do virtual calls on valuetypes (e.g. calling `ToString` on a struct that doesn't itself provide a `ToString` method).

We can't allow this in general, but enums and primitives should be fine.

5 years agoRemove filter for Exception type during registry inquiry. (#24725)
Aaron Robinson [Wed, 22 May 2019 22:18:44 +0000 (15:18 -0700)]
Remove filter for Exception type during registry inquiry. (#24725)

Update Console output with more details.

5 years agoput lttng probe check under FEATURE_EVENT_TRACE (#24729)
Sung Yoon Whang [Wed, 22 May 2019 22:13:23 +0000 (15:13 -0700)]
put lttng probe check under FEATURE_EVENT_TRACE (#24729)

5 years agoRelax the assertion for FieldDesc::GetBase
Andrew Au [Wed, 22 May 2019 17:51:30 +0000 (10:51 -0700)]
Relax the assertion for FieldDesc::GetBase

5 years agoMerge pull request #24636 from echesakovMSFT/MoreOuterloopQueues
Egor Chesakov [Wed, 22 May 2019 18:49:43 +0000 (11:49 -0700)]
Merge pull request #24636 from echesakovMSFT/MoreOuterloopQueues

Enable OSX.1012.Amd64.Open and Windows.10.Arm64.Open (only Windows_NT/arm) in outerloop jobs

5 years agoDelete FEATURE_WINDOWSPHONE (#24718)
Jan Kotas [Wed, 22 May 2019 18:21:47 +0000 (11:21 -0700)]
Delete FEATURE_WINDOWSPHONE (#24718)

5 years agoTest case for #24657 (#24721)
Carol Eidt [Wed, 22 May 2019 17:56:54 +0000 (10:56 -0700)]
Test case for #24657 (#24721)

This bug is a duplicate of #18522. Adding the additional repro.

Close #24657

5 years agoFix Path.Join argument nullable annotation (#24719)
Stephen Toub [Wed, 22 May 2019 17:28:26 +0000 (13:28 -0400)]
Fix Path.Join argument nullable annotation (#24719)

5 years agoCache current thread ID in TLS (#24699)
Leandro A. F. Pereira [Wed, 22 May 2019 15:17:26 +0000 (08:17 -0700)]
Cache current thread ID in TLS (#24699)

While looking at the strace of `corerun` built with logging and
debugging information, I was amazed at the number of gettid() calls it
was making.  While system calls are cheap, they're still not free;
cache this number in the thread local storage area.  Adds a branch, but
it's just a comparison with 0, so it's fine in comparison.

5 years agoFixed ARM single stepper: added "ADD Rn, PC" command emulation (#24271)
Kirill Frolov [Wed, 22 May 2019 14:05:06 +0000 (17:05 +0300)]
Fixed ARM single stepper: added "ADD Rn, PC" command emulation (#24271)

This change fixes bug #24164: pull request #11366 adds generation of
commands which use PC-relative addressing. But ArmSingleStepper doesn't
implements support for "ADD Rn, PC" command, so when we try to debug
managed code, generated JIT can't be single stepped correctly.

Detailed changes description:

1) added "ADD Rn, PC" command emulation to ArmSingleStepper;
2) asserts added to JIT code generator, which prevents using of CPU
instructions, which address PC (R15) register with except of only "ADD
Rn, PC" instruction (asserts generated only in Debug builds).

Normally PC register shouldn't be used in arithmetic commands almost in
all cases.

5 years agoCommit 29810a78e5b93d8da9fb921d096226d249fc75a5 added unconditional dependency on...
Marek Safar [Wed, 22 May 2019 13:30:59 +0000 (15:30 +0200)]
Commit 29810a78e5b93d8da9fb921d096226d249fc75a5 added unconditional dependency on GetCpuUtilization (#24715)

Update projitems file inclusion

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 clarifying comment why Windows.10.Arn64.Open only used in Windows_NT/arm and...
Egor Chesakov [Tue, 21 May 2019 23:48:22 +0000 (16:48 -0700)]
Add clarifying comment why Windows.10.Arn64.Open only used in Windows_NT/arm and only for CI builds

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 agoEnable OSX.1012.Amd64.Open and Windows.10.Arm64.Open in outerloop jobs
Egor Chesakov [Fri, 17 May 2019 18:26:25 +0000 (11:26 -0700)]
Enable OSX.1012.Amd64.Open and Windows.10.Arm64.Open in outerloop jobs

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)