Tanner Gooding [Thu, 24 May 2018 17:10:28 +0000 (10:10 -0700)]
Updating the compiler to not enable FMA if the global AVX flag is disabled.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8db778b54af3abd1b8b08b02515227a51b11e348
Tanner Gooding [Sun, 20 May 2018 20:10:38 +0000 (13:10 -0700)]
Adding tests for the FMA hardware intrinsics.
Commit migrated from https://github.com/dotnet/coreclr/commit/
65f17b21c7dd299fd44fb3756438b5550d9db748
Tanner Gooding [Wed, 23 May 2018 18:20:29 +0000 (11:20 -0700)]
Updating the JIT to handle the FMA hardware intrinsics.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5fc7dd5917d9e0d2345023a87f73a32c2ebfdbe8
Morgan Brown [Fri, 25 May 2018 23:00:44 +0000 (16:00 -0700)]
Add mixed-mode Book of the Runtime entry (dotnet/coreclr#18014)
* Add mixed-mode Book of the Runtime entry
Documents how mixed-mode assemblies are specified and work in general.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6977efd6b2a7b2d79479ac461da33b6512a72f90
Sergey Andreenko [Fri, 25 May 2018 22:02:20 +0000 (15:02 -0700)]
delete unused variables from jit (dotnet/coreclr#18121)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b4a869246b892ec8f513a6a0c9a5ea3d6755383c
Carol Eidt [Fri, 25 May 2018 21:59:05 +0000 (14:59 -0700)]
Merge pull request dotnet/coreclr#18126 from CarolEidt/FixSuperPmi
Check SuperPmi map for null
Commit migrated from https://github.com/dotnet/coreclr/commit/
eefd8d7805eb7f984449b88f48e27b11a06fcaba
Carol Eidt [Fri, 25 May 2018 17:30:46 +0000 (10:30 -0700)]
Check SuperPmi map for null
On Linux, calling an instance method with a null `this` pointer causes a seg fault.
This fixes the case of querying the `CanInlineTypeCheckWithObjectVTable` map in SuperPmi when no query has been recorded by `recCanInlineTypeCheckWithObjectVTable`. There appear to be other cases of this, but this is the one that I'm running into currently.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f05efe953681375384577dcc77e488c4800715f1
dotnet-maestro-bot [Fri, 25 May 2018 15:17:50 +0000 (08:17 -0700)]
Update CoreClr, PgoData to preview1-26525-04, master-
20180525-0042, respectively (dotnet/coreclr#18124)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f5bf3056389b7b6a7269921873bcbbd9b6f8c441
John Doe [Fri, 25 May 2018 06:22:42 +0000 (23:22 -0700)]
Typo (dotnet/coreclr#18122)
* acquringing -> acquiring
* Activ -> Active
* activley -> actively
* acutal -> actual
* bIncomingIPAdddefed -> bIncomingIPAddRefed
* adddr -> addr
* readding -> reading
* Addfunction -> AddFunction
* additionnal -> additional
* Additonal -> Additional
* Additonally -> Additionally
* Addresss -> Address
* addtion -> addition
* aded -> added
* aditional -> additional
* adjustements -> adjustments
* Adress -> Address
* afer -> after
* aformentioned -> aforementioned
* afte -> after
* agains -> against
* agaisnt -> against
* aggresively -> aggressively
* aggreates -> aggregates
* aggregious -> egregious
* aginst -> against
* agregates -> aggregates
* Agressive -> Aggressive
* ahve -> have
* ajdust -> adjust
* ajust -> adjust
* alement -> element
* algoritm -> algorithm
* alighnment -> alignment
* alignmant -> alignment
* constraits -> constraints
* Allcator -> Allocator
* alllocate -> allocate
* alloacted -> allocated
* allocatate -> allocate
* allocatoror -> allocator
* alloctaed -> allocated
* alloction -> allocation
* alloted -> allotted
* allt he -> all the
* alltogether -> altogether
* alocate -> allocate
* alocated -> allocated
* Alocates -> Allocates
* alogrithm -> algorithm
* aloocate -> allocate
* alot -> a lot
* alwasy -> always
* alwyas -> always
* alwys -> always
Commit migrated from https://github.com/dotnet/coreclr/commit/
8e48db2c113052ef18cdafb43e114a8633864ec0
dotnet-maestro-bot [Fri, 25 May 2018 06:13:38 +0000 (23:13 -0700)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-02824-02, preview1-26525-01, preview1-26525-01, master-
20180524-0023, respectively (dotnet/coreclr#18109)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6468753a39d2419083cd842497ae2fc0f35c143a
Jan Kotas [Fri, 25 May 2018 01:18:56 +0000 (18:18 -0700)]
Fix misplaced volatile (dotnet/coreclr#18115)
Fixes dotnet/coreclr#13015
Commit migrated from https://github.com/dotnet/coreclr/commit/
5fe6e952f7a9f60ae190a746f2446d255d0e5bea
Tanner Gooding [Thu, 24 May 2018 21:21:12 +0000 (14:21 -0700)]
Updating BuildDelayFreeUses to also consider contained HWIntrinsic nodes.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3b32ecf311b4c4d16d770501d5257a2e2f74e656
Vance Morrison [Thu, 24 May 2018 21:52:35 +0000 (14:52 -0700)]
Merge pull request dotnet/coreclr#18103 from vancem/StringBuilderEnumeratorUpdate
Add more comments and rename to StringBuilder.GetChunks()
Commit migrated from https://github.com/dotnet/coreclr/commit/
a9a7e78d290809692f23f129cd373e5f9a71a294
David Wrighton [Thu, 24 May 2018 21:35:47 +0000 (14:35 -0700)]
[Arm64] debugging work (dotnet/coreclr#17993)
* Fix missing implementation of FuncEvalFrame::UpdateRegDisplay for ARM64
- Implementation is missing. Build new one based ARM implementation
* Enable just my code on arm64
* Fix logging of addresses for DispatchPatchOrSingleStep
* arm64 does not leave the PC at the start of the breakpoint
* Enable interop debugging
* Tweaks for windows arm64 mixed mode debugging support
Commit migrated from https://github.com/dotnet/coreclr/commit/
afe9b1dcea839ae93dd148e176e3b702b6b15ec1
Egor Chesakov [Thu, 24 May 2018 20:57:47 +0000 (13:57 -0700)]
Use sysconf(_SC_NPROCESSORS_CONF) instead of sysconf(_SC_NPROCESSORS_ONLN) (dotnet/coreclr#18053)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2bedc5757cfad4a222a02e74ee11a5debd70a810
mikedn [Thu, 24 May 2018 19:01:41 +0000 (22:01 +0300)]
Improve SSA topological sort (dotnet/coreclr#15200)
* Simplify block successor iterators
Construction of an end AllSuccessorIter requires the number of block successors. This can be avoided by keeping track of the number of remaining successors so that the end iterator is simply "0 remaining successors".
Remove StartAllSuccs & co. These functions don't do anything useful.
Since AllSuccessorIter and EHSuccessorIter now have similar constructors the "collection" classes AllSuccs and EHSuccs can be replaced by a single template class.
* Split out block successor iterator logic
The AllSuccessorIterator iterator is pretty large - 64 bytes on 64 bit hosts. When used as local variables that's not much of a problem but if they end up stored in containers then a lot of space is wasted.
AllSuccessorIter contains a pointer to the compiler object and a pointer to the block whose successors it iterates over. And then it also contains an EHSuccessorIter that contains the same 2 pointers.
In scenarios such as the one in SsaBuilder::TopologicalSort the compiler pointer need not be stored and the block needs to be stored only once and be made accessible so a separate block stack isn't needed.
This change splits out the successor iterating logic into separate "position" classes that receieve the compiler and block via function parameters.
* Improve TopologicalSort memory usage
Commit migrated from https://github.com/dotnet/coreclr/commit/
c0150d4d0131ab16a50378711d8adb19c5c868ab
Vance Morrison [Thu, 24 May 2018 18:01:46 +0000 (11:01 -0700)]
Rename EnumerateCHunks -> GetChunks per API review feedback.
Commit migrated from https://github.com/dotnet/coreclr/commit/
23f0078eccaff9c6795d0f05cf031f5f2386be18
Tanner Gooding [Thu, 24 May 2018 14:47:06 +0000 (07:47 -0700)]
Realigning the hwintrinsiclistxarch table columns
Commit migrated from https://github.com/dotnet/coreclr/commit/
78e7dbf21fe0b5fbe72332b7d8d1dcbd44d3186c
John Doe [Thu, 24 May 2018 14:43:42 +0000 (07:43 -0700)]
Fix a variety of typos (dotnet/coreclr#18096)
* absense -> absence
* aboring -> aborting
* absense -> absence
* absoute -> absolute
* absoute -> absolute
* abstration -> abstraction
* dwDesiredAcces -> dwDesiredAccess
* accees -> access
* accesed -> accessed
* accessability -> accessibility
* accessable -> accessible
* accidentaly -> accidentally
* accesible -> accessible
* accommondate -> accommodate
* accurancy -> accuracy
* accuratley -> accurately
* Achitecture -> Architecture
* acompannying -> accompanying
* acordingly -> accordingly
Commit migrated from https://github.com/dotnet/coreclr/commit/
58254b513146b138e80b3abea62c56322abf1807
Jan Kotas [Thu, 24 May 2018 14:07:20 +0000 (07:07 -0700)]
Optimize Array.Clear using SpanHelpers (dotnet/coreclr#18101)
Reimplement most of Array.Clear in managed code using Span Clear helpers.
Fixes dotnet/corefxdotnet/coreclr#29848
Commit migrated from https://github.com/dotnet/coreclr/commit/
f001fd476893730d98d7e3e9f2d17175e8d9b478
Egor Chesakov [Thu, 24 May 2018 13:08:26 +0000 (06:08 -0700)]
Update g_highest_address and g_lowest_address in StompWriteBarrier(WriteBarrierOp::StompResize) on ARM (dotnet/coreclr#18107)
Commit migrated from https://github.com/dotnet/coreclr/commit/
08beb290dce1e7d5f29897538d201b7ebd345a3a
Maryam Ariyan [Thu, 24 May 2018 06:04:14 +0000 (23:04 -0700)]
sharing SerializationInfo for corert and coreclr (dotnet/coreclr#18102)
* String to string in SerializationInfo
* Object to object in SerializationInfo
* Reducing diff between coreclr and corefx by renaming some variables.
* Reducing diff for SerializationInfo by simplifying code
* More cleanup
- Removing unused fields and making internals private.
- Removing unused namespaces
- Merge some comments
* Fixing up commets and removing object from object.ReferenceEquals(..)
* Minor fixups
* Moving to shared
* Applying PR feedbacks
* using IsRuntimeImplemented helper method for type
* using the CoreRT version and keeping ctor with extra argument
Commit migrated from https://github.com/dotnet/coreclr/commit/
b23f8213a527d831577ce8bb7de47d54d153c509
Carol Eidt [Thu, 24 May 2018 03:45:29 +0000 (20:45 -0700)]
Merge pull request dotnet/coreclr#18011 from CarolEidt/JitOptDoc
Update struct handling section of Jit Opt Doc
Commit migrated from https://github.com/dotnet/coreclr/commit/
f7c77150c64cd57354d6485e654f4b0806b4a145
Carol Eidt [Tue, 15 May 2018 22:02:03 +0000 (15:02 -0700)]
Update struct handling section of Jit Opt Doc
Commit migrated from https://github.com/dotnet/coreclr/commit/
f0dd059f50d3c682445d8b66d5594695be7a278d
acmyu [Thu, 24 May 2018 00:24:03 +0000 (17:24 -0700)]
R2RDump - Dump generic method instances (dotnet/coreclr#18080)
* R2RDump - dump generic method instances
* Added comments
* Move read functions to own class, changes to NativeHashtable to make it similar to NativeFormatReader
* Get type name for struct generic instances
* Emit # of runtimeFunctions and size:unavailable, add [Flags] to enum and NONE flag
* Throw exception when method entrypoint id is out of bounds
* Type name instead of var
* Get full classname including namespace
* Get parent types of nested types
* Save DeclaringType as string, rename variables, use 1 constructor
* Check generic param indices not out of bounds
Commit migrated from https://github.com/dotnet/coreclr/commit/
6c934c21df759d4319e2006ef4add9e01068f648
Tanner Gooding [Wed, 23 May 2018 17:47:44 +0000 (10:47 -0700)]
Cleaning up LinearScan::BuildHWIntrinsic
Commit migrated from https://github.com/dotnet/coreclr/commit/
f4c6bebb1601596ea54baff489e50b64ad4a6a2e
Vance Morrison [Wed, 23 May 2018 21:03:16 +0000 (14:03 -0700)]
Add more comments to StringBuilder.EnumerateChunks()
This does not change execution of the code (only comments, placement)
Added a warning about modifying the stringbuilder while enumerating.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c6409334f6fc56884bb7df91489293d52efaabd1
Sergey Andreenko [Wed, 23 May 2018 20:52:15 +0000 (13:52 -0700)]
Refactor fgDebugCheckBBlist (dotnet/coreclr#18082)
create BBPredsChecker
Commit migrated from https://github.com/dotnet/coreclr/commit/
bc931bfa7dcfb3151c962916584b9531dc3d71f0
Chris Sienkiewicz [Wed, 23 May 2018 17:39:56 +0000 (10:39 -0700)]
SOS Fixes for windows arm32 (dotnet/coreclr#18090)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6185b9af8591283c5dbf1711d6064a23602f9760
Wes Haggard [Wed, 23 May 2018 17:29:28 +0000 (10:29 -0700)]
Merge pull request dotnet/coreclr#18079 from dotnet-maestro-bot/master-UpdateDependencies
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-02823-01, preview1-26523-04, preview1-26523-05, master-
20180523-0040, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0c24aa0d3d81da5067f3f1d155174e46472985df
Sergey Andreenko [Wed, 23 May 2018 17:23:18 +0000 (10:23 -0700)]
Fix parallel spmi return code. (dotnet/coreclr#18093)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d7be1d0f72a1b5367a4cb504ea7234f7b49e08c9
Carol Eidt [Wed, 23 May 2018 16:58:49 +0000 (09:58 -0700)]
Merge pull request dotnet/coreclr#18099 from CarolEidt/FixEliminNodeInfo
Fix desktop build break
Commit migrated from https://github.com/dotnet/coreclr/commit/
7e517ed6b6a210c820a7336f199008f31c19d52f
Carol Eidt [Wed, 23 May 2018 15:02:59 +0000 (08:02 -0700)]
Fix desktop build break
Commit migrated from https://github.com/dotnet/coreclr/commit/
3fa689df0e56da296c2819c991c4bcfd7195f846
Bruce Forstall [Wed, 23 May 2018 14:53:12 +0000 (07:53 -0700)]
Merge pull request dotnet/coreclr#18086 from sdmaclea/PR-delete_next_card_table
Mark delete_next_card_table
Commit migrated from https://github.com/dotnet/coreclr/commit/
f233b2a4d444aea570f409a413d3922d4c9a0cb7
Carol Eidt [Wed, 23 May 2018 14:39:43 +0000 (07:39 -0700)]
Create RefPositions without TreeNodeInfo (dotnet/coreclr#16517)
* Create RefPositions without TreeNodeInfo
* Remove all references to TreeNodeInfo
* Fix function header comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
b39a5b2cfad4620ae23cda84186a36ffb463cd5a
Bruce Forstall [Wed, 23 May 2018 14:33:57 +0000 (07:33 -0700)]
Merge pull request dotnet/coreclr#18087 from BruceForstall/RemoveMoreLEGACY_BACKEND
Remove more JIT LEGACY_BACKEND tendrils
Commit migrated from https://github.com/dotnet/coreclr/commit/
74d0196fe5b36bf04848f2cf84d20c8b6e999b62
dotnet-maestro-bot [Wed, 23 May 2018 14:14:08 +0000 (07:14 -0700)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-02823-01, preview1-26523-04, preview1-26523-05, master-
20180523-0040, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
5138819d85d7e900c33faba39081d3e897e4f824
Steve MacLean [Wed, 23 May 2018 08:57:42 +0000 (04:57 -0400)]
Fix race in test waitone1 (dotnet/coreclr#18085)
Commit migrated from https://github.com/dotnet/coreclr/commit/
fa3e66ea4225de823e7996e4d1a54d3f8cc68603
Bruce Forstall [Tue, 22 May 2018 21:25:34 +0000 (14:25 -0700)]
Remove more JIT LEGACY_BACKEND tendrils
1. Remove armlb testing from netci.groovy
2. Remove legacy jit exclusions from tests.lst
3. Remove some unused `LEGACY_BACKEND` build definitions
4. Remove regpair.h
Commit migrated from https://github.com/dotnet/coreclr/commit/
6716e0ce0794f0139c8c15e3ca52d4bb5ebbce0b
Sergey Andreenko [Wed, 23 May 2018 02:38:44 +0000 (19:38 -0700)]
fix desktop (dotnet/coreclr#18092)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9c5e3d5d86901bd6bc0bd2d56e81cc0edec7eb13
Brian Robbins [Wed, 23 May 2018 02:13:20 +0000 (19:13 -0700)]
Remove -Rebuild option from build scripts (dotnet/coreclr#18089)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d930115ebd1a170af6b41caab3bb3906c476685
dotnet bot [Wed, 23 May 2018 00:47:42 +0000 (17:47 -0700)]
add treeLifeUpdater (dotnet/coreclr#18021)
[tfs-changeset: 1700288]
Commit migrated from https://github.com/dotnet/coreclr/commit/
d629c9967bd401c21123873c7d5175e721d40feb
Vance Morrison [Tue, 22 May 2018 23:07:45 +0000 (16:07 -0700)]
Merge pull request dotnet/coreclr#17530 from vancem/StringBuilderEnumerator
Adding EnumerateChunks which allow efficient scanning of a StringBuilder
Commit migrated from https://github.com/dotnet/coreclr/commit/
f9bb9e1d95bffecf42965ab6b13496fa51c5b412
Bruce Forstall [Tue, 22 May 2018 20:50:38 +0000 (13:50 -0700)]
Remove JIT LEGACY_BACKEND code (dotnet/coreclr#18064)
Remove JIT LEGACY_BACKEND code
All code related to the LEGACY_BACKEND JIT is removed. This includes all code related to x87 floating-point code generation. Almost 50,000 lines of code have been removed.
Remove legacyjit/legacynonjit directories
Remove reg pairs
Remove tiny instruction descriptors
Remove compCanUseSSE2 (it's always true)
Remove unused FEATURE_FP_REGALLOC
Commit migrated from https://github.com/dotnet/coreclr/commit/
7153e441ef21e9bb5e022229c0808b964b9199e0
Steve MacLean [Tue, 22 May 2018 19:29:51 +0000 (15:29 -0400)]
Mark delete_next_card_table
GCStressIncompatible=true
IsLongRunningGCTest=true
Commit migrated from https://github.com/dotnet/coreclr/commit/
85e4d78e33294dd1b25171f9e961d89ec7339513
Maryam Ariyan [Tue, 22 May 2018 18:26:07 +0000 (11:26 -0700)]
Move InsufficientMemory, OutOfMemory and ThreadInterrupted exceptions (dotnet/coreclr#18049)
* Move following exceptions to shared:
- InsufficientMemory,
- OutOfMemory
- ThreadInterrupted
Related to: dotnet/coreclrdotnet/coreclr#17904
Reduced diff in RegistryKey visible between coreclr and corert
Commit migrated from https://github.com/dotnet/coreclr/commit/
32ab54d345a4ab2eb572fe3ba061b6e0d1b31088
Vance Morrison [Tue, 22 May 2018 18:25:01 +0000 (11:25 -0700)]
Fixe whitespace
Commit migrated from https://github.com/dotnet/coreclr/commit/
0ba7f8d3a974382a214820330408f20389317306
Vance Morrison [Tue, 22 May 2018 18:18:36 +0000 (11:18 -0700)]
Fix whitespace
Commit migrated from https://github.com/dotnet/coreclr/commit/
79cbf2e17f6cdd1095671c6ab9fa8b9c48bba0f5
Vance Morrison [Tue, 22 May 2018 18:16:05 +0000 (11:16 -0700)]
Fix attribute placement
Commit migrated from https://github.com/dotnet/coreclr/commit/
57055f17d50e275e9c904b3f8975065e3d7af526
Vance Morrison [Tue, 22 May 2018 17:55:16 +0000 (10:55 -0700)]
Collapse ChunkEnumerable and ChunkEnumerator.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1028e3801f8eb72680d4d35b68dc734be5f84785
Steve MacLean [Tue, 22 May 2018 14:05:57 +0000 (10:05 -0400)]
Fix compareexchangetstring thread safety (dotnet/coreclr#18075)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0e70f69206b9797523855308e1b4c1edfb83ebdf
Sergey Andreenko [Tue, 22 May 2018 04:09:28 +0000 (21:09 -0700)]
add stackLevelSetter to the VS header list. (dotnet/coreclr#18077)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b29e823c0aa503fc077e6a6ca885c1160f35a2e
Sergey Andreenko [Tue, 22 May 2018 04:08:58 +0000 (21:08 -0700)]
add repro for dotnet/coreclr#18056 (dotnet/coreclr#18057)
* add repro
* add the exclusion
* fix comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
a525181a7c485b49fa7f18b469ecc1271e7f21a3
Ahson Khan [Tue, 22 May 2018 01:03:55 +0000 (18:03 -0700)]
Code cleanup and formatting for System.Memory files. (dotnet/coreclr#17451)
* Fix IDE0034 C# expression can be simplified (use of default)
* Remove unnecessary using statements
* IDE0012 C# Name can be simplified. String -> string
* IDE0041 C# Null check can be simplified
* Fix code formatting (limited to Span/System.Memory files).
* Address PR feedback - IDE0012 Name can be simplified (String -> string)
* Add back the necessary using statements and fix typo
* Fix comment typo and add necessary using statements
Commit migrated from https://github.com/dotnet/coreclr/commit/
f31097f14560b193e76a7b2e1e61af9870b5356b
Tomas Weinfurt [Tue, 22 May 2018 00:38:50 +0000 (17:38 -0700)]
small fixes to build CoreCLR on FreeBSD again (dotnet/coreclr#18072)
* small fixes to build CoreCLR on FreeBSD again
* feedback from review
* update genLttngProvider.py as jan suggested
* remove extra comment
* add missing extra space
Commit migrated from https://github.com/dotnet/coreclr/commit/
49f6249abc44269b437064e850ad22eb9f74a446
dotnet-maestro-bot [Mon, 21 May 2018 23:31:29 +0000 (16:31 -0700)]
Update BuildTools, PgoData to preview1-02821-03, master-
20180521-0051, respectively (dotnet/coreclr#18066)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3910feed29faffb67a0cacf9470461219539e632
Brian Robbins [Mon, 21 May 2018 21:51:43 +0000 (14:51 -0700)]
Only include DotNETRuntimeEventSource.cs if it exists. (dotnet/coreclr#18074)
Commit migrated from https://github.com/dotnet/coreclr/commit/
821317f109635cc591c976e6921429fc7f673b68
Bruce Forstall [Mon, 21 May 2018 21:37:54 +0000 (14:37 -0700)]
Merge pull request dotnet/coreclr#18032 from sdmaclea/PR-ARM64-LSE-ATOMICS
[Arm64] Add basic ARMv8.1 Atomics
Commit migrated from https://github.com/dotnet/coreclr/commit/
d73a35065ec05a8179c8b812986bd9708001782c
Michelle McDaniel [Mon, 21 May 2018 20:17:18 +0000 (13:17 -0700)]
Reduce the number of days to keep artifacts for perf (dotnet/coreclr#18073)
We are still seeing issues with running out of space on the archive
machines due to the size of the perf archives. This change reduces the
number of days we store the archives to 14 and the number of archives to
keep to 100.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c07b73a30558a47768329dfbc479b9c8bdb3c08a
Chris Sienkiewicz [Mon, 21 May 2018 19:24:06 +0000 (12:24 -0700)]
Implement ICorDebugILFrame3::GetReturnValueForILOffset on arm32 (dotnet/coreclr#18050)
*Implements CorDebugILFrame3::GetReturnValueForILOffset for arm32 on both windows and linux
*Fixes CordbNativeCode::GetCallInstructionLength to ensure it accounts for both 32/16 bit instructions
*Adds some asm to do float conversion
*Adds some logic to the cmake files to ensure the respective asm files get assembled correctly for both platforms
Commit migrated from https://github.com/dotnet/coreclr/commit/
78d858b048b460bd399d537487949f74c708e159
Carol Eidt [Mon, 21 May 2018 18:37:57 +0000 (11:37 -0700)]
Merge pull request dotnet/coreclr#18058 from dotnetrt/gh18041
Fix codegen for HW intrinsic Sse2.ConvertToInt32WithTruncation
Commit migrated from https://github.com/dotnet/coreclr/commit/
402eab2b5d7acd0f6d6ece9b6e2c1c6f910c4eab
Gleb Balykov [Mon, 21 May 2018 15:33:40 +0000 (18:33 +0300)]
Update Tizen CI docker image (dotnet/coreclr#17814)
* Update Tizen CI docker image
* Revert "Remove Tizen armel automatic PR triggered jobs"
This reverts commit dotnet/coreclr@
462e2b59c67b0b6d25985a7284616539f348cbfc.
* Update Tizen CI docker image in netci
* Update links required for generation of Tizen rootfs
* Remove -rebuild from arm32 CI docker build
Commit migrated from https://github.com/dotnet/coreclr/commit/
338474d63adf4a896e39b96fb0a4a2c7dd7a7985
Jacek Blaszczynski [Fri, 18 May 2018 23:15:50 +0000 (01:15 +0200)]
Fix ConvertToInt32WithTruncation tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
54eae6ff423017b613105f1c7f1878e780100a22
dotnet-maestro-bot [Sun, 20 May 2018 19:44:47 +0000 (12:44 -0700)]
Update PgoData to master-
20180520-0038 (dotnet/coreclr#18065)
Commit migrated from https://github.com/dotnet/coreclr/commit/
34c7dcfd2a8ae616d19bb7657463b990f5a7ff1f
dotnet-maestro-bot [Sat, 19 May 2018 19:01:44 +0000 (12:01 -0700)]
Update PgoData to master-
20180519-0051 (dotnet/coreclr#18062)
Commit migrated from https://github.com/dotnet/coreclr/commit/
cce4ad55e22e49edf417a6a967d58a4a345335a0
Jan Kotas [Tue, 8 May 2018 17:23:11 +0000 (10:23 -0700)]
Fix CoreRT build break
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
68275d2e24118165bffb5d2e4850fc86cb8f4030
mikedn [Sat, 19 May 2018 15:05:17 +0000 (18:05 +0300)]
Remove bogus NoInlining uses (dotnet/coreclr#18061)
The JIT knows not to inline throw helper methods. Manually blocking inlining prevents the JIT from detecting that these methods do not return and that may negatively impact the quality of the caller method code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4f100f944cd108918a8920a8a22e12b6711fdc84
Carol Eidt [Sat, 19 May 2018 13:45:49 +0000 (06:45 -0700)]
Merge pull request dotnet/coreclr#15348 from mikedn/ssa-indir
Remove useless IndirectAssignmentAnnotation
Commit migrated from https://github.com/dotnet/coreclr/commit/
9352f69ffbf25762d0c631b7e84389f0d111bcd4
Stephen Toub [Sat, 19 May 2018 02:07:02 +0000 (22:07 -0400)]
Avoid freezing ConcurrentQueue segments in Count (dotnet/coreclr#18035)
* Avoid freezing ConcurrentQueue segments in Count
In .NET Core 2.0, we changed the implementation of ConcurrentQueue to allow segment reuse, making enqueues ammoritzed allocation-free, whereas previously every enqueue had some allocation cost (even if it was batched as part of allocating a segment). However, some operations mark segments as being frozen, which then prevents subsequent enqueues into those segments; this is necessary for enumeration, but Count also caused this. Ideally Count isn't used on hot paths, but if it is, this can end up in degenerate situations where, for example, if Count is called after every enqueue, we'll end up creating a new segment for every enqueued item, which is incredibly inefficient both for the enqueues and for Count, which is O(N) in the number of segments.
It turns out, though, that we were overly cautious in implementing Count, and we don't actually need it to freeze the segments. Instead, when there are more than two segments (the case where we previously froze), we can take the cross-segment lock, which is the same lock that's held any time we update the head and tail segment pointers. Once that lock is held, we know that the internal segments won't change, because code can only enqueue/dequeue from the head and tail segments, so any segment that's not head and tail while the lock is held is effectively immutable. That means that we can simply walk those segments and add up their counts, safe in knowing they won't change while we're enumerating.
* Remove stale comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
6e8232059e563d4e3d877f7020db17ee14e285f0
Jacek Blaszczynski [Fri, 18 May 2018 23:11:49 +0000 (01:11 +0200)]
Fix codegen for HW intrinsic Sse2.ConvertToInt32WithTruncation
Fixes dotnet/coreclr#18041
Commit migrated from https://github.com/dotnet/coreclr/commit/
c0cddf9d826184a20506a94a9bd448fae85104b2
Mike Danes [Thu, 30 Nov 2017 21:47:03 +0000 (23:47 +0200)]
Remove useless IndirectAssignmentAnnotation
This annotation is supposed to be used by SSA and VN but that does not actually happen because fgMorphCopyBlock also marks the destination local as address exposed.
Also, even if the local wasn't address exposed there are other parts of the JIT that should probably use this annotation but currently they do not:
* Copy propagation attempts to mirror SSA renaming but it ignores IndirectAssignmentAnnotation.
* Liveness also doesn't pay attention to IndirectAssignmentAnnotation. A comment in fgMorphCopyBlock even gives liveness as the reason why the destination local is address exposed.
Commit migrated from https://github.com/dotnet/coreclr/commit/
026abe216b39550ab6acb80ecb8927904e194886
Vance Morrison [Fri, 18 May 2018 20:40:11 +0000 (13:40 -0700)]
Add another readonly attribute
Commit migrated from https://github.com/dotnet/coreclr/commit/
6198c7443b08a719edb17e2467625b35301b6b7c
Vance Morrison [Fri, 18 May 2018 20:38:06 +0000 (13:38 -0700)]
add readonly attributes
Commit migrated from https://github.com/dotnet/coreclr/commit/
6eeb7b6b315d0561dd46707f42c95caa8e34295f
Andy Ayers [Fri, 18 May 2018 20:00:29 +0000 (13:00 -0700)]
JIT: treat SIMD types as structs in box optimizations (dotnet/coreclr#18046)
Otherwise we may leave unconsumed GT_OBJs around, which is problematic for the
jit later on.
Fixes dotnet/coreclr#18043.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3c28c423053f30adedc034c5e2c912bd2adaad10
Andy Ayers [Fri, 18 May 2018 19:58:59 +0000 (12:58 -0700)]
JIT: clear up some no-op casts in the importer (dotnet/coreclr#17996)
If we see a no-op cast (say converting long to ulong) where the operand
to be cast already has the right stack type, don't generate a GT_CAST,
just use the operand.
This comes up in some cases with unsafe operations where the pointer type
is cast. Interposing a cast between an GT_IND and GT_ADDR results in poor
codegen as the jit thinks the addressed local is address taken.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5bd38293ed527413950ef03bded1a12ca20af5b1
Carol Eidt [Fri, 18 May 2018 18:11:50 +0000 (11:11 -0700)]
Merge pull request dotnet/coreclr#17991 from sdmaclea/PR-ARM64-STACK-PACKING
[Arm64] Fix stack struct arg packing
Commit migrated from https://github.com/dotnet/coreclr/commit/
55461ca277e43e04a9197d981d10852aa0719316
dotnet-maestro-bot [Fri, 18 May 2018 15:56:48 +0000 (08:56 -0700)]
Update BuildTools, PgoData to preview1-02817-01, master-
20180518-0039, respectively (dotnet/coreclr#18038)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f02f59f658a52bd1aaf6082918cfd96bd601daeb
Vance Morrison [Fri, 18 May 2018 15:18:48 +0000 (08:18 -0700)]
Improve comments, review feedback.
Commit migrated from https://github.com/dotnet/coreclr/commit/
014c623435e97e80adcd8ae7f6b8021e6087ddad
Artem Koval [Fri, 18 May 2018 05:28:37 +0000 (08:28 +0300)]
Update osx-instructions.md (dotnet/coreclr#18000)
When following this instruction CoreFX build won't happen until we change the folder to the CoreFX's one. In essence ./build.sh will trigger CoreCLR build once again. It may be a minor thing for an experienced user but can become a significant blocker for someone who's not that experienced with the command line and needs to compile CoreCLR. And it will diminish the awesomeness of .NET Core which we can't allow!
The proposed change is just a directory change when inside the CoreCLR folder.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b12c344020ba4cc5bccff377c8922f5434aa293e
Atsushi Kanamori [Fri, 18 May 2018 03:09:39 +0000 (20:09 -0700)]
Revert PR 17881 to unblock integration into CoreFx (dotnet/coreclr#18036)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2fb587937b1926d59f2fd8396196571e356fc596
acmyu [Fri, 18 May 2018 01:58:24 +0000 (18:58 -0700)]
R2RDump - Runtime function RVAs and method signatures (dotnet/coreclr#17994)
* R2RDump - Runtime function RVAs and sizes
* Change hard error to warning, GetInt64,32,16 helper functions
* Method signatures from metadata, GetUnsigned functions, arbitrary sections for GetOffset
* Use methodDefEntryPoints to match method metadata to native code, make runtime function endAddress conditional on machine type
* Get object arg and return types of method signature from TypeDef, use ReadUInt
* Iterate all rids, added NativeArray class
* Handle multiple runtime functions in a method, use ReadByte, make rid unsigned
* Use MethodDefinitionHandle(rid) instead of dictionary, make ReadByte signature similar to other Read methods
* Changes to getting runtime functions, increment the start index in ReadByte, added comments
* Use List for R2RMethods instead of array, fixed nits
Commit migrated from https://github.com/dotnet/coreclr/commit/
656432d8d73f0c13469abefb0d6abe556fc78e76
Steve MacLean [Wed, 16 May 2018 23:45:57 +0000 (19:45 -0400)]
[Arm64] Add basic ARMv8.1 Atomics
Add cas*, ldadd*, stadd*, and swp*
Add atomic emitters
Add atomic emitter tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
be5d8384812d906e851d6ab51bfda2feb7147ec0
Bruce Forstall [Thu, 17 May 2018 21:45:15 +0000 (14:45 -0700)]
Merge pull request dotnet/coreclr#17764 from sdmaclea/PR-ARM64-CI-Match-Arm32
[Arm64/Ubuntu] CI match arm32 except triggers
Commit migrated from https://github.com/dotnet/coreclr/commit/
cd6ae96f0b8c3d5268079f138c5e7134deb057f2
Steve MacLean [Tue, 24 Apr 2018 21:47:35 +0000 (17:47 -0400)]
[Arm64/Ubuntu] match arm32 except triggers
Commit migrated from https://github.com/dotnet/coreclr/commit/
55635f9d042b5dfd3c338eca051117b1d0e5bbbf
Vance Morrison [Thu, 17 May 2018 17:46:57 +0000 (10:46 -0700)]
Better comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
009a54961064a7df648a80071f3f267e626f16fc
Vance Morrison [Thu, 17 May 2018 17:41:29 +0000 (10:41 -0700)]
Fix typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
31590489ad0cca06094a82268ed542619962db4b
dotnet-maestro-bot [Thu, 17 May 2018 15:07:30 +0000 (10:07 -0500)]
Update PgoData to master-
20180517-0042 (dotnet/coreclr#18029)
Commit migrated from https://github.com/dotnet/coreclr/commit/
3c01252879f2d2223f63d5b222b6584c28fc07f4
dotnet-maestro-bot [Thu, 17 May 2018 03:23:24 +0000 (22:23 -0500)]
Update CoreClr, CoreFx, PgoData to preview1-26517-01, preview1-26517-01, master-
20180516-1546, respectively (dotnet/coreclr#18027)
Commit migrated from https://github.com/dotnet/coreclr/commit/
404eba4d9d18310f5764c6b932265c29a235ebed
Egor Chesakov [Thu, 17 May 2018 02:49:18 +0000 (19:49 -0700)]
Replace sizeof(TADDR) with TARGET_POINTER_SIZE in Zap (dotnet/coreclr#18028)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7c128ae89c062236ec5437bc3ed11aefcc52c360
Brian Robbins [Thu, 17 May 2018 01:59:51 +0000 (18:59 -0700)]
Generate EventSources Representing DotNETRuntime Eventing Providers (dotnet/coreclr#18007)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0fbd0f535e566bcde591701adc2de51ee0f020af
Vance Morrison [Thu, 17 May 2018 01:55:41 +0000 (18:55 -0700)]
Add Asserts. Fix bug found in testing.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e646dd23b33935cd206539111828714babbeb1d8
Stephen Toub [Wed, 16 May 2018 20:21:02 +0000 (16:21 -0400)]
Add some more documentation for ValueTask (dotnet/corefxdotnet/coreclr#29726)
* Add some more documentation for ValueTask
* Address PR feedback
Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
a8d40ac8362bacd98f7fa422190fe66916e040e8
stakx [Wed, 16 May 2018 22:48:40 +0000 (00:48 +0200)]
System.Reflection: Replicate custom modifiers of method parameters in MemberRef signatures (dotnet/coreclr#17881)
* Include cmods in `ModuleBuilder.GetMemberRefToken`
This method reproduces a method's signature for use in a MethodRef
metadata entry, but currently ignores custom modifiers placed in the
method's parameters. Add additional parameters for those.
* Add parameter cmod params for other code paths
This lets the change from the previous commit "bubble up" towards the
public API by adding support for parameter cmods in more places.
* Reduce code duplication
In several places, `ParameterInfo[]` is converted to three matching
arrays for parameter types and their modreqs and modpts, because that
is what `SignatureHelper` requires. Extract this duplicated logic
into a single method. Also, optimize it to reduce array allocations.
Commit migrated from https://github.com/dotnet/coreclr/commit/
466599a90a9f404d7e5dd03987359c5bdc1d1826
dotnet-maestro-bot [Wed, 16 May 2018 21:30:52 +0000 (16:30 -0500)]
Update CoreClr to preview1-26516-05 (dotnet/coreclr#18018)
Commit migrated from https://github.com/dotnet/coreclr/commit/
890dfcf2769fb280f4cce11080225053f00a9162
Maryam Ariyan [Wed, 16 May 2018 21:02:10 +0000 (14:02 -0700)]
Moving ConcurrentQueue to shared (dotnet/coreclr#18024)
Making IProducerConsumerCollectionDebugView apis public
Fixes: dotnet/coreclr#17751
Commit migrated from https://github.com/dotnet/coreclr/commit/
f17770dd0318aa80fcd2a70288f097f2e05ba3bd
dotnet-maestro-bot [Wed, 16 May 2018 03:22:24 +0000 (22:22 -0500)]
Update CoreClr to preview1-26516-01 (dotnet/coreclr#18015)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e353a220a673fa54e98f53c4dcc5793badd4d69e
Sergey Andreenko [Wed, 16 May 2018 02:02:00 +0000 (19:02 -0700)]
ignore .tail opcode for arm64 (dotnet/coreclr#18002)
when we can't do fast tail call.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d5c558539c375d7403a11183f03b07133d724b4d
Bruce Bowyer-Smyth [Wed, 16 May 2018 01:45:50 +0000 (11:45 +1000)]
Remove IsAscii fast paths from Equals and Compare OrdinalIgnoreCase (dotnet/coreclr#17985)
Commit migrated from https://github.com/dotnet/coreclr/commit/
135960e9c37e67cd3359da484e9663c56b46c4b9
Carol Eidt [Wed, 16 May 2018 01:20:00 +0000 (18:20 -0700)]
Merge pull request dotnet/coreclr#18010 from CarolEidt/StructTests
Add tests for struct-related issues
Commit migrated from https://github.com/dotnet/coreclr/commit/
c2376b24024d2778e574b259cd675342fcb488f7
Sergey Andreenko [Tue, 15 May 2018 23:29:26 +0000 (16:29 -0700)]
Tolerate spmi misses (dotnet/coreclr#17997)
* catch missed values
* add a new return value for misses
Commit migrated from https://github.com/dotnet/coreclr/commit/
9c110c3b1200fdade1c85df5da58f0a952b0754e