platform/upstream/coreclr.git
5 years agoMerge pull request #23325 from VSadov/CmpExchA64
Vladimir Sadov [Thu, 28 Mar 2019 17:25:25 +0000 (10:25 -0700)]
Merge pull request #23325 from VSadov/CmpExchA64

Resolve 22303   (interlocked failures on ARM64)

5 years agoGetPinnableReference on String.cs (#23428)
simplejackcoder [Thu, 28 Mar 2019 15:20:15 +0000 (08:20 -0700)]
GetPinnableReference on String.cs (#23428)

* GetPinnableReference on String.cs

* Add attributes for debugger and performance

5 years ago[master] Update dependencies from dotnet/arcade (#23406)
dotnet-maestro[bot] [Thu, 28 Mar 2019 15:17:39 +0000 (08:17 -0700)]
[master] Update dependencies from dotnet/arcade (#23406)

* Update dependencies from https://github.com/dotnet/arcade build 20190327.11

- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19177.11
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19177.11

5 years ago[master] Update dependencies from dotnet/corefx (#23455)
dotnet-maestro[bot] [Thu, 28 Mar 2019 15:16:53 +0000 (08:16 -0700)]
[master] Update dependencies from dotnet/corefx (#23455)

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

- Microsoft.NETCore.Platforms - 3.0.0-preview4.19178.1
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview4.19178.1

5 years agoMove QueryPerformanceCounter PInvokes to shared (dotnet/corefx#36409)
Jan Kotas [Thu, 28 Mar 2019 05:37:22 +0000 (22:37 -0700)]
Move QueryPerformanceCounter PInvokes to shared (dotnet/corefx#36409)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoNullable updates for byte type (#23460)
buyaa-n [Wed, 27 Mar 2019 02:15:17 +0000 (19:15 -0700)]
Nullable updates for byte type (#23460)

5 years agoNullable changes for boolean type (#23451)
buyaa-n [Tue, 26 Mar 2019 16:32:15 +0000 (09:32 -0700)]
Nullable changes for boolean type (#23451)

* Nullable changes for boolean type

5 years agoNullable: String (#23450)
Santiago Fernandez Madero [Tue, 26 Mar 2019 16:27:32 +0000 (09:27 -0700)]
Nullable: String (#23450)

5 years agonullable: number (#23454)
Krzysztof Wicher [Tue, 26 Mar 2019 16:23:00 +0000 (09:23 -0700)]
nullable: number (#23454)

5 years agoNullable: Uint32, (U)Int16, (U)Int64 (#23449)
Krzysztof Wicher [Tue, 26 Mar 2019 04:10:24 +0000 (21:10 -0700)]
Nullable: Uint32, (U)Int16, (U)Int64 (#23449)

* Nullable: UInt32

* (U)Int16, (U)Int64

* Make NumberFormatInfo non-nullable

5 years agoNullable: Int32 (#23443)
Krzysztof Wicher [Tue, 26 Mar 2019 02:13:42 +0000 (19:13 -0700)]
Nullable: Int32 (#23443)

* Nullable: Int32

* remove restore and move nullable up front

* remove trailing \n after #nullable to make it easier to remove later

5 years agoALC Enhancement nits (#23506)
Steve MacLean [Thu, 28 Mar 2019 00:15:45 +0000 (20:15 -0400)]
ALC Enhancement nits (#23506)

isCollectible default should be false
String should be string

5 years agoALC enhancements (#22273)
Steve MacLean [Wed, 27 Mar 2019 23:49:17 +0000 (19:49 -0400)]
ALC enhancements (#22273)

* Initial implementatation of ALC enhancements

Add public constructor with name
Add Name property
Add Assemblies property
Add All property
Override ToString
Name Default and Assembly.Load(...) ALCs
Add AssemblyLoadContext30Extensions test

5 years agoExtend WindowsEventLog test for EntryPointFilter (#23178)
Steve MacLean [Wed, 27 Mar 2019 21:24:00 +0000 (17:24 -0400)]
Extend WindowsEventLog test for EntryPointFilter (#23178)

* Extend WindowsEventLog test

Verify EntryPointFilter solves logging problem with native host swallowing exceptions

WindowsEventLog only look at new entries
WindowsEventLog remove time check

Add mechanism to corhost to emulate host swallowing all exceptions

* PR feedback

5 years agoUpdate DllMap doc (#22804)
Swaroop Sridhar [Wed, 27 Mar 2019 21:03:25 +0000 (14:03 -0700)]
Update DllMap doc (#22804)

* Update DllMap doc

Update DllMap design doc:
* To note the NativeLibrary APIs that can be used to implement DllMap
* To point to a sample implementation of DllMap.

5 years agoAdd ALC.ContextualReflection.md (#23335)
Steve MacLean [Wed, 27 Mar 2019 18:02:18 +0000 (14:02 -0400)]
Add ALC.ContextualReflection.md (#23335)

5 years agoRevert "Delete unused variables in jit. Part 2. (#23481)" (#23488)
Sergey Andreenko [Wed, 27 Mar 2019 17:59:04 +0000 (10:59 -0700)]
Revert "Delete unused variables in jit. Part 2. (#23481)" (#23488)

This reverts commit 6cb120cc74ca61fc314e3cc43007778d2aafd041.

5 years agoDelete unused variables in jit. Part 2. (#23481)
Sergey Andreenko [Wed, 27 Mar 2019 17:22:18 +0000 (10:22 -0700)]
Delete unused variables in jit. Part 2. (#23481)

* Clean `valuenum.cpp`.

* Clean `emitarm64.cpp`.

* Clean `lsraarm64.cpp`.

* Clean `lsraarmarch.cpp`.

* Clean `lowerarmarch.cpp`.

* Clean `lower.cpp`.

* Clean `ssabuilder.cpp`.

* Clean `simd.cpp`.

* Clear `simdcodegenxarch.cpp`.

* Clean `lowerxarch.cpp`.

* Clean `scopeinfo.cpp`.

* Clean `hwintrinsiccodegenxarch.cpp`.

5 years agoEliminate EventPipeBuffer::Close()
Andrew Au [Wed, 27 Mar 2019 00:38:27 +0000 (17:38 -0700)]
Eliminate EventPipeBuffer::Close()

5 years agoFixing the codegen for x64 intrinsics to use EA_8BYTE where needed. (#23461)
Tanner Gooding [Wed, 27 Mar 2019 10:33:56 +0000 (03:33 -0700)]
Fixing the codegen for x64 intrinsics to use EA_8BYTE where needed. (#23461)

5 years agoAdd call to setup-stress-dependencies.sh to build-test.sh. (#23435)
Sergey Andreenko [Wed, 27 Mar 2019 07:25:06 +0000 (00:25 -0700)]
Add call to setup-stress-dependencies.sh to build-test.sh. (#23435)

5 years agoUpdate CoreFX arm64 test exclusions. (#23463)
Sergey Andreenko [Wed, 27 Mar 2019 07:14:38 +0000 (00:14 -0700)]
Update CoreFX arm64 test exclusions. (#23463)

5 years agoReplacing the /Trusted_Platform_Assemblies switch with a simpler /r switch that can...
Fadi Hanna [Wed, 27 Mar 2019 03:56:57 +0000 (20:56 -0700)]
Replacing the /Trusted_Platform_Assemblies switch with a simpler /r switch that can be used multiple times in the command line to provide a list of reference assemblies. Reference assemblies can now be passed as individual file entries instead of a giant string of semi-column separated entries. (#23462)

5 years agoUse DotNet-HelixApi-Access only in internal project (#23479)
Egor Chesakov [Wed, 27 Mar 2019 03:47:48 +0000 (20:47 -0700)]
Use DotNet-HelixApi-Access only in internal project (#23479)

5 years agoHandle addressing modes for HW intrinsics (#22944)
Carol Eidt [Tue, 26 Mar 2019 23:13:40 +0000 (16:13 -0700)]
Handle addressing modes for HW intrinsics (#22944)

* Handle addressing modes for HW intrinsics

Also, eliminate some places where the code size estimates were over-estimating.

Contribute to #19550
Fix #19521

5 years agoMake tests outerloop again
vsadov [Tue, 26 Mar 2019 22:10:26 +0000 (15:10 -0700)]
Make tests outerloop again

5 years agoCleaning up the P/Invoke signatures for QPF and QPC to avoid marshalling and pinning...
Tanner Gooding [Tue, 26 Mar 2019 15:48:03 +0000 (08:48 -0700)]
Cleaning up the P/Invoke signatures for QPF and QPC to avoid marshalling and pinning (#36071)

* Cleaning up the P/Invoke signatures for QPF and QPC to avoid marshalling and pinning

* Responding to PR feedback.

* Dropping support for low resolution stopwatch

* Removing BestFitMapping=false

* Removing unneeded unsafe declarations

* Addressing more PR feedback

* Fixing the pal_time header file

* Fixing the Unix P/Invoke signatures for GetTimestamp and GetTimestampResolution to return ulong.

* Fixing GetTimestampResolution to scale the result for HAVE_CLOCK_MONOTONIC

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoMerge pull request #23430 from janvorli/disable-ijw-load-in-collectible-alc
Jan Vorlicek [Mon, 25 Mar 2019 23:20:32 +0000 (00:20 +0100)]
Merge pull request #23430 from janvorli/disable-ijw-load-in-collectible-alc

Disable loading IJW assemblies into collectible ALC

5 years agoReplace Win32 resource reading logic with cross platform implementation (#23363)
David Wrighton [Mon, 25 Mar 2019 23:04:26 +0000 (16:04 -0700)]
Replace Win32 resource reading logic with cross platform implementation (#23363)

* FindResource direct implementation in PEDecoder

* Fixup bugs identified in resource reading

5 years agoJIT: don't treat whitespace as separator in assembly name lists (#23410)
Andy Ayers [Mon, 25 Mar 2019 22:05:45 +0000 (15:05 -0700)]
JIT: don't treat whitespace as separator in assembly name lists (#23410)

Only recognize ";" as a separator, so that we can support exclusions or inclusions
of assemblies whose names include spaces.

Impacts the altjit exclude list, and the disasm include list.

Addresses dotnet/jitutils#200.

5 years agoMark test GitHub_18582 as optimization sensitive (#23434)
Andy Ayers [Mon, 25 Mar 2019 22:00:26 +0000 (15:00 -0700)]
Mark test GitHub_18582 as optimization sensitive (#23434)

Jitstress on OSX will turn on cloning stress in `Test` and cause stack overflows
cloning the large `GT_LIST` subtree of the call.

See issue #23346.

5 years agoDisabled new IJW tests
Jan Vorlicek [Mon, 25 Mar 2019 17:07:25 +0000 (18:07 +0100)]
Disabled new IJW tests

There were couple of IJW tests added since the master I've based my
changes on. Adding disabling of those for unloadability testing.

5 years agoDisable loading IJW assemblies into collectible ALC
Jan Vorlicek [Fri, 22 Mar 2019 13:53:31 +0000 (14:53 +0100)]
Disable loading IJW assemblies into collectible ALC

5 years agoMerge pull request #23413 from luhenry/fix-gh22302-2
Jan Vorlicek [Mon, 25 Mar 2019 16:57:08 +0000 (17:57 +0100)]
Merge pull request #23413 from luhenry/fix-gh22302-2

Improve detection of CPU limits when running inside a Container

5 years agoMiscellaneous R2RDump improvements (#23215)
Tomáš Rylek [Mon, 25 Mar 2019 16:22:46 +0000 (17:22 +0100)]
Miscellaneous R2RDump improvements (#23215)

1) In Naked mode, hide the distinction amongst METHOD_ENTRY vs.
METHOD_ENTRY_REF_TOKEN vs. METHOD_ENTRY_DEF_TOKEN as it's not
important for correctness and causes undesirable churn in diffs.
This required propagating the DumpOptions around in a couple
of places.

2) For historical reasons, the DisassemblingTypeProvider had
its own implementations of metadata formatting that is now provided
by MetadataNameFormatter. I have removed at least a part of this
duplication in this change. [It was causing undesirable diffs as
one version used to output type owner assemblies whereas the other
did not.]

Thanks

Tomas

5 years agoRe-enable Index/Range Jit test (#23415)
Tarek Mahmoud Sayed [Mon, 25 Mar 2019 15:23:33 +0000 (08:23 -0700)]
Re-enable Index/Range Jit test (#23415)

5 years agotypo: Double word "both" (dotnet/corefx#36272)
Nick Schonning [Sun, 24 Mar 2019 20:46:16 +0000 (16:46 -0400)]
typo: Double word "both" (dotnet/corefx#36272)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agotypo: Double word "never" (dotnet/corefx#36300)
Nick Schonning [Sun, 24 Mar 2019 20:44:51 +0000 (16:44 -0400)]
typo: Double word "never" (dotnet/corefx#36300)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agotypo: Double word "to" (dotnet/corefx#36264)
Nick Schonning [Sun, 24 Mar 2019 20:43:54 +0000 (16:43 -0400)]
typo: Double word "to" (dotnet/corefx#36264)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agotypo: Double word "that" (dotnet/corefx#36269)
Nick Schonning [Sun, 24 Mar 2019 20:43:04 +0000 (16:43 -0400)]
typo: Double word "that" (dotnet/corefx#36269)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agotypo: Double word "a" (dotnet/corefx#36271)
Nick Schonning [Sun, 24 Mar 2019 20:41:06 +0000 (16:41 -0400)]
typo: Double word "a" (dotnet/corefx#36271)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agotypo: Double word "in" (dotnet/corefx#36270)
Nick Schonning [Sun, 24 Mar 2019 20:41:37 +0000 (16:41 -0400)]
typo: Double word "in" (dotnet/corefx#36270)

* typo: Double word "in"

* Update src/System.Console/src/System/Console.cs

Co-Authored-By: nschonni <nschonni@gmail.com>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agotypo: Double word "the" (dotnet/corefx#36274)
Nick Schonning [Sun, 24 Mar 2019 20:40:10 +0000 (16:40 -0400)]
typo: Double word "the" (dotnet/corefx#36274)

* typo: Double word "the"

* Apply suggestions from code review

Co-Authored-By: nschonni <nschonni@gmail.com>
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agotypo: Double word "this" (dotnet/corefx#36273)
Nick Schonning [Sun, 24 Mar 2019 20:40:35 +0000 (16:40 -0400)]
typo: Double word "this" (dotnet/corefx#36273)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agotypo: Double word "are" (dotnet/corefx#36275)
Nick Schonning [Sun, 24 Mar 2019 20:39:15 +0000 (16:39 -0400)]
typo: Double word "are" (dotnet/corefx#36275)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agotypo: Double word "types" (dotnet/corefx#36276)
Nick Schonning [Sun, 24 Mar 2019 20:38:54 +0000 (16:38 -0400)]
typo: Double word "types" (dotnet/corefx#36276)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agotypo: Double word "is" (dotnet/corefx#36283)
Nick Schonning [Sun, 24 Mar 2019 20:36:34 +0000 (16:36 -0400)]
typo: Double word "is" (dotnet/corefx#36283)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agotypo: Double word "we" (dotnet/corefx#36288)
Nick Schonning [Sun, 24 Mar 2019 20:34:57 +0000 (16:34 -0400)]
typo: Double word "we" (dotnet/corefx#36288)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agotypo: Double word "as" (dotnet/corefx#36277)
Nick Schonning [Sun, 24 Mar 2019 20:30:06 +0000 (16:30 -0400)]
typo: Double word "as" (dotnet/corefx#36277)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoRevert "Add call to setup-stress-dependencies.sh to build-test.sh. (#23354)" (#23419)
Sergey Andreenko [Sat, 23 Mar 2019 09:00:53 +0000 (02:00 -0700)]
Revert "Add call to setup-stress-dependencies.sh to build-test.sh. (#23354)" (#23419)

This reverts commit 22c4ff5c1d339119c12547ac2d1b35211162df49.

5 years agoAdd call to setup-stress-dependencies.sh to build-test.sh. (#23354)
Sergey Andreenko [Sat, 23 Mar 2019 05:13:12 +0000 (22:13 -0700)]
Add call to setup-stress-dependencies.sh to build-test.sh. (#23354)

* Add call to setup-stress-dependencies.sh to build-test.sh.

* Fix args.

* hack __DistroRid

* Do not use bash source.

* Do not use bash source 2.

* Fix init-distro-rid permissions.

* Fix tabs.

* return deleted source where it was needed

5 years agoReplace slow implementations in ASCIIUtility with fast implementations (#22516)
Levi Broderick [Sat, 23 Mar 2019 04:43:27 +0000 (21:43 -0700)]
Replace slow implementations in ASCIIUtility with fast implementations (#22516)

5 years agoFix WinRT marshalling for NotifyPropertyChangedEventArgs and NotifyCollectionChangedE...
Jeremy Koritzinsky [Sat, 23 Mar 2019 00:09:21 +0000 (17:09 -0700)]
Fix WinRT marshalling for NotifyPropertyChangedEventArgs and NotifyCollectionChangedEventArgs (CoreCLR side) (#23401)

* Enable marshalling IntPtr and UIntPtr in WinRT scenarios to support our marshalling infrastructure.

* Enable getting an RCW for a native COM object while ignoring WinRT projections.

* Rename to Marshal.GetUniqueObjectForIUnknownWithoutUnboxing

* Clean up contract.

* Move GetUniqueObjectForIUnknownWithoutUnboxing to WindowsRuntimeMarshal.

* Move WinRT-specific FCalls to WindowsRuntimeMarshal.

5 years agoDelete unused variables in jit. Part1. (#23399)
Sergey Andreenko [Fri, 22 Mar 2019 23:33:23 +0000 (16:33 -0700)]
Delete unused variables in jit. Part1. (#23399)

* Clean `assertionprop.cpp`.

* Clean `codegencommon.cpp`.:

* Clean `codegenlinear.cpp`.

* Clean `compiler.cpp`.

* Clean `earlyprop.cpp`.

* Clean `gschecks.cpp`.

* Clean 'lclvars.cpp`.

* Clean `jiteh.cpp`.

* Clean `liveness.cpp`.

* Clean `hashbv.cpp`.

* Clean `gcinfo.cpp`.

* Clean `optimizer.cpp`.

5 years agoApply Optimization in Index.GetOffset suggested by Levi (#23349)
Tarek Mahmoud Sayed [Fri, 22 Mar 2019 22:22:50 +0000 (15:22 -0700)]
Apply Optimization in Index.GetOffset suggested by Levi (#23349)

* Apply Optimization in Index.GetOffset suggested by Levi

* Add Comment

* address the feedback

5 years agoMove Exception to shared partition (#23361)
Marek Safar [Fri, 22 Mar 2019 20:16:41 +0000 (21:16 +0100)]
Move Exception to shared partition (#23361)

* Move Exception to shared partition

* Remove class name caching

* Not useful comments removal

5 years agoMerge pull request #23366 from andy-ms/heap_hard_limit
Andy Hanson [Fri, 22 Mar 2019 20:14:40 +0000 (13:14 -0700)]
Merge pull request #23366 from andy-ms/heap_hard_limit

Don't compact LOH just because a heap_hard_limit exists

5 years agoImprove detection of CPU limits when running inside a Container
Ludovic Henry [Thu, 21 Mar 2019 21:37:14 +0000 (14:37 -0700)]
Improve detection of CPU limits when running inside a Container

This focuse on better supporting `--cpuset-cpus` which limits the number of processors we have access to on the CPU; it also specifies which specific processor we have access to, but that’s irrelevant here

The work has been done here for all runtime components except `Environment.ProcessorCount`. The work consist in fixing `PAL_GetLogicalCpuCountFromOS` to use `sched_getaffinity`.

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

5 years agoUpdate Ubuntu 18.04 ARM64 queues (#23374)
Jeremy Koritzinsky [Fri, 22 Mar 2019 05:14:19 +0000 (22:14 -0700)]
Update Ubuntu 18.04 ARM64 queues (#23374)

* Update Ubuntu 18.04 queue.

* Update Debian 9 ARM queues as well.

5 years agoUpdated Exception Handling for Collection<T> (#23290)
Andrew Hoefling [Fri, 22 Mar 2019 02:23:53 +0000 (22:23 -0400)]
Updated Exception Handling for Collection<T> (#23290)

* Updated Argument Helper param from list->collection since the parameter name is collection

* Updated exception message to use an out of range exception that doesn't explicitly reference a list

* Simplified if statements that verify if the index is out of range

* Updated if logic to be simplified using (uint)

* Updated exception handling to throw ThrowHelper.ThrowArgumentOutOfRange_IndexException() when the ExceptionArgument was 'Index'

5 years agoMerge pull request #23391 from briansull/pipeline-work
Brian Sullivan [Fri, 22 Mar 2019 00:10:42 +0000 (17:10 -0700)]
Merge pull request #23391 from briansull/pipeline-work

Add azure-pipeline job: coreclr-ci (Test Pri0 Linux_musl x64 release)

5 years agoRemoved unnecessary string compares and Sleeps.
vsadov [Wed, 20 Mar 2019 23:32:10 +0000 (16:32 -0700)]
Removed unnecessary string compares and Sleeps.
Made sure tests actually test something

5 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190321.01 ...
dotnet-maestro[bot] [Thu, 21 Mar 2019 21:57:18 +0000 (14:57 -0700)]
Update dependencies from https://github.com/dotnet/core-setup build 20190321.01 (#23385)

- Microsoft.NETCore.App - 3.0.0-preview4-27521-01

5 years agoCorrect Linux_musl_x64
Brian Sullivan [Thu, 21 Mar 2019 21:19:05 +0000 (14:19 -0700)]
Correct  Linux_musl_x64

5 years agoMerge pull request #23321 from franksinankaya/gcc_cleanup_14
Jan Vorlicek [Thu, 21 Mar 2019 21:12:11 +0000 (22:12 +0100)]
Merge pull request #23321 from franksinankaya/gcc_cleanup_14

Integer Conversion issues

5 years agoAvoid stack walk as specified in the exclusion list
Andrew Au [Mon, 18 Mar 2019 22:19:45 +0000 (15:19 -0700)]
Avoid stack walk as specified in the exclusion list

5 years agoMerge pull request #23369 from BruceForstall/UpdateStaticStats
Bruce Forstall [Thu, 21 Mar 2019 20:50:53 +0000 (13:50 -0700)]
Merge pull request #23369 from BruceForstall/UpdateStaticStats

Update emitter statistics

5 years agoMoving gen stack level to code gen interface (#23328)
Brian Bohe [Thu, 21 Mar 2019 18:19:03 +0000 (11:19 -0700)]
Moving gen stack level to code gen interface (#23328)

* Make genStackLevel accessible from CodeGenInterface

* Initializing stackLevel before fist BasicBlock's code is generated

* Typo

* Removing extra line on comments

5 years agoAdd coreclr-ci (Test Pri0 Linux_musl x64 release)
Brian Sullivan [Thu, 21 Mar 2019 17:39:23 +0000 (10:39 -0700)]
Add coreclr-ci (Test Pri0 Linux_musl x64 release)

5 years agoMerge pull request #23350 from briansull/hva-tests
Brian Sullivan [Thu, 21 Mar 2019 17:35:04 +0000 (10:35 -0700)]
Merge pull request #23350 from briansull/hva-tests

Update HVA test

5 years agoRemove innerloop flow jobs that were missed (#23372)
Jarret Shook [Thu, 21 Mar 2019 17:28:29 +0000 (10:28 -0700)]
Remove innerloop flow jobs that were missed (#23372)

* Remove innerloop flow jobs that were missed

* Correctly exclude windows x64 jobs as well

* Address pr feedback

5 years agoMerge pull request #23389 from BruceForstall/ReplaceZipWithTar
Bruce Forstall [Thu, 21 Mar 2019 17:07:12 +0000 (10:07 -0700)]
Merge pull request #23389 from BruceForstall/ReplaceZipWithTar

Replace Linux pmi_asm_diffs use of zip/unzip with tar

5 years agoMerge pull request #23384 from dotnet/darc-master-e8de3fe3-fa66-4b56-92cd-7be4e23a5739
Russ Keldorph [Thu, 21 Mar 2019 16:58:23 +0000 (09:58 -0700)]
Merge pull request #23384 from dotnet/darc-master-e8de3fe3-fa66-4b56-92cd-7be4e23a5739

[master] Update dependencies from dotnet/arcade

5 years agoReplace Linux pmi_asm_diffs use of zip/unzip with tar
Bruce Forstall [Thu, 21 Mar 2019 16:56:44 +0000 (09:56 -0700)]
Replace Linux pmi_asm_diffs use of zip/unzip with tar

It appears our arm64 machines don't have 'zip', so are failing
to archive the final results.

5 years agoChange perf smoketest queue (#23371)
Michelle McDaniel [Thu, 21 Mar 2019 16:20:40 +0000 (09:20 -0700)]
Change perf smoketest queue (#23371)

We have installed python3 on all of the Helix queues, so we no longer need to be on a special perf queue for the smoketest runs.

5 years ago[EventPipe] Fix linker warning on Debug/Checked build and unlink Unix Domain Socket...
José Rivero [Thu, 21 Mar 2019 16:08:46 +0000 (09:08 -0700)]
[EventPipe] Fix linker warning on Debug/Checked build and unlink Unix Domain Socket #23334 (#23357)

- Attempt to close-behind unix domain socket and repurpose LF_REMOTING facility.
  - On shutdown, attempt to unlink the bound socket so it can be removed from the file system when the last reference to it it closed.
- Rename unused LF_REMOTING to LF_DIAGNOSTICS_PORT. This new flag will be used by the diagnostic server stress log calls.
- libcmtd.lib(initializers.obj) : warning LNK4098: defaultlib 'libcmt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library [S:\github.com\jorive\coreclr\bin\obj\Windows_NT.x64.Checked\src\dlls\mscoree\coreclr\coreclr.vcxproj]
- Move some preprocessors and includes around.

5 years agoMove Buffer constants to platform specific files (#23352)
Marek Safar [Thu, 21 Mar 2019 15:30:11 +0000 (16:30 +0100)]
Move Buffer constants to platform specific files (#23352)

* Move Buffer constants to platform specific files

* Add explicit access modifier

5 years agoUpdate dependencies from https://github.com/dotnet/arcade build 20190320.2
dotnet-maestro [Thu, 21 Mar 2019 12:28:20 +0000 (12:28 +0000)]
Update dependencies from https://github.com/dotnet/arcade build 20190320.2

- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19170.2
- Microsoft.DotNet.Helix.Sdk - 2.0.0-beta.19170.2

5 years agoUpdate CoreCLR for changes in shared partition
Jan Kotas [Thu, 21 Mar 2019 01:15:19 +0000 (18:15 -0700)]
Update CoreCLR for changes in shared partition

5 years agoUnify EnumInfo and NamesAndValues
Jan Kotas [Wed, 20 Mar 2019 07:39:51 +0000 (00:39 -0700)]
Unify EnumInfo and NamesAndValues

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoHoist calls to IsBitwiseEquatable (#23381)
Jan Kotas [Thu, 21 Mar 2019 06:54:41 +0000 (23:54 -0700)]
Hoist calls to IsBitwiseEquatable (#23381)

Smaller IL is easier for JIT

5 years agoRuntime changes for IJW Activation (#22636)
Jeremy Koritzinsky [Thu, 21 Mar 2019 05:59:29 +0000 (22:59 -0700)]
Runtime changes for IJW Activation (#22636)

* Implement loading an assembly from an HMODULE on Windows.

* Use the native runtime to execute the main method so I don't have to replicate all of the startup behavior.

* If ijwhost is loaded, then call back into ijwhost to resolve tokens for vtable entries.

* Refactor our various component loaders (COM and IJW) and have IJW load components into separate ALCs when loaded from native.

* Move VTableFixups after DeliverSyncEvents in our incremental load. We need the module to be loaded to at least FILE_LOAD_DELIVER_EVENTS when resolving dependencies loaded via VTableFixups, otherwise they try to load into the default ALC.

* Only try to get ijwhost module handle on Windows.

* Use defined() instead of ifndef

* Fix off-Windows build break and fix unvalid comment.

* ComponentLoadContext->IsolatedComponentLoadContext

* Only build InMemoryAssemblyLoader when targeting windows.

* Add doc comments for IsolatedComponentLoadContext.

* Rename qcall.

* Add comment for boolean parameter.

* Add null check for managed ExecuteMainMethod entrypoint.

* Add comments in ceeload.cpp for the ijwhost method resolution.

* Add test verifying runtime callback to IJW host.

* Add test for InMemoryAssemblyLoader.LoadInMemoryAssembly.

* Fix x86 behavior rel. loading symbols by name and stdcall mangling.

* Remove exe entrypoints. The executable case for mixed-mode will go through the normal .NET Core app model (no special hosting support needed).

* Clean up whitespace

* Add test verifying M->N->M ALC switch behavior with IJW.

* Resolve the ijwhost module by probing the PE for the IJW assembly instead of hardcoding the name.

* Remove static caching in GetTokenGetterFromHostModule.

* Disable new IJW tests on Win7.

* PR Feedback.

* Cleanup extra copy of function.

* Use old-style environment checking in LoadIjwFromModuleHandle since we reference S.P.CL directly.

* Fix break in rebase

* Clean up fake mscoree code.

* Only validate that a CLR header exists. The OS verifies everything else.

* Make ijw host resolution code static to ceeload.cpp

* Use bracketed include for xplatform.h

* Update comment on _CorDllMain

* PR feedback.

* Remove .def file.

* PR feedback.

* Verify we export correctly on x86 and x64.

* Fix path to ijwhostmock for CopyConstructorMarshaler

* Disable IJW tests on arm32 nightly. Can't repro the dependency load failures. Fixes #23358

5 years agoTest for PollingCounter (#23257)
Sung Yoon Whang [Thu, 21 Mar 2019 02:20:01 +0000 (19:20 -0700)]
Test for PollingCounter (#23257)

* Add test for PollingCounter

* some cleanup

* Comparing mean to failureCountCalled

* fix comparison

* compare to the correct count

* fix casing in csproj file

5 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190319.04 ...
dotnet-maestro[bot] [Thu, 21 Mar 2019 01:36:34 +0000 (18:36 -0700)]
Update dependencies from https://github.com/dotnet/core-setup build 20190319.04 (#23360)

- Microsoft.NETCore.App - 3.0.0-preview4-27519-04

5 years agoExpand Vector128 testing to 5 elements
Brian Sullivan [Thu, 21 Mar 2019 01:15:14 +0000 (18:15 -0700)]
Expand Vector128 testing to 5 elements

5 years agoMerge branch 'master' into hva-tests
Brian Sullivan [Wed, 20 Mar 2019 23:43:53 +0000 (16:43 -0700)]
Merge branch 'master' into hva-tests

5 years agoRemove kill-tasks step in eng/build-job.yml and kill_tasks.cmd file (#23351)
Egor Chesakov [Wed, 20 Mar 2019 21:47:09 +0000 (14:47 -0700)]
Remove kill-tasks step in eng/build-job.yml and kill_tasks.cmd file (#23351)

5 years agoUpdate emitter statistics
Bruce Forstall [Mon, 18 Mar 2019 21:53:52 +0000 (14:53 -0700)]
Update emitter statistics

1. Move BasicBlock static statistics output to block.cpp,
and update it to match the current BasicBlock declaration.
2. Add counts for each instrDesc type that is used.
3. Dump instrDesc type sizes.
4. Dump IG "static" buffer sizes.
5. Dump how many of each instrDesc can fit in the "static" IG.
6. Dump the maximum prolog instrDesc count and prolog IG size.
7. Fix and enable the "common small constants" output.

5 years agoDon't compact LOH just because a heap_hard_limit exists
Andy Hanson [Tue, 5 Mar 2019 22:29:31 +0000 (14:29 -0800)]
Don't compact LOH just because a heap_hard_limit exists

This is based on a perf test with 100% survival in a container, before
and after #22180. GC pause times were greater after that commit.
Debugging showed that the reason was that after, we were always doing
compacting GC, and objects were staying in generation 1 and not making it
to generation 2. The reason was that in the "after" build,
`should_compact_loh()` was always returning true if heap_hard_limit was
set; currently if we do an LOH compaction, we compact all other
generations too. As the comment indicates, we should decide that
automatically, not just set it to true all the time.

5 years agoRestrict the set of platforms for GCStress testing. (#23353)
Sergey Andreenko [Wed, 20 Mar 2019 17:12:06 +0000 (10:12 -0700)]
Restrict the set of platforms for GCStress testing. (#23353)

5 years agoAdding a flag to able/disable scope info (#23298)
Brian Bohe [Wed, 20 Mar 2019 17:08:01 +0000 (10:08 -0700)]
Adding a flag to able/disable scope info (#23298)

* Flag USING_SCOPE_INGO definition

* Enclosing siScope's related functions uses with USING_SCOPE_INFO flag definition check

* Encapsulating genSetScopeInfo when using siVarScope

* Moving comment inside flag defined block

* Include siScope/psiScope functions only when flag USING_SCOPE_INFO is defined

* Disable scope info

* Typo

* Adding comment flag name on #endif

* Remove redundant access levels/flags

* Repeating last accessibility level in case flag is disabled

* Setting use of siScope and psiScope as default way of reporting variable homes

5 years agoAdd repro case for jit stack overflow failure (#23346)
Andy Ayers [Wed, 20 Mar 2019 16:17:30 +0000 (09:17 -0700)]
Add repro case for jit stack overflow failure (#23346)

Repro case for #18582 and #23309.

5 years agoExclude GC/Collect from GCStress testing. (#23345)
Sergey Andreenko [Wed, 20 Mar 2019 06:16:26 +0000 (23:16 -0700)]
Exclude GC/Collect from GCStress testing. (#23345)

5 years agoImplement support for copy constructors when marshalling in IJW (#22805)
Jeremy Koritzinsky [Tue, 19 Mar 2019 23:22:47 +0000 (16:22 -0700)]
Implement support for copy constructors when marshalling in IJW (#22805)

Fixes #22219.

I decided to try simplifying the code when bringing this feature over from .NET Framework. The .NETFX x86 implementation of this marshaler adds a lot of extra code-paths, and intercepts the calling stub to enable it to exactly replicate the behavior of what would be the native code by copy-constructing an object in-place where it goes on the stack for the native call.

Instead of adding all of that extra goo, I decided to keep the implementation much more similar to the non-x86 implementation from .NETFX. Instead of intercepting the call and adding bookkeeping helper stubs, the marshaler just copies to a local in the IL stub, just like non-x86. When calling the native function, it just loads the local onto the IL stack and calls the native function as a normal function. There is a difference there, but I cannot think of a way that the difference is observable to the user.

The non-x86 implementation is identical to the .NETFX implementation.

5 years agoMerge branch 'master' into hva-tests
Brian Sullivan [Tue, 19 Mar 2019 21:56:54 +0000 (14:56 -0700)]
Merge branch 'master' into hva-tests

5 years agoFill out full test matrix
Brian Sullivan [Tue, 19 Mar 2019 21:51:14 +0000 (14:51 -0700)]
Fill out full test matrix
Give detailed error messages for test failures:

test1Argument_HVA128_03(arg1.v2): FAILED - Vector64<T> checkValues(index = 16, i = 0)
test1Argument_HVA128_03(arg1.v2): FAILED - Vector64<T> checkValues(index = 16, i = 0) (via reflection)

5 years agoRemove timer in RuntimeEventSource (#23311)
Sung Yoon Whang [Tue, 19 Mar 2019 21:46:18 +0000 (14:46 -0700)]
Remove timer in RuntimeEventSource (#23311)

* Change RuntimeEventSource's counter types

* cleanup

* cleanup

5 years agoTrim/TrimStart/TrimEnd methods for Memory and Span (#22798)
Grant [Tue, 19 Mar 2019 21:20:00 +0000 (14:20 -0700)]
Trim/TrimStart/TrimEnd methods for Memory and Span (#22798)

* Span.Trim

* Add another helper

* Remove redundant comments

* Optimize Trim(ReadOnlySpan<char>)

* Suggested overload for byte

* CR fixes

* CR fix

* Add Span overloads

* Add Memory overloads

* CR

* Rename method

* Optimization

* Tweaks

* Refactor

* Opt

* Use 2 helpers

* CR fixes

* CR fixes

* Nits

* CR fixes

* remove in params

* Bug

* Bug

* Move Trim methods to their own dedicated file

* Add char overloads

* Use Contains

* CR fixes

* Optmize ClampNull

* Nit

* Revert optimization

* Make existing implementations consistent with new

* Revert existing methods

* Move helpers

* Span, Memory and RoM should use consistent pattern

* POC for changing RoS

* Revert POC

* Use consistent idiom

* More inlining of explaining vars

* Use expression body for existing code

* CR fixes

* Nit

* Grammar

* CR fixes

* Fix perf bug in existing code

* Perf fix

* Force CI build

* Force CI

5 years agoReintroduce PR #22617 (Update added types and methoddefs on ApplyMetadata) (#23202)
David Mason [Tue, 19 Mar 2019 21:00:36 +0000 (14:00 -0700)]
Reintroduce PR #22617 (Update added types and methoddefs on ApplyMetadata) (#23202)

* Add ApplyMetadata changes back

This reverts commit f9c10f995fe65c0e7c30aa1734f7bb22c519983d.

* Fix race condition in loading available class hash for R2R with old R2R images or profiler modified R2R images

5 years agoEnable tests.
vsadov [Mon, 18 Mar 2019 21:30:45 +0000 (14:30 -0700)]
Enable tests.