Andy Ayers [Tue, 7 Aug 2018 18:25:00 +0000 (11:25 -0700)]
fix bug in jit dump output
Commit migrated from https://github.com/dotnet/coreclr/commit/
d050a4eae353ae82fb56f34aa8f0afb772fc3181
Andy Ayers [Tue, 7 Aug 2018 01:55:56 +0000 (18:55 -0700)]
JIT: refactor ref count computation into a reusable utility method (dotnet/coreclr#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 dotnet/coreclr#18969
Commit migrated from https://github.com/dotnet/coreclr/commit/
aa1d28a7b24f896df4a389db5f8fa984e84764b7
Michelle McDaniel [Tue, 7 Aug 2018 01:46:02 +0000 (18:46 -0700)]
Fix throughput testing (dotnet/coreclr#19314)
Also adds architecture to throughput trigger phrase.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e1e525663ce21ec6aff28fbc8302cede65a49352
Amy [Tue, 7 Aug 2018 00:28:39 +0000 (17:28 -0700)]
R2RDumpTests on Windows_NT.x64.Release (dotnet/coreclr#19315)
Commit migrated from https://github.com/dotnet/coreclr/commit/
1f24e7adf2d2a238d094437acf7fb23a455f5409
Bruce Forstall [Tue, 7 Aug 2018 00:16:58 +0000 (17:16 -0700)]
Merge pull request dotnet/coreclr#19318 from BruceForstall/AddDavidArm64
Update arm64 users list
Commit migrated from https://github.com/dotnet/coreclr/commit/
0852f328303edf7a94e617cd5171102e9b03156b
Bruce Forstall [Mon, 6 Aug 2018 23:02:08 +0000 (16:02 -0700)]
Update arm64 users list
Commit migrated from https://github.com/dotnet/coreclr/commit/
fb626fa5c73a283fecfa72a3f4dd5d62b7f30b78
Jan Kotas [Mon, 6 Aug 2018 22:43:30 +0000 (15:43 -0700)]
Port x86 unwinder fix from .NET Framework (dotnet/coreclr#19311)
We have not hit this case in CoreCLR yet, but there is a good chance that we will at some point.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c10efe004d8720a799bf666d3fac3b800f204848
Andy Ayers [Mon, 6 Aug 2018 21:25:12 +0000 (14:25 -0700)]
Merge pull request dotnet/coreclr#19228 from AndyAyersMS/FixDevirtFinalMethod
Fix resolveVirtualMethodHelper to check for explicit override cases
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d952c21e566ffe2fa939d452dcba7626ef3f1a4
Mike McLaughlin [Mon, 6 Aug 2018 19:16:49 +0000 (12:16 -0700)]
Only register signals and create alt exception stack in coreclr. (dotnet/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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5306f704e8b4bb30315313033880c36adca6e7f0
Tanner Gooding [Mon, 6 Aug 2018 15:08:06 +0000 (08:08 -0700)]
Regenerating the templated x86 HWIntrinsic tests.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3b9b7b6edf77819f6b9670b0857d8757e95e9fb0
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
588de48d8cf16f03654037a4638eae93a3baaccc
Andy Ayers [Mon, 6 Aug 2018 17:34:04 +0000 (10:34 -0700)]
update test case
Commit migrated from https://github.com/dotnet/coreclr/commit/
f543bcfd89a18eaa62a135f430231139cc7e4a1e
Amy [Mon, 6 Aug 2018 17:29:08 +0000 (10:29 -0700)]
R2RDump - Ignore sensitive properties to pass tests (dotnet/coreclr#19155)
* Ignore sensitive properties in tests
* Enable for JIT stress
* Keep logic for ignoreSensitive in XmlDumper
* Only ignoreSensitive when option is set
Commit migrated from https://github.com/dotnet/coreclr/commit/
c056fe7375c61b952d7f40d7d09800ea1ae0bdc1
Jeremy Kuhne [Mon, 6 Aug 2018 06:22:57 +0000 (23:22 -0700)]
Improve StreamWriter format perf (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac8f8e52c49b0ffa712d68730a41883d281bea01
Bruce Forstall [Mon, 6 Aug 2018 01:07:02 +0000 (18:07 -0700)]
Disable NETClientPrimitives test (dotnet/coreclr#19294)
* Disable NETClientPrimitives test
Fails on many R2R and JitStress jobs.
Tracked by dotnet/coreclr#19164
* Remove disabling under build against packages
Commit migrated from https://github.com/dotnet/coreclr/commit/
29b59d54f3816886742cb9aaff6b96ee0625264c
Bruce Forstall [Sat, 4 Aug 2018 03:38:39 +0000 (20:38 -0700)]
Merge pull request dotnet/coreclr#19287 from BruceForstall/Revert19254
Revert "Build managed tests with dotnet (dotnet/coreclr#19254)"
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d1e7dd8eb744b14eb4a90b401e854d7a5f79fff
Bruce Forstall [Sat, 4 Aug 2018 00:54:30 +0000 (17:54 -0700)]
Revert "Build managed tests with dotnet (dotnet/coreclr#19254)"
This reverts commit dotnet/coreclr@
101baee1010eaad47cd7afd1e041a7f422aefa78.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c8480f5058ddaf203460befc6b8f8f26daa36ba0
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
a29c8dfa26b11189566dd09ff0e268accd339b40
Anirudh Agnihotry [Fri, 3 Aug 2018 20:03:35 +0000 (13:03 -0700)]
Moved LocalVariableInfo to shared (dotnet/coreclr#19184)
* File Modified
* Moved to shared
* Introducing RuntimeLocalVariableInfo
* Build Corefx change
* sealed added
Commit migrated from https://github.com/dotnet/coreclr/commit/
b3db1041998be9c63a730240a8f16918597c0ed5
Egor Chesakov [Fri, 3 Aug 2018 19:35:33 +0000 (12:35 -0700)]
Handle MovRelocatableImmediate on ARM32 as a special case (IF_T2_N3) (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6e2b9c3b311f58497ccfc337e5925a95a2d008a
Matt Galbraith [Fri, 3 Aug 2018 17:37:53 +0000 (10:37 -0700)]
Merge pull request dotnet/coreclr#19274 from MattGal/remove-ubuntu-1710
Remove EOL Ubuntu 17.10
Commit migrated from https://github.com/dotnet/coreclr/commit/
d1c6a938e0f641f978fceb7834314ac6dba14adb
Matt Galbraith [Fri, 3 Aug 2018 17:32:08 +0000 (10:32 -0700)]
Remove EOL Ubuntu 17.10
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc50510d750c5b246e7743569c03054fd7eed50b
Matt Galbraith [Fri, 3 Aug 2018 17:20:28 +0000 (10:20 -0700)]
Merge pull request dotnet/coreclr#19259 from MattGal/update-fedoras
Remove Fedora 26, add Fedora 28
Commit migrated from https://github.com/dotnet/coreclr/commit/
6e488e82b0d12ee0c14545cd92319ad4d8e63f95
Chris Sienkiewicz [Fri, 3 Aug 2018 17:11:32 +0000 (10:11 -0700)]
Build managed tests with dotnet (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
101baee1010eaad47cd7afd1e041a7f422aefa78
Bruce Forstall [Fri, 3 Aug 2018 16:32:41 +0000 (09:32 -0700)]
Merge pull request dotnet/coreclr#18223 from mikedn/inc-codegen
Get rid of codegenlinear.h and x86_instrs.h
Commit migrated from https://github.com/dotnet/coreclr/commit/
1ef1f2a27c2e79ce0eaab59a6cefe84d8a79fc95
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 dotnet/coreclr#19222.
Commit migrated from https://github.com/dotnet/coreclr/commit/
50584f2129b7b76a6567bce8879031cf974af15e
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
134b906abc87dbd78ddc49f7068ce5e6a06dc8e8
Anirudh Agnihotry [Fri, 3 Aug 2018 00:34:32 +0000 (17:34 -0700)]
Moved NativeCallable Attribute to shared (dotnet/coreclr#19258)
Commit migrated from https://github.com/dotnet/coreclr/commit/
779217b3add24853a450eda4bf37b69450fd1564
Mike McLaughlin [Fri, 3 Aug 2018 00:04:45 +0000 (17:04 -0700)]
Update debugging doc with symbol downloader instructions. (dotnet/coreclr#19262)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d048edf79f9932acd0a16c4ce9c91f1cbc7e139b
Aaron Robinson [Thu, 2 Aug 2018 23:27:46 +0000 (16:27 -0700)]
Remove unused/nop/questionable code (dotnet/coreclr#19239)
* Remove unused holder code
* Remove NOP `IsV2RuntimeLoaded()` usage.
* Remove unused/nop/questionable code in util
* Remove unused V2Profiler message from resource
Commit migrated from https://github.com/dotnet/coreclr/commit/
471f5c0c432cc1f2b7c9a84d801cfdda11f750e8
Matt Galbraith [Thu, 2 Aug 2018 21:56:29 +0000 (14:56 -0700)]
Remove Fedora 26, add Fedora 28
Commit migrated from https://github.com/dotnet/coreclr/commit/
01569f304c291e77968d854efe857a9a44c4efe7
Tanner Gooding [Thu, 2 Aug 2018 16:16:11 +0000 (09:16 -0700)]
Make `Vector64<T>`, `Vector128<T>`, and `Vector256<T>` readonly
Commit migrated from https://github.com/dotnet/coreclr/commit/
e45ee4e0236da11c7f12f1e17087aeda0d37abe6
Bruce Forstall [Thu, 2 Aug 2018 20:30:23 +0000 (13:30 -0700)]
Merge pull request dotnet/coreclr#19115 from dotnet/dev/unix_test_workflow
Enable Windows ARM64 builds using release product tools
Commit migrated from https://github.com/dotnet/coreclr/commit/
1b87d827bee297c8883c9156cd9fa857aa58e4a5
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 dotnet/coreclr#19179
Commit migrated from https://github.com/dotnet/coreclr/commit/
fecf57a0bfc8267e7ca50e9a532a83fa29ebec87
Tanner Gooding [Thu, 2 Aug 2018 15:30:50 +0000 (08:30 -0700)]
Resolving the remaining HWIntrinsics issues blocking PMI for S.P.CoreLib
Commit migrated from https://github.com/dotnet/coreclr/commit/
aff7dffc99f6bb09db8c973645a31dd120733a56
Mike Danes [Thu, 31 May 2018 20:30:17 +0000 (23:30 +0300)]
Get rid of x86_instrs.h
Commit migrated from https://github.com/dotnet/coreclr/commit/
02e0da129bb7369258ab1ed19815e18df87029d8
Mike Danes [Thu, 31 May 2018 20:19:47 +0000 (23:19 +0300)]
Get rid of codegenlinear.h
Commit migrated from https://github.com/dotnet/coreclr/commit/
6e4218687b353c3fdf0f11bd0e1651e2754a2d75
Bruce Forstall [Thu, 2 Aug 2018 16:09:53 +0000 (09:09 -0700)]
Merge pull request dotnet/coreclr#19249 from BruceForstall/DisableFailingTests
Disable failing ARM tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
65623103a533792b4f59b932e3d1866d4ad06d06
Bruce Forstall [Thu, 2 Aug 2018 16:08:46 +0000 (09:08 -0700)]
Disable failing ARM tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
e864e2f73ec1a69b8b2c2bec2305dd758aaf6346
Carol Eidt [Thu, 2 Aug 2018 16:03:00 +0000 (09:03 -0700)]
Merge pull request dotnet/coreclr#19234 from CarolEidt/Fix19124
Handle COMMA nodes when morphing struct args
Commit migrated from https://github.com/dotnet/coreclr/commit/
6a90ccab0ecf65c8af7242988f96b29712265863
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) (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
4e9874ba1cdce0bf561d5d492d53e771bc4380ac
Alex Novgorodov [Thu, 2 Aug 2018 15:49:23 +0000 (18:49 +0300)]
Fix broken link (dotnet/coreclr#19244)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f8213a8c75fb0dbd847fa4a158e7e58680672621
Michelle McDaniel [Thu, 2 Aug 2018 14:28:01 +0000 (07:28 -0700)]
Add arm32 tp (dotnet/coreclr#19098)
* Add Arm32 support to throughput scripts
Commit migrated from https://github.com/dotnet/coreclr/commit/
87e2c7bac84eb910ae68da168386e706c0d4e731
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6fc40cc8bf448ca3ad951cbec589646184f75776
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
22ba5204472650338e3d695074d1da90ee94ca87
Bruce Forstall [Thu, 2 Aug 2018 05:32:24 +0000 (22:32 -0700)]
Merge pull request dotnet/coreclr#19241 from BruceForstall/Revert19230
Revert "Build managed tests with dotnet (dotnet/coreclr#19230)"
Commit migrated from https://github.com/dotnet/coreclr/commit/
d7191b58cfc263479f57b45084097b773d8c235a
Bruce Forstall [Thu, 2 Aug 2018 05:27:56 +0000 (22:27 -0700)]
Revert "Build managed tests with dotnet (dotnet/coreclr#19230)"
This reverts commit dotnet/coreclr@
763142a210d858289d30365dd1d4f2772e48f30d.
Commit migrated from https://github.com/dotnet/coreclr/commit/
18543e3e5ac3a9e960a7b0f30f697ddb505c3613
Carol Eidt [Thu, 2 Aug 2018 04:59:18 +0000 (21:59 -0700)]
Use 16 bytes to spill SIMD12 (dotnet/coreclr#19237)
On 64-bit systems, SIMD12 locals are naturally rounded to 16 bytes, but the spill temp logic was not doing the same.
Fix dotnet/coreclr#19197
Commit migrated from https://github.com/dotnet/coreclr/commit/
de77d58b8418c787910bd5fd5fa8c1d9ad45663e
Carol Eidt [Thu, 2 Aug 2018 00:41:31 +0000 (17:41 -0700)]
formatting
Commit migrated from https://github.com/dotnet/coreclr/commit/
9c8816c8a651dc211e10dc5c5275a82ec515e8a9
Bruce Forstall [Thu, 2 Aug 2018 00:38:09 +0000 (17:38 -0700)]
Merge pull request dotnet/coreclr#19181 from BruceForstall/UpdateComment
Update arm64 comment for IsCallTargetInRange function
Commit migrated from https://github.com/dotnet/coreclr/commit/
87e9259abda877c2fb80ff54dc85f782e3c64df0
David Mason [Wed, 1 Aug 2018 23:53:33 +0000 (16:53 -0700)]
Allow rejit on attach (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
1487fa7156bfc5d3ff8def0de672003ada3ff216
Carol Eidt [Wed, 1 Aug 2018 23:44:41 +0000 (16:44 -0700)]
Handle COMMA nodes when morphing struct args
Fix dotnet/coreclr#19124
Commit migrated from https://github.com/dotnet/coreclr/commit/
3b17a68bf2825295a5f442ce9fc587930c0f07fa
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>
Commit migrated from https://github.com/dotnet/coreclr/commit/
9700313f2684c784d025a638b0ae5de4ba2dcb00
Chris Sienkiewicz [Wed, 1 Aug 2018 23:13:39 +0000 (16:13 -0700)]
Build managed tests with dotnet (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
763142a210d858289d30365dd1d4f2772e48f30d
Eugene Rozenfeld [Wed, 1 Aug 2018 22:48:41 +0000 (15:48 -0700)]
Fix value number update in fgMorphCast. (dotnet/coreclr#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/dotnet/coreclr@
1f28125ad1f9975fbe68dd6839908aa6e63fc43b#gitext://gotocommit/dotnet/coreclr@
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).
Commit migrated from https://github.com/dotnet/coreclr/commit/
fd4bd60a0b405126f0d7954861bbbc2504192bd4
Brian Robbins [Wed, 1 Aug 2018 18:38:39 +0000 (11:38 -0700)]
Expose OSThreadId and TimeStamp on EventWrittenEventArgs (dotnet/coreclr#19002)
* Add EventWrittenEventArgs public properties OSThreadId and TimeStamp and plumb through OSThreadId.
* Plumb ActivityId and RelatedActivityId to EventListener.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c4c16723a83c995838508ed7bca7fb99687f6d40
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 (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
2293351dc5eeb00681c38b3c1e5975b4d1ce3609
Omair Majid [Wed, 1 Aug 2018 16:02:53 +0000 (12:02 -0400)]
Use the identified python when building System.Private.CoreLib (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5164e76ce01fc36833a7f5e6fb7b1ec2f55c2262
Egor Chesakov [Wed, 1 Aug 2018 15:54:36 +0000 (08:54 -0700)]
Cross-bitness in GcInfoEncoder::Build() (dotnet/coreclr#19206)
* Remove dead code in BitArray
* Replace size_t with uint32_t in BitArray
Commit migrated from https://github.com/dotnet/coreclr/commit/
791403ad54828b88ae06f6226356adca14b1a530
Noah Falk [Wed, 1 Aug 2018 08:04:53 +0000 (01:04 -0700)]
Add a spec for tiered compilation (dotnet/coreclr#19207)
Add a spec for tiered compilation
Commit migrated from https://github.com/dotnet/coreclr/commit/
75e62c545ac5c7195bf846b47e28c4f27736d64c
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>
Commit migrated from https://github.com/dotnet/coreclr/commit/
3a880c978489b3875a7a6b4d910a60fb977dc84c
Jan Kotas [Tue, 31 Jul 2018 21:47:23 +0000 (14:47 -0700)]
Delete dead code (dotnet/coreclr#19208)
- IsAppXDesignMode is always false
- Win32Res class is never used
Commit migrated from https://github.com/dotnet/coreclr/commit/
c62976e0aaef8c8fb456b16f21b9fe3bd73a40a5
Jan Kotas [Tue, 31 Jul 2018 21:46:29 +0000 (14:46 -0700)]
Delete FEATURE_IPCMAN (dotnet/coreclr#19212)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d4f533b39db726cc61b0c8a5baab0f8c01c1fe7b
Andy Ayers [Tue, 31 Jul 2018 21:31:28 +0000 (14:31 -0700)]
JIT: fast path for minopts/debug codegen in lvaMarkRefs (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
46b1ebabe1536ece7b808407af1f6d1dc5b1ba73
Tanner Gooding [Sat, 28 Jul 2018 17:37:59 +0000 (10:37 -0700)]
Updating SetCpuInfo to be more accurate
Commit migrated from https://github.com/dotnet/coreclr/commit/
369e9a97ee0cce00532a03924f98723b17b4aa01
Amy [Tue, 31 Jul 2018 19:21:07 +0000 (12:21 -0700)]
R2RDump - Fix and update R2RDumpTests (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7abc0df8f22233b7974971c26ae48a93cfea7fa
Chris Sienkiewicz [Tue, 31 Jul 2018 18:23:43 +0000 (11:23 -0700)]
Add netcoreapp dependencies (dotnet/coreclr#19177)
* Add MicrosoftNETCoreAppPackageVersion to dependencies.props
- Add MicrosoftNETCoreAppPackageVersion property
- Add required coresetup dependency build infos
* Change test projects to use new MicrosoftNETCoreAppPackageVersion property
Commit migrated from https://github.com/dotnet/coreclr/commit/
f37ac492ea66ad59bb6da1be58c24c5d275c1fd5
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
2e2aba88ac8b9478be1edb23deef1d3b50e35d0d
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
a08e7c3a3a0d71626e22d00a3e3fb8140093ee7b
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
96853b2487f7fc16281c61926f007b5dd67145bf
Koundinya Veluri [Mon, 30 Jul 2018 19:23:32 +0000 (12:23 -0700)]
Temporarily flag a SIMD test as optimization-sensitive (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
855ddf52c7b05994cf6728b9169fa6cdc694a537
Jan Kotas [Mon, 30 Jul 2018 14:16:11 +0000 (07:16 -0700)]
Change type of EnumLocaleData to struct (dotnet/coreclr#19193)
Saves allocation and makes the code smaller. It had to be class before we had ref locals.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ba54b408472d7a4ded3c144d7c4791b991d58454
Jacek Blaszczynski [Mon, 30 Jul 2018 00:56:32 +0000 (02:56 +0200)]
Fix invalid IntPtr == null comparisons, set strict mode for Roslyn (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
93cf012db8396f5ea16f70b781a5de0d012fc65d
Dávid Kaya [Sat, 28 Jul 2018 04:14:32 +0000 (06:14 +0200)]
Added version increment for TrimExcess and EnsureCapacity (dotnet/coreclr#19096)
* Added version increment for TrimExcess and EnsureCapacity
* Added old unit test to exclusion list
* Excluded missing unit tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d31194880e800a9df8eef76e7a0a53646aa72d3
Jacek Blaszczynski [Sat, 28 Jul 2018 03:50:55 +0000 (05:50 +0200)]
build-test - fix TestWrapper CS warnings (dotnet/coreclr#19180)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ae5909995075f916e0a91804c41f7cf3994779c5
Sergey Andreenko [Sat, 28 Jul 2018 01:44:32 +0000 (18:44 -0700)]
spmi: exclude methods using a file with saved md5 hashes. (dotnet/coreclr#18769)
* read md5, linear search for each method.
* rewrite with HANDLE
* fix linux
* do not waste time dumping md5 if no methods exluded
Commit migrated from https://github.com/dotnet/coreclr/commit/
6227652bcf2158df7f52be71106e9264b876fa2a
Bruce Forstall [Sat, 28 Jul 2018 00:21:03 +0000 (17:21 -0700)]
Merge pull request dotnet/coreclr#19165 from BruceForstall/FixCodeGenBringUpTestsBuilds
Specify specific build flavors for CodeGenBringUpTests tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
6510cdc02d791447afe9b766407a6b59135f420f
Ahson Khan [Sat, 28 Jul 2018 00:18:29 +0000 (17:18 -0700)]
Add comment explaining the return value of ToUpper/ToLower (dotnet/coreclr#19176)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9871b8ee439c32392ce611409354d1512c706b71
Bruce Forstall [Fri, 27 Jul 2018 23:59:14 +0000 (16:59 -0700)]
Update arm64 comment for IsCallTargetInRange function
Commit migrated from https://github.com/dotnet/coreclr/commit/
13caa7bd7d4e797c8e7bca4fbea861ecece3fefc
Carol Eidt [Fri, 27 Jul 2018 23:19:48 +0000 (16:19 -0700)]
Lowering: Atomic ops can produce a value (dotnet/coreclr#19173)
* Lowering: Atomic ops can produce a value
dotnet/coreclr#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 dotnet/coreclr#19171
Commit migrated from https://github.com/dotnet/coreclr/commit/
8b126cf6d62790a70ea15b6c4a35d8de3ddfd795
Tanner Gooding [Thu, 26 Jul 2018 16:00:34 +0000 (09:00 -0700)]
Updating emitInsCanOnlyWriteSSE2OrAVXReg to cover some of the newer instructions.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e59139eaaa78ae79a47c2373488c872818b05efe
Carol Eidt [Fri, 27 Jul 2018 20:26:30 +0000 (13:26 -0700)]
Merge pull request dotnet/coreclr#19145 from CarolEidt/Fix19081
Include long shifts in OperIsShiftOrRotate
Commit migrated from https://github.com/dotnet/coreclr/commit/
9e433bc15ec499a71ac5f41884a489aa28dca064
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 dotnet/coreclr#9722
Commit migrated from https://github.com/dotnet/coreclr/commit/
4d651c83f395125e21c80d2a096c8e8dd8343c3d
Andy Ayers [Fri, 27 Jul 2018 18:09:02 +0000 (11:09 -0700)]
JIT: add extra check to struct of struct of x promotion (dotnet/coreclr#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 dotnet/coreclr#19149.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d38774d80e07436eadc28f7255a8c9f8edb1e570
Koundinya Veluri [Fri, 27 Jul 2018 16:54:40 +0000 (09:54 -0700)]
Add CI PR-triggered Ubuntu x64 innerloop no-tiering job (dotnet/coreclr#19123)
Commit migrated from https://github.com/dotnet/coreclr/commit/
826c55f9a24926d64b042c083e09dfdf78ffe4ae
Bruce Forstall [Fri, 27 Jul 2018 16:25:54 +0000 (09:25 -0700)]
Merge pull request dotnet/coreclr#19154 from BruceForstall/FixArm64Localloc
Fix overallocation of arm64 small constant localloc
Commit migrated from https://github.com/dotnet/coreclr/commit/
6e86a0e487fbafb582628b07ca6613798111968c
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 (dotnet/coreclr#19102)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2b91f03ecd2834768f960d094cdc2445aa879073
Jacek Blaszczynski [Fri, 27 Jul 2018 05:35:51 +0000 (07:35 +0200)]
Reference in box HW intrinsics (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
dd619659c7cd552e9e874db56ecde6f6f2ca338d
Bruce Forstall [Fri, 27 Jul 2018 04:42:30 +0000 (21:42 -0700)]
Merge pull request dotnet/coreclr#19144 from BruceForstall/Fix13796
Re-enable arm64 tests that no longer fail
Commit migrated from https://github.com/dotnet/coreclr/commit/
2194ecc60e3fae9a235e5722934660c342366d63
Tanner Gooding [Thu, 26 Jul 2018 20:46:48 +0000 (13:46 -0700)]
Fixing the x86 hwintrinsics to not assert for invalid generic types.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e61e50db63a1ca5a23428d17d76fb879dab690da
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 dotnet/coreclr#4571
Commit migrated from https://github.com/dotnet/coreclr/commit/
7cd8f70d30963df4aa85203ba5f39f41285b2cd3
Aditya Mandaleeka [Thu, 26 Jul 2018 23:04:13 +0000 (16:04 -0700)]
Merge pull request dotnet/coreclr#19153 from adityamandaleeka/fix_buildtest_help
Fix batch syntax error in help text
Commit migrated from https://github.com/dotnet/coreclr/commit/
e7c696cd18e648da4eeadc43fbc3e4ad3639eb7d
Aditya Mandaleeka [Thu, 26 Jul 2018 22:56:01 +0000 (15:56 -0700)]
Fix syntax error in help text.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c012d768bf7ae41d7cf1f8b18cb54701ecb7f28d
Sergey Andreenko [Thu, 26 Jul 2018 22:46:53 +0000 (15:46 -0700)]
reenable corefx System.Runtime.Tests on arm32 (dotnet/coreclr#19128)
dotnet/coreclr#17585 the issue was fixed long time ago, but this exclusion was forgotten.
Commit migrated from https://github.com/dotnet/coreclr/commit/
53eb0afc3d3e0f1adaeb00ac9e9bf1c0f5976302
Tanner Gooding [Fri, 20 Jul 2018 20:33:10 +0000 (13:33 -0700)]
Adding the Microsoft.NET.Sdk.IL pkgproj
Commit migrated from https://github.com/dotnet/coreclr/commit/
3077c95af36a074a8e00d45ebc576fa87520e536
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 dotnet/coreclr#19081
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f020204f27aa10f778f9e549e01c6717d939d47
Bruce Forstall [Thu, 26 Jul 2018 20:37:20 +0000 (13:37 -0700)]
Re-enable arm64 tests that no longer fail
Fixes dotnet/coreclr#13796, dotnet/coreclr#12549
Note that test GitHub_11408 is still disabled, now against issue dotnet/coreclr#11408.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7e1f53ff2a939cd5a9e6ec73cbada63db828dd72
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 (dotnet/coreclr#19130)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ccf735e789dff2c3fce183c599c192a79bf64752
Andon Andonov [Thu, 26 Jul 2018 02:10:17 +0000 (19:10 -0700)]
Update CoreFX documentation (dotnet/coreclr#19092)
* Update CoreFX documentation
* Add test binary refresh and parallelization sections
* Add test exclusion information
Commit migrated from https://github.com/dotnet/coreclr/commit/
e7d8e4dadbbf8c93b99eaffc66f2e3ef805a0c41
Chris Sienkiewicz [Wed, 25 Jul 2018 18:13:27 +0000 (11:13 -0700)]
Sdk test projects (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
eddc1a621b66d63ac9feda289f08fc0e9f67f850