platform/upstream/coreclr.git
6 years agoFillRegDisplay: initialize volatileCurrContextPointers for ARM and ARM64 (#19332)
Konstantin Baladurin [Tue, 7 Aug 2018 23:25:07 +0000 (02:25 +0300)]
FillRegDisplay: initialize volatileCurrContextPointers for ARM and ARM64 (#19332)

We need to initialize volatileCurrContextPointers because they could be
used by GC in the case of the leaf frame. This patch fixes crashes during
GC when we are single stepping using managed debugger.

6 years agoR2RDump - Tests for Debug, avoid copying expected xml files (#19321)
Amy [Tue, 7 Aug 2018 22:06:01 +0000 (15:06 -0700)]
R2RDump - Tests for Debug, avoid copying expected xml files (#19321)

* Add Debug expected xml, pass xml path to R2RDumpTest

* Pass expected xml path as argument

* Remove copy expected xml, clean up

6 years agoAdd basic check that the correct number of tests is built (#19290)
Bruce Forstall [Tue, 7 Aug 2018 21:58:12 +0000 (14:58 -0700)]
Add basic check that the correct number of tests is built (#19290)

Fixes #19286

6 years agoMerge pull request #19336 from dotnet/dev/unix_test_workflow
Bruce Forstall [Tue, 7 Aug 2018 21:43:39 +0000 (14:43 -0700)]
Merge pull request #19336 from dotnet/dev/unix_test_workflow

Update vc-runtime package used by Windows ARM/ARM64 testing

6 years agoMerge pull request #19325 from AndyAyersMS/RecomputeRefCounts2
Andy Ayers [Tue, 7 Aug 2018 21:42:47 +0000 (14:42 -0700)]
Merge pull request #19325 from AndyAyersMS/RecomputeRefCounts2

JIT: recompute local ref counts after lower

6 years agoMerge pull request #19335 from AndyAyersMS/FixDumpIssue
Andy Ayers [Tue, 7 Aug 2018 21:19:29 +0000 (14:19 -0700)]
Merge pull request #19335 from AndyAyersMS/FixDumpIssue

fix bug in jit dump output

6 years agoAdd support to use an indirected address for JMP instructions to ARM64 (#19281)
David Wrighton [Tue, 7 Aug 2018 20:49:03 +0000 (13:49 -0700)]
Add support to use an indirected address for JMP instructions to ARM64 (#19281)

* Add support to use an indirected address for JMP instructions to ARM64
- Merge logic between ARM and ARM64

6 years agoMerge pull request #19291 from BruceForstall/CleanUpBuildCmd
Bruce Forstall [Tue, 7 Aug 2018 19:35:11 +0000 (12:35 -0700)]
Merge pull request #19291 from BruceForstall/CleanUpBuildCmd

Clean up build.cmd/build-test.cmd/runtest.cmd

6 years agofix bug in jit dump output
Andy Ayers [Tue, 7 Aug 2018 18:25:00 +0000 (11:25 -0700)]
fix bug in jit dump output

6 years agoUpdate BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03106-01, preview1...
dotnet-maestro-bot [Tue, 7 Aug 2018 05:37:31 +0000 (22:37 -0700)]
Update BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03106-01, preview1-26806-04, preview1-26806-04, preview1-26806-01, master-20180802-0110, respectively (master) (#19263)

* Update BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03106-01, preview1-26806-04, preview1-26806-04, preview1-26806-01, master-20180802-0110, respectively

* Disable outdated tests

6 years agoJIT: recompute local ref counts after lower
Andy Ayers [Thu, 2 Aug 2018 18:23:27 +0000 (11:23 -0700)]
JIT: recompute local ref counts after lower

Update `lvaComputeRefCounts` to encapsulate running ref counts post-lower
and to also handle the fast jitting cases.

Invoke this after lower to provide recomputed (and more accurate) counts.

Part of #18969.

6 years agoJIT: refactor ref count computation into a reusable utility method (#19240)
Andy Ayers [Tue, 7 Aug 2018 01:55:56 +0000 (18:55 -0700)]
JIT: refactor ref count computation into a reusable utility method (#19240)

Extract out the basic ref count computation into a method that we
can conceptually call later on if we want to recompute counts.

Move one existing RCS_EARLY count for promoted fields of register
args into this recomputation since losing this count bump causes
quite a few diffs.

The hope is to eventually call this method again later in the jit
phase pipeline and then possibly get rid of all the (non-early)
incremental count maintenance we do currently.

Part of #18969

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 agoMerge pull request #19319 from BruceForstall/UpdateArmCrtDependendencies
Bruce Forstall [Tue, 7 Aug 2018 00:34:34 +0000 (17:34 -0700)]
Merge pull request #19319 from BruceForstall/UpdateArmCrtDependendencies

Update vc-runtime package to support ARM and ARM64 with current builds

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 ago[WIP] Update vc-runtime package to support ARM and ARM64 with current builds.
Bruce Forstall [Fri, 3 Aug 2018 03:34:21 +0000 (20:34 -0700)]
[WIP] Update vc-runtime package to support ARM and ARM64 with current builds.

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 agoClean up build.cmd/build-test.cmd/runtest.cmd
Bruce Forstall [Sat, 4 Aug 2018 23:45:59 +0000 (16:45 -0700)]
Clean up build.cmd/build-test.cmd/runtest.cmd

Various minor cleanups:
1. Use the same naming/style for all three.
2. Make the style consistent throughout each. E.g., consistent indents,
   capitalization.
3. Add more consistent output, including the prefix tag used everywhere.
4. build.cmd: only build cross components if native build is enabled.
5. Use new __Logging variable to consolidate all logging arguments,
   to reduce large (unexpanded) command line lengths.

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)