platform/upstream/coreclr.git
6 years agoFix throughput testing (#19314)
Michelle McDaniel [Tue, 7 Aug 2018 01:46:02 +0000 (18:46 -0700)]
Fix throughput testing (#19314)

Also adds architecture to throughput trigger phrase.

6 years agoR2RDumpTests on Windows_NT.x64.Release (#19315)
Amy [Tue, 7 Aug 2018 00:28:39 +0000 (17:28 -0700)]
R2RDumpTests on Windows_NT.x64.Release (#19315)

6 years agoMerge pull request #19318 from BruceForstall/AddDavidArm64
Bruce Forstall [Tue, 7 Aug 2018 00:16:58 +0000 (17:16 -0700)]
Merge pull request #19318 from BruceForstall/AddDavidArm64

Update arm64 users list

6 years agoUpdate arm64 users list
Bruce Forstall [Mon, 6 Aug 2018 23:02:08 +0000 (16:02 -0700)]
Update arm64 users list

6 years agoPort x86 unwinder fix from .NET Framework (#19311)
Jan Kotas [Mon, 6 Aug 2018 22:43:30 +0000 (15:43 -0700)]
Port x86 unwinder fix from .NET Framework (#19311)

We have not hit this case in CoreCLR yet, but there is a good chance that we will at some point.

6 years agoMerge pull request #19228 from AndyAyersMS/FixDevirtFinalMethod
Andy Ayers [Mon, 6 Aug 2018 21:25:12 +0000 (14:25 -0700)]
Merge pull request #19228 from AndyAyersMS/FixDevirtFinalMethod

Fix resolveVirtualMethodHelper to check for explicit override cases

6 years agoOnly register signals and create alt exception stack in coreclr. (#19309)
Mike McLaughlin [Mon, 6 Aug 2018 19:16:49 +0000 (12:16 -0700)]
Only register signals and create alt exception stack in coreclr. (#19309)

There was a couple of places where the DAC (IsValidObject, GetAppDomainForObject)
assumed that a NULL target/debuggee address would throw an exception that would
be caught by try/catch. Any other invalid address is handled with a software
exception throwed by the read memory functions. In general it is a better overall
design not to have any of the DBI/DAC, etc. code depend on hardware exceptions
being caught. On Linux the C++ runtime sometimes can't handle it. There is a
slight risk that there are other places in the DAC that make the NULL address
assumption but testing so far has found any.

Added PAL_SetInitializeDLLFlags as a fallback to allow the PAL_InitializeDLL flags
to be set for a PAL instance for the DAC where we could still register h/w signals
but not the altstack switching to reduce this risk. The flags can't be build time
conditional because we only build one coreclrpal.a library that all the modules
used. Having a PAL_InitializeFlags function doesn't really help either because of
the PAL_RegisterModule call to PAL_IntializeDLL and the LoadLibrary dance/protocol
that uses it to call the loading module's DLLMain.

Add PAL_SetInitializeFlags; remove flags from PAL_INITIALIZE and PAL_INITIALIZE_DLL
default. Add PAL_InitializeFlags() to allowing the default to be overriden.

6 years agoRegenerating the templated x86 HWIntrinsic tests.
Tanner Gooding [Mon, 6 Aug 2018 15:08:06 +0000 (08:08 -0700)]
Regenerating the templated x86 HWIntrinsic tests.

6 years agoUpdating the x86 HWIntrinsic test templates to log the scenarios they run.
Tanner Gooding [Mon, 6 Aug 2018 15:06:32 +0000 (08:06 -0700)]
Updating the x86 HWIntrinsic test templates to log the scenarios they run.

6 years agoupdate test case
Andy Ayers [Mon, 6 Aug 2018 17:34:04 +0000 (10:34 -0700)]
update test case

6 years agoR2RDump - Ignore sensitive properties to pass tests (#19155)
Amy [Mon, 6 Aug 2018 17:29:08 +0000 (10:29 -0700)]
R2RDump - Ignore sensitive properties to pass tests (#19155)

* Ignore sensitive properties in tests

* Enable for JIT stress

* Keep logic for ignoreSensitive in XmlDumper

* Only ignoreSensitive when option is set

6 years agoImprove StreamWriter format perf (#19235)
Jeremy Kuhne [Mon, 6 Aug 2018 06:22:57 +0000 (23:22 -0700)]
Improve StreamWriter format perf (#19235)

* Improve StreamWriter format perf

Override the format overloads for TextWriter and skip the extra string allocation for the formatted string by using StringBuilder directly, copying straight to the output buffer.

Improves performance roughtly 10% and cuts allocations by 10x and up (formatting a string into a string goes to *zero* allocations).

* Fix copy/paste slipup- test added to CoreFX PR

6 years agoDisable NETClientPrimitives test (#19294)
Bruce Forstall [Mon, 6 Aug 2018 01:07:02 +0000 (18:07 -0700)]
Disable NETClientPrimitives test (#19294)

* Disable NETClientPrimitives test

Fails on many R2R and JitStress jobs.

Tracked by #19164

* Remove disabling under build against packages

6 years agoMerge pull request #19287 from BruceForstall/Revert19254
Bruce Forstall [Sat, 4 Aug 2018 03:38:39 +0000 (20:38 -0700)]
Merge pull request #19287 from BruceForstall/Revert19254

Revert "Build managed tests with dotnet (#19254)"

6 years agoRevert "Build managed tests with dotnet (#19254)"
Bruce Forstall [Sat, 4 Aug 2018 00:54:30 +0000 (17:54 -0700)]
Revert "Build managed tests with dotnet (#19254)"

This reverts commit 101baee1010eaad47cd7afd1e041a7f422aefa78.

6 years agoUpdating the x86 HWIntrinsics program to print out the list of supported ISAs
Tanner Gooding [Fri, 3 Aug 2018 20:20:38 +0000 (13:20 -0700)]
Updating the x86 HWIntrinsics program to print out the list of supported ISAs

6 years agoMoved LocalVariableInfo to shared (#19184)
Anirudh Agnihotry [Fri, 3 Aug 2018 20:03:35 +0000 (13:03 -0700)]
Moved LocalVariableInfo to shared (#19184)

* File Modified

* Moved to shared

* Introducing RuntimeLocalVariableInfo

* Build Corefx change

* sealed added

6 years agoHandle MovRelocatableImmediate on ARM32 as a special case (IF_T2_N3) (#19013)
Egor Chesakov [Fri, 3 Aug 2018 19:35:33 +0000 (12:35 -0700)]
Handle MovRelocatableImmediate on ARM32 as a special case (IF_T2_N3) (#19013)

* Add IF_T2_N3 instruction form and make this a specific case of IF_T2_N when EA_IS_RELOC(attr) is true
* Move "movw/movt reg,relocatableImm" case to function emitIns_MovRelocatableImmediate
* Introduce new instruction descriptor instrDescReloc
* Delete unused CnsVal from ARM32 and ARM64 emitters
* Introduce target_ssize_t and use this type for non-relocatable constants

6 years agoMerge pull request #19274 from MattGal/remove-ubuntu-1710
Matt Galbraith [Fri, 3 Aug 2018 17:37:53 +0000 (10:37 -0700)]
Merge pull request #19274 from MattGal/remove-ubuntu-1710

Remove EOL Ubuntu 17.10

6 years agoRemove EOL Ubuntu 17.10
Matt Galbraith [Fri, 3 Aug 2018 17:32:08 +0000 (10:32 -0700)]
Remove EOL Ubuntu 17.10

6 years agoMerge pull request #19259 from MattGal/update-fedoras
Matt Galbraith [Fri, 3 Aug 2018 17:20:28 +0000 (10:20 -0700)]
Merge pull request #19259 from MattGal/update-fedoras

Remove Fedora 26, add Fedora 28

6 years agoBuild managed tests with dotnet (#19254)
Chris Sienkiewicz [Fri, 3 Aug 2018 17:11:32 +0000 (10:11 -0700)]
Build managed tests with dotnet (#19254)

* Change managed projects to build with dotnet msbuild, rather than desktop msbuild

* Build sdk tests as AnyCPU

* Correct args passed through to dotnet for tests

* Remove extra backslash from baseIntermediateOutputPath that was causing individual test exe builds to fail

* Fix double import warning for sdk projects

* Add default params from config.json to build-test dotnet invocations

* Fix priority argument passing from the command line for tests

6 years agoMerge pull request #18223 from mikedn/inc-codegen
Bruce Forstall [Fri, 3 Aug 2018 16:32:41 +0000 (09:32 -0700)]
Merge pull request #18223 from mikedn/inc-codegen

Get rid of codegenlinear.h and x86_instrs.h

6 years agoFix resolveVirtualMethodHelper to check for explicit override cases
Andy Ayers [Fri, 3 Aug 2018 02:20:48 +0000 (19:20 -0700)]
Fix resolveVirtualMethodHelper to check for explicit override cases

Explicit method overrides in a class can override a virtual final method
with different method. This is only possible if the different method
first is introduced in a new slot. So when devirtualizing, verify that the
slot of the derived method matches the slot of the base method.

If they don't match, just bail on devirtualizing.

Fixes #19222.

6 years agoFix interop test targets
Morgan Brown [Fri, 3 Aug 2018 02:04:45 +0000 (19:04 -0700)]
Fix interop test targets

Fix interop test targets

Remove TargetFramework from Interop.settings.targets since it already gets handled by the build environment and 2.0 doesn't work.

6 years agoMoved NativeCallable Attribute to shared (#19258)
Anirudh Agnihotry [Fri, 3 Aug 2018 00:34:32 +0000 (17:34 -0700)]
Moved NativeCallable Attribute to shared (#19258)

6 years agoUpdate debugging doc with symbol downloader instructions. (#19262)
Mike McLaughlin [Fri, 3 Aug 2018 00:04:45 +0000 (17:04 -0700)]
Update debugging doc with symbol downloader instructions. (#19262)

6 years agoRemove unused/nop/questionable code (#19239)
Aaron Robinson [Thu, 2 Aug 2018 23:27:46 +0000 (16:27 -0700)]
Remove unused/nop/questionable code (#19239)

* Remove unused holder code

* Remove NOP `IsV2RuntimeLoaded()` usage.

* Remove unused/nop/questionable code in util

* Remove unused V2Profiler message from resource

6 years agoRemove Fedora 26, add Fedora 28
Matt Galbraith [Thu, 2 Aug 2018 21:56:29 +0000 (14:56 -0700)]
Remove Fedora 26, add Fedora 28

6 years agoMake `Vector64<T>`, `Vector128<T>`, and `Vector256<T>` readonly
Tanner Gooding [Thu, 2 Aug 2018 16:16:11 +0000 (09:16 -0700)]
Make `Vector64<T>`, `Vector128<T>`, and `Vector256<T>` readonly

6 years agoMerge pull request #19115 from dotnet/dev/unix_test_workflow
Bruce Forstall [Thu, 2 Aug 2018 20:30:23 +0000 (13:30 -0700)]
Merge pull request #19115 from dotnet/dev/unix_test_workflow

Enable Windows ARM64 builds using release product tools

6 years agoFix VSTS build's tests on Alpine
Russ Keldorph [Thu, 2 Aug 2018 17:02:11 +0000 (10:02 -0700)]
Fix VSTS build's tests on Alpine

Earlier changes to rename alpine stuff to musl seems to have missed this change

Fixes #19179

6 years agoResolving the remaining HWIntrinsics issues blocking PMI for S.P.CoreLib
Tanner Gooding [Thu, 2 Aug 2018 15:30:50 +0000 (08:30 -0700)]
Resolving the remaining HWIntrinsics issues blocking PMI for S.P.CoreLib

6 years agoGet rid of x86_instrs.h
Mike Danes [Thu, 31 May 2018 20:30:17 +0000 (23:30 +0300)]
Get rid of x86_instrs.h

6 years agoGet rid of codegenlinear.h
Mike Danes [Thu, 31 May 2018 20:19:47 +0000 (23:19 +0300)]
Get rid of codegenlinear.h

6 years agoMerge pull request #19249 from BruceForstall/DisableFailingTests
Bruce Forstall [Thu, 2 Aug 2018 16:09:53 +0000 (09:09 -0700)]
Merge pull request #19249 from BruceForstall/DisableFailingTests

Disable failing ARM tests

6 years agoDisable failing ARM tests
Bruce Forstall [Thu, 2 Aug 2018 16:08:46 +0000 (09:08 -0700)]
Disable failing ARM tests

6 years agoMerge pull request #19234 from CarolEidt/Fix19124
Carol Eidt [Thu, 2 Aug 2018 16:03:00 +0000 (09:03 -0700)]
Merge pull request #19234 from CarolEidt/Fix19124

Handle COMMA nodes when morphing struct args

6 years agoUpdate BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03101-02, preview1...
dotnet-maestro-bot [Thu, 2 Aug 2018 16:02:18 +0000 (09:02 -0700)]
Update BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03101-02, preview1-26802-01, preview1-26802-01, preview1-26801-04, master-20180801-0056, respectively (master) (#19162)

* Update BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03101-02, preview1-26802-01, preview1-26802-01, preview1-26801-04, master-20180801-0056, respectively

* Disable tests failing on active issue

6 years agoFix broken link (#19244)
Alex Novgorodov [Thu, 2 Aug 2018 15:49:23 +0000 (18:49 +0300)]
Fix broken link (#19244)

6 years agoAdd arm32 tp (#19098)
Michelle McDaniel [Thu, 2 Aug 2018 14:28:01 +0000 (07:28 -0700)]
Add arm32 tp (#19098)

* Add Arm32 support to throughput scripts

6 years agoEnable Windows ARM32 and ARM64 Debug builds as default PR triggered
Bruce Forstall [Wed, 25 Jul 2018 18:33:54 +0000 (11:33 -0700)]
Enable Windows ARM32 and ARM64 Debug builds as default PR triggered

These will be PR triggered for all users, not just those on the
arm64Users list. Since these are Build only, and do no testing,
with the change to use public VS2017 build tools, they can be run
by anyone.

Users on the arm64Users list will still get Checked Build and Test
jobs, which require using the private test machines.

6 years agoEnable ARM64 builds using release product tools
Bruce Forstall [Sat, 7 Jul 2018 00:19:32 +0000 (17:19 -0700)]
Enable ARM64 builds using release product tools

Remove support for specifying the toolset directory for arm64,
which was used to point to an internal toolset.

Building for arm64 now works just like the other platforms, e.g.
invoke `build arm64`.

The requirements:
. Visual Studio 2017 Update 4 or later, with ARM64 toolset installed
. Windows SDK 10.0.17134.0 or later
. CMake 3.10 or later

6 years agoMerge pull request #19241 from BruceForstall/Revert19230
Bruce Forstall [Thu, 2 Aug 2018 05:32:24 +0000 (22:32 -0700)]
Merge pull request #19241 from BruceForstall/Revert19230

Revert "Build managed tests with dotnet (#19230)"

6 years agoRevert "Build managed tests with dotnet (#19230)"
Bruce Forstall [Thu, 2 Aug 2018 05:27:56 +0000 (22:27 -0700)]
Revert "Build managed tests with dotnet (#19230)"

This reverts commit 763142a210d858289d30365dd1d4f2772e48f30d.

6 years agoUse 16 bytes to spill SIMD12 (#19237)
Carol Eidt [Thu, 2 Aug 2018 04:59:18 +0000 (21:59 -0700)]
Use 16 bytes to spill SIMD12 (#19237)

On 64-bit systems, SIMD12 locals are naturally rounded to 16 bytes, but the spill temp logic was not doing the same.

Fix #19197

6 years agoformatting
Carol Eidt [Thu, 2 Aug 2018 00:41:31 +0000 (17:41 -0700)]
formatting

6 years agoMerge pull request #19181 from BruceForstall/UpdateComment
Bruce Forstall [Thu, 2 Aug 2018 00:38:09 +0000 (17:38 -0700)]
Merge pull request #19181 from BruceForstall/UpdateComment

Update arm64 comment for IsCallTargetInRange function

6 years agoAllow rejit on attach (#19054)
David Mason [Wed, 1 Aug 2018 23:53:33 +0000 (16:53 -0700)]
Allow rejit on attach (#19054)

* change profiler rejit to be enabled by default, and also change the debugger to only give up on setting a breakpoint if a method has been rejitted, rather than just whenever rejit is on

* copy corprof changes to the pal version, and change rejit so it is allowable on attach

* Change GetILFunctionBody/SetILFunctionBody to be allowed after attach

* Also make RequestRevert allowable on attach

* change lock order and switch from GC_NOTRIGGER to GC_TRIGGERS in Rejit codepath through the codeversionmanager

* make GetReJITIDs callable after attach

* change profiler rejit to be enabled by default, and also change the debugger to only give up on setting a breakpoint if a method has been rejitted, rather than just whenever rejit is on

* copy corprof changes to the pal version, and change rejit so it is allowable on attach

* Change GetILFunctionBody/SetILFunctionBody to be allowed after attach

* Also make RequestRevert allowable on attach

* change lock order and switch from GC_NOTRIGGER to GC_TRIGGERS in Rejit codepath through the codeversionmanager

* make GetReJITIDs callable after attach

* rename value to enable/disable rejit on attach, and cache values of profiler rejit and config value

* Change places where the jit checks for rejit being enabled to actually check for what it wants, which is whether jump stamps are enabled

* get rid of old value that was readded by merge somehow

* disallow detach after setting rejit event mask, and prevent it from being set if rejit on attach is turned off

* fix incorrect assert

* Take the codemanager lock in SetIP

6 years agoHandle COMMA nodes when morphing struct args
Carol Eidt [Wed, 1 Aug 2018 23:44:41 +0000 (16:44 -0700)]
Handle COMMA nodes when morphing struct args

Fix #19124

6 years agoProvide a desktop-only implementation of RuntimeThread.CurrentOSThreadId for Microsof...
Brian Robbins [Wed, 1 Aug 2018 19:48:42 +0000 (12:48 -0700)]
Provide a desktop-only implementation of RuntimeThread.CurrentOSThreadId for Microsoft.Diagnostics.Tracing.EventSource.Redist.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoBuild managed tests with dotnet (#19230)
Chris Sienkiewicz [Wed, 1 Aug 2018 23:13:39 +0000 (16:13 -0700)]
Build managed tests with dotnet (#19230)

* Change managed projects to build with dotnet msbuild, rather than desktop msbuild

* Build sdk tests as AnyCPU

* Correct args passed through to dotnet for tests

* Remove extra backslash from baseIntermediateOutputPath that was causing individual test exe builds to fail

* Fix double import warning for sdk projects

* Add default params from config.json to build-test dotnet invocations

6 years agoFix value number update in fgMorphCast. (#19226)
Eugene Rozenfeld [Wed, 1 Aug 2018 22:48:41 +0000 (15:48 -0700)]
Fix value number update in fgMorphCast. (#19226)

removing GT_CAST nodes. It caused a problem for cases
where GT_CAST operand is a constant (e.g., GT_CNS_INT). In these
cases the value number shouldn't change since there is an
assumption that constant nodes have known constant value numbers.

The bug was found by ILGEN, I created a corresponding C# repro.
Without the fix this assert fires: https://github.com/dotnet/coreclr/blob/1f28125ad1f9975fbe68dd6839908aa6e63fc43b#gitext://gotocommit/1f28125ad1f9975fbe68dd6839908aa6e63fc43b/src/jit/assertionprop.cpp#L2687

The fix is to update value numbers only when we changed the operand of GT_CAST and
value number wasn't updated otherwise (e.g., in optNarrowTree).

I verified no x64 diffs in
jit-diff diff  --pmi --tests --frameworks
(with pri0 and pri1 tests).

6 years agoExpose OSThreadId and TimeStamp on EventWrittenEventArgs (#19002)
Brian Robbins [Wed, 1 Aug 2018 18:38:39 +0000 (11:38 -0700)]
Expose OSThreadId and TimeStamp on EventWrittenEventArgs (#19002)

* Add EventWrittenEventArgs public properties OSThreadId and TimeStamp and plumb through OSThreadId.

* Plumb ActivityId and RelatedActivityId to EventListener.

6 years agobuild-test - fix ilasm warnings caused by missing/incorrect extern assembly declarati...
Jacek Blaszczynski [Wed, 1 Aug 2018 18:10:05 +0000 (20:10 +0200)]
build-test - fix ilasm warnings caused by missing/incorrect extern assembly declarations (#19188)

* build-test - fix ildasm warnings caused by missing or incorrect extern assembly declarations

white space was fixed in all files which were edited (tabs -> spaces, no white space at the end of line)

* Remove unnecessary assembly declaration metadata

6 years agoUse the identified python when building System.Private.CoreLib (#19043)
Omair Majid [Wed, 1 Aug 2018 16:02:53 +0000 (12:02 -0400)]
Use the identified python when building System.Private.CoreLib (#19043)

build.sh and build.cmd contain logic to identify a working version of
python to use. System.Private.CoreLib ignores that and directly invokes
'python', which may not work, or even execute a different program.

6 years agoCross-bitness in GcInfoEncoder::Build() (#19206)
Egor Chesakov [Wed, 1 Aug 2018 15:54:36 +0000 (08:54 -0700)]
Cross-bitness in GcInfoEncoder::Build() (#19206)

* Remove dead code in BitArray
* Replace size_t with uint32_t in BitArray

6 years agoAdd a spec for tiered compilation (#19207)
Noah Falk [Wed, 1 Aug 2018 08:04:53 +0000 (01:04 -0700)]
Add a spec for tiered compilation (#19207)

Add a spec for tiered compilation

6 years agoFix build break
Jan Kotas [Tue, 31 Jul 2018 22:37:26 +0000 (15:37 -0700)]
Fix build break

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoDelete dead code (#19208)
Jan Kotas [Tue, 31 Jul 2018 21:47:23 +0000 (14:47 -0700)]
Delete dead code (#19208)

- IsAppXDesignMode is always false
- Win32Res class is never used

6 years agoDelete FEATURE_IPCMAN (#19212)
Jan Kotas [Tue, 31 Jul 2018 21:46:29 +0000 (14:46 -0700)]
Delete FEATURE_IPCMAN (#19212)

6 years agoJIT: fast path for minopts/debug codegen in lvaMarkRefs (#19103)
Andy Ayers [Tue, 31 Jul 2018 21:31:28 +0000 (14:31 -0700)]
JIT: fast path for minopts/debug codegen in lvaMarkRefs (#19103)

For minopts and debug codegen, consider all locals to be implicitly
referenced.

This is set up during `lvaMarkLocalVars` and maintained after that
by having `incRefCnts` set the implicit reference bit and not doing
anything in `decRefCnts` for minopts / debug.

Likewise suppress local var sorting, as we don't have accurate counts
to go by.

6 years agoUpdating SetCpuInfo to be more accurate
Tanner Gooding [Sat, 28 Jul 2018 17:37:59 +0000 (10:37 -0700)]
Updating SetCpuInfo to be more accurate

6 years agoR2RDump - Fix and update R2RDumpTests (#19039)
Amy [Tue, 31 Jul 2018 19:21:07 +0000 (12:21 -0700)]
R2RDump - Fix and update R2RDumpTests (#19039)

* Fix GenericFunctions and MultipleRuntimeFunctions tests, x86 nwindInfo tests

* Fix tests

* Avoid using rva as index

* Update expected xml

* Add count as an attribute

* Clean up and move rebaseline script to r2rdump test directory

* Remove R2RDumpTest warnings

* Use original test framework instead of netcoreapp2.0

6 years agoAdd netcoreapp dependencies (#19177)
Chris Sienkiewicz [Tue, 31 Jul 2018 18:23:43 +0000 (11:23 -0700)]
Add netcoreapp dependencies (#19177)

* Add MicrosoftNETCoreAppPackageVersion to dependencies.props
- Add MicrosoftNETCoreAppPackageVersion property
- Add required coresetup dependency build infos

* Change test projects to use new MicrosoftNETCoreAppPackageVersion property

6 years agoExpose the x86 HWIntrinsics via a set of class hierarchies matching the underlying...
Tanner Gooding [Sat, 28 Jul 2018 15:39:08 +0000 (08:39 -0700)]
Expose the x86 HWIntrinsics via a set of class hierarchies matching the underlying ISA hierarchies

6 years agoMoving the ilproj sdk to be built/published under the TargetsWindows condition
Tanner Gooding [Mon, 30 Jul 2018 20:26:09 +0000 (13:26 -0700)]
Moving the ilproj sdk to be built/published under the TargetsWindows condition

6 years agoFix HW intrinsics test projects naming and optimization levels according to repo...
Jacek Blaszczynski [Sun, 29 Jul 2018 01:11:48 +0000 (03:11 +0200)]
Fix HW intrinsics test projects naming and optimization levels according to repo conventions

6 years agoTemporarily flag a SIMD test as optimization-sensitive (#19163)
Koundinya Veluri [Mon, 30 Jul 2018 19:23:32 +0000 (12:23 -0700)]
Temporarily flag a SIMD test as optimization-sensitive (#19163)

The test runs in several PR-triggered jobs. It fails with minopts and once tiering is enabled it would fail in every PR. See https://github.com/dotnet/coreclr/issues/19124.

6 years agoChange type of EnumLocaleData to struct (#19193)
Jan Kotas [Mon, 30 Jul 2018 14:16:11 +0000 (07:16 -0700)]
Change type of EnumLocaleData to struct (#19193)

Saves allocation and makes the code smaller. It had to be class before we had ref locals.

6 years agoFix invalid IntPtr == null comparisons, set strict mode for Roslyn (#19191)
Jacek Blaszczynski [Mon, 30 Jul 2018 00:56:32 +0000 (02:56 +0200)]
Fix invalid IntPtr == null comparisons, set strict mode for Roslyn (#19191)

Issue reported in https://github.com/dotnet/corefx/issues/31456
Solution is to compare always against IntPtr.Zero and use Roslyn
stric mode for reporting warnings for IntPtr == null comparisons

6 years agoAdded version increment for TrimExcess and EnsureCapacity (#19096)
Dávid Kaya [Sat, 28 Jul 2018 04:14:32 +0000 (06:14 +0200)]
Added version increment for TrimExcess and EnsureCapacity (#19096)

* Added version increment for TrimExcess and EnsureCapacity

* Added old unit test to exclusion list

* Excluded missing unit tests

6 years agobuild-test - fix TestWrapper CS warnings (#19180)
Jacek Blaszczynski [Sat, 28 Jul 2018 03:50:55 +0000 (05:50 +0200)]
build-test - fix TestWrapper CS warnings (#19180)

6 years agospmi: exclude methods using a file with saved md5 hashes. (#18769)
Sergey Andreenko [Sat, 28 Jul 2018 01:44:32 +0000 (18:44 -0700)]
spmi: exclude methods using a file with saved md5 hashes. (#18769)

* read md5, linear search for each method.

* rewrite with HANDLE

* fix linux

* do not waste time dumping md5 if no methods exluded

6 years agoMerge pull request #19165 from BruceForstall/FixCodeGenBringUpTestsBuilds
Bruce Forstall [Sat, 28 Jul 2018 00:21:03 +0000 (17:21 -0700)]
Merge pull request #19165 from BruceForstall/FixCodeGenBringUpTestsBuilds

Specify specific build flavors for CodeGenBringUpTests tests

6 years agoAdd comment explaining the return value of ToUpper/ToLower (#19176)
Ahson Khan [Sat, 28 Jul 2018 00:18:29 +0000 (17:18 -0700)]
Add comment explaining the return value of ToUpper/ToLower (#19176)

6 years agoUpdate arm64 comment for IsCallTargetInRange function
Bruce Forstall [Fri, 27 Jul 2018 23:59:14 +0000 (16:59 -0700)]
Update arm64 comment for IsCallTargetInRange function

6 years agoLowering: Atomic ops can produce a value (#19173)
Carol Eidt [Fri, 27 Jul 2018 23:19:48 +0000 (16:19 -0700)]
Lowering: Atomic ops can produce a value (#19173)

* Lowering: Atomic ops can produce a value

#18887 changed OperIsStore to include the atomic functions, but `Lowering::LowerArg()` and `Lowering::CheckCallArg()` assume that stores do not produce a value, so it doesn't correctly set the argument register (or build a `PUTARG_REG`) for the case where the result of an atomic op is passed to a call.
Fix this and add additional asserts.

Fix #19171

6 years agoUpdating emitInsCanOnlyWriteSSE2OrAVXReg to cover some of the newer instructions.
Tanner Gooding [Thu, 26 Jul 2018 16:00:34 +0000 (09:00 -0700)]
Updating emitInsCanOnlyWriteSSE2OrAVXReg to cover some of the newer instructions.

6 years agoMerge pull request #19145 from CarolEidt/Fix19081
Carol Eidt [Fri, 27 Jul 2018 20:26:30 +0000 (13:26 -0700)]
Merge pull request #19145 from CarolEidt/Fix19081

Include long shifts in OperIsShiftOrRotate

6 years agoSpecify specific build flavors for CodeGenBringUpTests tests
Bruce Forstall [Fri, 27 Jul 2018 17:13:21 +0000 (10:13 -0700)]
Specify specific build flavors for CodeGenBringUpTests tests

Don't let them "float" based on the current build type.

Update the arm/arm64 tests.lst files to use the new `_ro` versions.
It is expected these files will disappear soon, so don't add all
the new versions to them.

Fixes #9722

6 years agoJIT: add extra check to struct of struct of x promotion (#19156)
Andy Ayers [Fri, 27 Jul 2018 18:09:02 +0000 (11:09 -0700)]
JIT: add extra check to struct of struct of x promotion (#19156)

Avoid promoting structs that contain struct fields that themselves
wrap single simple fields, if those single simple fields are smaller
than their enclosing struct.

Otherwise we run the risk of losing track of the "extra" bytes in the
innner struct.

Addresses #19149.

6 years agoAdd CI PR-triggered Ubuntu x64 innerloop no-tiering job (#19123)
Koundinya Veluri [Fri, 27 Jul 2018 16:54:40 +0000 (09:54 -0700)]
Add CI PR-triggered Ubuntu x64 innerloop no-tiering job (#19123)

6 years agoMerge pull request #19154 from BruceForstall/FixArm64Localloc
Bruce Forstall [Fri, 27 Jul 2018 16:25:54 +0000 (09:25 -0700)]
Merge pull request #19154 from BruceForstall/FixArm64Localloc

Fix overallocation of arm64 small constant localloc

6 years agoUpdate CoreClr, CoreFx, PgoData to preview1-26727-01, preview1-26727-01, master-20180...
dotnet-maestro-bot [Fri, 27 Jul 2018 13:29:25 +0000 (06:29 -0700)]
Update CoreClr, CoreFx, PgoData to preview1-26727-01, preview1-26727-01, master-20180727-0226, respectively (#19102)

6 years agoReference in box HW intrinsics (#19137)
Jacek Blaszczynski [Fri, 27 Jul 2018 05:35:51 +0000 (07:35 +0200)]
Reference in box HW intrinsics (#19137)

* Update BuildTools, CoreClr, CoreFx, PgoData to preview1-03025-01, preview1-26726-01, preview1-26725-04, master-20180726-0111, respectively

* Reference System.Runtime.Intrinsics in box package

* Disable X509Certificates tests for CoreFX update

6 years agoMerge pull request #19144 from BruceForstall/Fix13796
Bruce Forstall [Fri, 27 Jul 2018 04:42:30 +0000 (21:42 -0700)]
Merge pull request #19144 from BruceForstall/Fix13796

Re-enable arm64 tests that no longer fail

6 years agoFixing the x86 hwintrinsics to not assert for invalid generic types.
Tanner Gooding [Thu, 26 Jul 2018 20:46:48 +0000 (13:46 -0700)]
Fixing the x86 hwintrinsics to not assert for invalid generic types.

6 years agoFix overallocation of arm64 small constant localloc
Bruce Forstall [Thu, 26 Jul 2018 23:18:44 +0000 (16:18 -0700)]
Fix overallocation of arm64 small constant localloc

We were dividing the number of bytes to allocate by 8 (right shift by 3)
to determine the number of loops, then allocating and zeroing 16 bytes
per loop.

Simplify this by removing the number of `STACK_ALIGN_SHIFT` cases we have.

Add a small test case that exhibits this behavior.

Fixes #4571

6 years agoMerge pull request #19153 from adityamandaleeka/fix_buildtest_help
Aditya Mandaleeka [Thu, 26 Jul 2018 23:04:13 +0000 (16:04 -0700)]
Merge pull request #19153 from adityamandaleeka/fix_buildtest_help

Fix batch syntax error in help text

6 years agoFix syntax error in help text.
Aditya Mandaleeka [Thu, 26 Jul 2018 22:56:01 +0000 (15:56 -0700)]
Fix syntax error in help text.

6 years agoreenable corefx System.Runtime.Tests on arm32 (#19128)
Sergey Andreenko [Thu, 26 Jul 2018 22:46:53 +0000 (15:46 -0700)]
reenable corefx System.Runtime.Tests  on arm32 (#19128)

#17585 the issue was fixed long time ago, but this exclusion was forgotten.

6 years agoAdding the Microsoft.NET.Sdk.IL pkgproj
Tanner Gooding [Fri, 20 Jul 2018 20:33:10 +0000 (13:33 -0700)]
Adding the Microsoft.NET.Sdk.IL pkgproj

6 years agoInclude long shifts in OperIsShiftOrRotate
Carol Eidt [Thu, 26 Jul 2018 20:44:47 +0000 (13:44 -0700)]
Include long shifts in OperIsShiftOrRotate

The register allocator uses `OperIsShiftOrRotate` as the assertion for the method that gets the kills for the class of instructions that use RCX as the shift amount register. Expand it to include `RSH_LO` and `LSH_HI`.

Fix #19081

6 years agoRe-enable arm64 tests that no longer fail
Bruce Forstall [Thu, 26 Jul 2018 20:37:20 +0000 (13:37 -0700)]
Re-enable arm64 tests that no longer fail

Fixes #13796, #12549

Note that test GitHub_11408 is still disabled, now against issue #11408.

6 years agoSwitch to using MicrosoftNETCorePlatformsPackageVersion as the RuntimeFrameworkVersio...
Chris Sienkiewicz [Thu, 26 Jul 2018 16:57:19 +0000 (09:57 -0700)]
Switch to using MicrosoftNETCorePlatformsPackageVersion as the RuntimeFrameworkVersion parameter in the test wrappers and SDK props file (#19130)

6 years agoUpdate CoreFX documentation (#19092)
Andon Andonov [Thu, 26 Jul 2018 02:10:17 +0000 (19:10 -0700)]
Update CoreFX documentation (#19092)

* Update CoreFX documentation

* Add test binary refresh and parallelization sections

* Add test exclusion information

6 years agoSdk test projects (#19044)
Chris Sienkiewicz [Wed, 25 Jul 2018 18:13:27 +0000 (11:13 -0700)]
Sdk test projects (#19044)

Change the associated targets and props files in the test directory to allow the test csproj's to be built as SDK style projects alongside traditional style projects.

Remove CodeTaskFactory:
- Allows the projects to be built using the core version of msbuild/dotnet build
- Converted to using msbuild property expansion instead

Add directory.build.{props,targets}:
- Currently we just import the dirs.props and targets, but means SDK style projects don't need to explicitly include these files
- We probably want to move all projects over to using these in the future, but this keeps the changes smaller for now

Specific code for SDK projects:
- There are a several changes required to build an SDK project. This change guards them behind conditionals so that only the new style projects see them. When we get to the point that there are only new projects, we can remove the guards (probably at the same time as ditching the dir.props)

Reordered build targets:
- Because SDK projects implicitly import the build targets, we can no longer re-define the build targets unconditionally knowing they will likely be overwritten.
- Instead we move the overwritten targets to separate files, and include these conditionally based on properties. In this way there is always a build defined for SDK projects, which can then be overwritten to do nothing as needed.

6 years agoRemoving duplicate CoreCLRTestLibrary project references
Tanner Gooding [Fri, 20 Jul 2018 18:07:30 +0000 (11:07 -0700)]
Removing duplicate CoreCLRTestLibrary project references

6 years agoRegenerating the x86 HWIntrinsic templated tests
Tanner Gooding [Fri, 20 Jul 2018 17:52:21 +0000 (10:52 -0700)]
Regenerating the x86 HWIntrinsic templated tests