platform/upstream/coreclr.git
6 years agoFix GCStress assertion
Steve MacLean [Tue, 29 May 2018 17:35:03 +0000 (13:35 -0400)]
Fix GCStress assertion

6 years agoBOTR: Ensure generic params/args are rendered properly (#18140)
stakx [Mon, 28 May 2018 15:25:14 +0000 (17:25 +0200)]
BOTR: Ensure generic params/args are rendered properly (#18140)

* BOTR: Ensure generic params/args are rendered properly

* Use inline code formatting for managed code

* Use inline code formatting for unmanaged code

6 years agoTypo (#18141)
John Doe [Sun, 27 May 2018 14:34:51 +0000 (07:34 -0700)]
Typo (#18141)

* Ajusted -> Adjusted

* alot -> a lot

* Ambigous -> Ambiguous

* amoun -> amount

* amoung -> among

* Amperstand -> Ampersand

* Anbody -> Anybody

* anddoens't ->  and doesn't

* anme -> name

* annoations -> annotations

* annother -> another

* anothr -> another

* ansynchronous -> asynchronous

* anticpation -> anticipation

* anway -> anyway

* aother -> another

* Apparant -> Apparent

* appartment -> apartment

* appdmomain -> appdomain

* Appdomian -> Appdomain

* appdomin -> appdomain

* approproiate -> appropriate

* approprate -> appropriate

* approp -> appropriate

* appened -> appended

* appropiately -> appropriately

* appropraitely -> appropriately

* Apperantly -> Apparently

* approp. -> appropriate

* Approriate -> Appropriate

6 years agoUpdate CoreClr, CoreFx to preview1-26526-01, preview1-26526-01, respectively (#18135)
dotnet-maestro-bot [Sat, 26 May 2018 06:35:32 +0000 (23:35 -0700)]
Update CoreClr, CoreFx to preview1-26526-01, preview1-26526-01, respectively (#18135)

6 years agoUpdating the compiler to not enable FMA if the global AVX flag is disabled.
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.

6 years agoAdding tests for the FMA hardware intrinsics.
Tanner Gooding [Sun, 20 May 2018 20:10:38 +0000 (13:10 -0700)]
Adding tests for the FMA hardware intrinsics.

6 years agoUpdating the JIT to handle the FMA hardware intrinsics.
Tanner Gooding [Wed, 23 May 2018 18:20:29 +0000 (11:20 -0700)]
Updating the JIT to handle the FMA hardware intrinsics.

6 years agoAdd mixed-mode Book of the Runtime entry (#18014)
Morgan Brown [Fri, 25 May 2018 23:00:44 +0000 (16:00 -0700)]
Add mixed-mode Book of the Runtime entry (#18014)

* Add mixed-mode Book of the Runtime entry

Documents how mixed-mode assemblies are specified and work in general.

6 years agodelete unused variables from jit (#18121)
Sergey Andreenko [Fri, 25 May 2018 22:02:20 +0000 (15:02 -0700)]
delete unused variables from jit (#18121)

6 years agoMerge pull request #18126 from CarolEidt/FixSuperPmi
Carol Eidt [Fri, 25 May 2018 21:59:05 +0000 (14:59 -0700)]
Merge pull request #18126 from CarolEidt/FixSuperPmi

Check SuperPmi map for null

6 years agoCheck SuperPmi map for null
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.

6 years agoUpdate CoreClr, PgoData to preview1-26525-04, master-20180525-0042, respectively...
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 (#18124)

6 years agoTypo (#18122)
John Doe [Fri, 25 May 2018 06:22:42 +0000 (23:22 -0700)]
Typo (#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

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to preview1-02824-02, preview1-26525...
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 (#18109)

6 years agoFix misplaced volatile (#18115)
Jan Kotas [Fri, 25 May 2018 01:18:56 +0000 (18:18 -0700)]
Fix misplaced volatile (#18115)

Fixes #13015

6 years agoUpdating BuildDelayFreeUses to also consider contained HWIntrinsic nodes.
Tanner Gooding [Thu, 24 May 2018 21:21:12 +0000 (14:21 -0700)]
Updating BuildDelayFreeUses to also consider contained HWIntrinsic nodes.

6 years agoMerge pull request #18103 from vancem/StringBuilderEnumeratorUpdate
Vance Morrison [Thu, 24 May 2018 21:52:35 +0000 (14:52 -0700)]
Merge pull request #18103 from vancem/StringBuilderEnumeratorUpdate

Add more comments and rename to StringBuilder.GetChunks()

6 years ago[Arm64] debugging work (#17993)
David Wrighton [Thu, 24 May 2018 21:35:47 +0000 (14:35 -0700)]
[Arm64] debugging work (#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

6 years agoUse sysconf(_SC_NPROCESSORS_CONF) instead of sysconf(_SC_NPROCESSORS_ONLN) (#18053)
Egor Chesakov [Thu, 24 May 2018 20:57:47 +0000 (13:57 -0700)]
Use sysconf(_SC_NPROCESSORS_CONF) instead of sysconf(_SC_NPROCESSORS_ONLN) (#18053)

6 years agoImprove SSA topological sort (#15200)
mikedn [Thu, 24 May 2018 19:01:41 +0000 (22:01 +0300)]
Improve SSA topological sort (#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

6 years agoRename EnumerateCHunks -> GetChunks per API review feedback.
Vance Morrison [Thu, 24 May 2018 18:01:46 +0000 (11:01 -0700)]
Rename EnumerateCHunks -> GetChunks per API review feedback.

6 years agoRealigning the hwintrinsiclistxarch table columns
Tanner Gooding [Thu, 24 May 2018 14:47:06 +0000 (07:47 -0700)]
Realigning the hwintrinsiclistxarch table columns

6 years agoFix a variety of typos (#18096)
John Doe [Thu, 24 May 2018 14:43:42 +0000 (07:43 -0700)]
Fix a variety of typos (#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

6 years agoOptimize Array.Clear using SpanHelpers (#18101)
Jan Kotas [Thu, 24 May 2018 14:07:20 +0000 (07:07 -0700)]
Optimize Array.Clear using SpanHelpers (#18101)

Reimplement most of Array.Clear in managed code using Span Clear helpers.

Fixes dotnet/corefx#29848

6 years agoUpdate g_highest_address and g_lowest_address in StompWriteBarrier(WriteBarrierOp...
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 (#18107)

6 years agosharing SerializationInfo for corert and coreclr (#18102)
Maryam Ariyan [Thu, 24 May 2018 06:04:14 +0000 (23:04 -0700)]
sharing SerializationInfo for corert and 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

6 years agoMerge pull request #18011 from CarolEidt/JitOptDoc
Carol Eidt [Thu, 24 May 2018 03:45:29 +0000 (20:45 -0700)]
Merge pull request #18011 from CarolEidt/JitOptDoc

Update struct handling section of Jit Opt Doc

6 years agoUpdate struct handling section of Jit Opt Doc
Carol Eidt [Tue, 15 May 2018 22:02:03 +0000 (15:02 -0700)]
Update struct handling section of Jit Opt Doc

6 years agoR2RDump - Dump generic method instances (#18080)
acmyu [Thu, 24 May 2018 00:24:03 +0000 (17:24 -0700)]
R2RDump - Dump generic method instances (#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

6 years agoCleaning up LinearScan::BuildHWIntrinsic
Tanner Gooding [Wed, 23 May 2018 17:47:44 +0000 (10:47 -0700)]
Cleaning up LinearScan::BuildHWIntrinsic

6 years agoAdd more comments to StringBuilder.EnumerateChunks()
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.

6 years agoRefactor fgDebugCheckBBlist (#18082)
Sergey Andreenko [Wed, 23 May 2018 20:52:15 +0000 (13:52 -0700)]
Refactor fgDebugCheckBBlist (#18082)

create BBPredsChecker

6 years agoSOS Fixes for windows arm32 (#18090)
Chris Sienkiewicz [Wed, 23 May 2018 17:39:56 +0000 (10:39 -0700)]
SOS Fixes for windows arm32 (#18090)

6 years agoMerge pull request #18079 from dotnet-maestro-bot/master-UpdateDependencies
Wes Haggard [Wed, 23 May 2018 17:29:28 +0000 (10:29 -0700)]
Merge pull request #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)

6 years agoFix parallel spmi return code. (#18093)
Sergey Andreenko [Wed, 23 May 2018 17:23:18 +0000 (10:23 -0700)]
Fix parallel spmi return code. (#18093)

6 years agoMerge pull request #18099 from CarolEidt/FixEliminNodeInfo
Carol Eidt [Wed, 23 May 2018 16:58:49 +0000 (09:58 -0700)]
Merge pull request #18099 from CarolEidt/FixEliminNodeInfo

Fix desktop build break

6 years agoFix desktop build break
Carol Eidt [Wed, 23 May 2018 15:02:59 +0000 (08:02 -0700)]
Fix desktop build break

6 years agoMerge pull request #18086 from sdmaclea/PR-delete_next_card_table
Bruce Forstall [Wed, 23 May 2018 14:53:12 +0000 (07:53 -0700)]
Merge pull request #18086 from sdmaclea/PR-delete_next_card_table

Mark delete_next_card_table

6 years agoCreate RefPositions without TreeNodeInfo (#16517)
Carol Eidt [Wed, 23 May 2018 14:39:43 +0000 (07:39 -0700)]
Create RefPositions without TreeNodeInfo (#16517)

* Create RefPositions without TreeNodeInfo

* Remove all references to TreeNodeInfo

* Fix function header comments

6 years agoMerge pull request #18087 from BruceForstall/RemoveMoreLEGACY_BACKEND
Bruce Forstall [Wed, 23 May 2018 14:33:57 +0000 (07:33 -0700)]
Merge pull request #18087 from BruceForstall/RemoveMoreLEGACY_BACKEND

Remove more JIT LEGACY_BACKEND tendrils

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to preview1-02823-01, preview1-26523...
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

6 years agoFix race in test waitone1 (#18085)
Steve MacLean [Wed, 23 May 2018 08:57:42 +0000 (04:57 -0400)]
Fix race in test waitone1 (#18085)

6 years agoRemove more JIT LEGACY_BACKEND tendrils
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

6 years agofix desktop (#18092)
Sergey Andreenko [Wed, 23 May 2018 02:38:44 +0000 (19:38 -0700)]
fix desktop (#18092)

6 years agoRemove -Rebuild option from build scripts (#18089)
Brian Robbins [Wed, 23 May 2018 02:13:20 +0000 (19:13 -0700)]
Remove -Rebuild option from build scripts (#18089)

6 years agoadd treeLifeUpdater (#18021)
dotnet bot [Wed, 23 May 2018 00:47:42 +0000 (17:47 -0700)]
add treeLifeUpdater (#18021)

[tfs-changeset: 1700288]

6 years agoMerge pull request #17530 from vancem/StringBuilderEnumerator
Vance Morrison [Tue, 22 May 2018 23:07:45 +0000 (16:07 -0700)]
Merge pull request #17530 from vancem/StringBuilderEnumerator

Adding EnumerateChunks which allow efficient scanning of a StringBuilder

6 years agoRemove JIT LEGACY_BACKEND code (#18064)
Bruce Forstall [Tue, 22 May 2018 20:50:38 +0000 (13:50 -0700)]
Remove JIT LEGACY_BACKEND code (#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

6 years agoMark delete_next_card_table
Steve MacLean [Tue, 22 May 2018 19:29:51 +0000 (15:29 -0400)]
Mark delete_next_card_table

GCStressIncompatible=true
IsLongRunningGCTest=true

6 years agoMove InsufficientMemory, OutOfMemory and ThreadInterrupted exceptions (#18049)
Maryam Ariyan [Tue, 22 May 2018 18:26:07 +0000 (11:26 -0700)]
Move InsufficientMemory, OutOfMemory and ThreadInterrupted exceptions (#18049)

* Move following exceptions to shared:

    - InsufficientMemory,
    - OutOfMemory
    - ThreadInterrupted

Related to: dotnet/coreclr#17904

Reduced diff in RegistryKey visible between coreclr and corert

6 years agoFixe whitespace
Vance Morrison [Tue, 22 May 2018 18:25:01 +0000 (11:25 -0700)]
Fixe whitespace

6 years agoFix whitespace
Vance Morrison [Tue, 22 May 2018 18:18:36 +0000 (11:18 -0700)]
Fix whitespace

6 years agoFix attribute placement
Vance Morrison [Tue, 22 May 2018 18:16:05 +0000 (11:16 -0700)]
Fix attribute placement

6 years agoCollapse ChunkEnumerable and ChunkEnumerator.
Vance Morrison [Tue, 22 May 2018 17:55:16 +0000 (10:55 -0700)]
Collapse ChunkEnumerable and ChunkEnumerator.

6 years agoFix compareexchangetstring thread safety (#18075)
Steve MacLean [Tue, 22 May 2018 14:05:57 +0000 (10:05 -0400)]
Fix compareexchangetstring thread safety (#18075)

6 years agoadd stackLevelSetter to the VS header list. (#18077)
Sergey Andreenko [Tue, 22 May 2018 04:09:28 +0000 (21:09 -0700)]
add stackLevelSetter to the VS header list. (#18077)

6 years agoadd repro for #18056 (#18057)
Sergey Andreenko [Tue, 22 May 2018 04:08:58 +0000 (21:08 -0700)]
add repro for #18056  (#18057)

* add repro

* add the exclusion

* fix comments

6 years agoCode cleanup and formatting for System.Memory files. (#17451)
Ahson Khan [Tue, 22 May 2018 01:03:55 +0000 (18:03 -0700)]
Code cleanup and formatting for System.Memory files. (#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

6 years agosmall fixes to build CoreCLR on FreeBSD again (#18072)
Tomas Weinfurt [Tue, 22 May 2018 00:38:50 +0000 (17:38 -0700)]
small fixes to build CoreCLR on FreeBSD again (#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

6 years agoUpdate BuildTools, PgoData to preview1-02821-03, master-20180521-0051, respectively...
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 (#18066)

6 years agoOnly include DotNETRuntimeEventSource.cs if it exists. (#18074)
Brian Robbins [Mon, 21 May 2018 21:51:43 +0000 (14:51 -0700)]
Only include DotNETRuntimeEventSource.cs if it exists. (#18074)

6 years agoMerge pull request #18032 from sdmaclea/PR-ARM64-LSE-ATOMICS
Bruce Forstall [Mon, 21 May 2018 21:37:54 +0000 (14:37 -0700)]
Merge pull request #18032 from sdmaclea/PR-ARM64-LSE-ATOMICS

[Arm64] Add basic ARMv8.1 Atomics

6 years agoReduce the number of days to keep artifacts for perf (#18073)
Michelle McDaniel [Mon, 21 May 2018 20:17:18 +0000 (13:17 -0700)]
Reduce the number of days to keep artifacts for perf (#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.

6 years ago Implement ICorDebugILFrame3::GetReturnValueForILOffset on arm32 (#18050)
Chris Sienkiewicz [Mon, 21 May 2018 19:24:06 +0000 (12:24 -0700)]
 Implement ICorDebugILFrame3::GetReturnValueForILOffset on arm32 (#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

6 years agoMerge pull request #18058 from dotnetrt/gh18041
Carol Eidt [Mon, 21 May 2018 18:37:57 +0000 (11:37 -0700)]
Merge pull request #18058 from dotnetrt/gh18041

Fix codegen for HW intrinsic Sse2.ConvertToInt32WithTruncation

6 years agoUpdate Tizen CI docker image (#17814)
Gleb Balykov [Mon, 21 May 2018 15:33:40 +0000 (18:33 +0300)]
Update Tizen CI docker image (#17814)

* Update Tizen CI docker image

* Revert "Remove Tizen armel automatic PR triggered jobs"

This reverts commit 462e2b59c67b0b6d25985a7284616539f348cbfc.

* Update Tizen CI docker image in netci

* Update links required for generation of Tizen rootfs

* Remove -rebuild from arm32 CI docker build

6 years agoFix ConvertToInt32WithTruncation tests
Jacek Blaszczynski [Fri, 18 May 2018 23:15:50 +0000 (01:15 +0200)]
Fix ConvertToInt32WithTruncation tests

6 years agoUpdate PgoData to master-20180520-0038 (#18065)
dotnet-maestro-bot [Sun, 20 May 2018 19:44:47 +0000 (12:44 -0700)]
Update PgoData to master-20180520-0038 (#18065)

6 years agoUpdate PgoData to master-20180519-0051 (#18062)
dotnet-maestro-bot [Sat, 19 May 2018 19:01:44 +0000 (12:01 -0700)]
Update PgoData to master-20180519-0051 (#18062)

6 years agoFix CoreRT build break
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>
6 years agoRemove bogus NoInlining uses (#18061)
mikedn [Sat, 19 May 2018 15:05:17 +0000 (18:05 +0300)]
Remove bogus NoInlining uses (#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.

6 years agoMerge pull request #15348 from mikedn/ssa-indir
Carol Eidt [Sat, 19 May 2018 13:45:49 +0000 (06:45 -0700)]
Merge pull request #15348 from mikedn/ssa-indir

Remove useless IndirectAssignmentAnnotation

6 years agoAvoid freezing ConcurrentQueue segments in Count (#18035)
Stephen Toub [Sat, 19 May 2018 02:07:02 +0000 (22:07 -0400)]
Avoid freezing ConcurrentQueue segments in Count (#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

6 years agoFix codegen for HW intrinsic Sse2.ConvertToInt32WithTruncation
Jacek Blaszczynski [Fri, 18 May 2018 23:11:49 +0000 (01:11 +0200)]
Fix codegen for HW intrinsic Sse2.ConvertToInt32WithTruncation

Fixes #18041

6 years agoRemove useless IndirectAssignmentAnnotation
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.

6 years agoAdd another readonly attribute
Vance Morrison [Fri, 18 May 2018 20:40:11 +0000 (13:40 -0700)]
Add another readonly attribute

6 years agoadd readonly attributes
Vance Morrison [Fri, 18 May 2018 20:38:06 +0000 (13:38 -0700)]
add readonly attributes

6 years agoJIT: treat SIMD types as structs in box optimizations (#18046)
Andy Ayers [Fri, 18 May 2018 20:00:29 +0000 (13:00 -0700)]
JIT: treat SIMD types as structs in box optimizations (#18046)

Otherwise we may leave unconsumed GT_OBJs around, which is problematic for the
jit later on.

Fixes #18043.

6 years agoJIT: clear up some no-op casts in the importer (#17996)
Andy Ayers [Fri, 18 May 2018 19:58:59 +0000 (12:58 -0700)]
JIT: clear up some no-op casts in the importer (#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.

6 years agoMerge pull request #17991 from sdmaclea/PR-ARM64-STACK-PACKING
Carol Eidt [Fri, 18 May 2018 18:11:50 +0000 (11:11 -0700)]
Merge pull request #17991 from sdmaclea/PR-ARM64-STACK-PACKING

[Arm64] Fix stack struct arg packing

6 years agoUpdate BuildTools, PgoData to preview1-02817-01, master-20180518-0039, respectively...
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 (#18038)

6 years agoImprove comments, review feedback.
Vance Morrison [Fri, 18 May 2018 15:18:48 +0000 (08:18 -0700)]
Improve comments, review feedback.

6 years agoUpdate osx-instructions.md (#18000)
Artem Koval [Fri, 18 May 2018 05:28:37 +0000 (08:28 +0300)]
Update osx-instructions.md (#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.

6 years agoRevert PR 17881 to unblock integration into CoreFx (#18036)
Atsushi Kanamori [Fri, 18 May 2018 03:09:39 +0000 (20:09 -0700)]
Revert PR 17881 to unblock integration into CoreFx (#18036)

6 years agoR2RDump - Runtime function RVAs and method signatures (#17994)
acmyu [Fri, 18 May 2018 01:58:24 +0000 (18:58 -0700)]
R2RDump - Runtime function RVAs and method signatures (#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

6 years ago[Arm64] Add basic ARMv8.1 Atomics
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

6 years agoMerge pull request #17764 from sdmaclea/PR-ARM64-CI-Match-Arm32
Bruce Forstall [Thu, 17 May 2018 21:45:15 +0000 (14:45 -0700)]
Merge pull request #17764 from sdmaclea/PR-ARM64-CI-Match-Arm32

[Arm64/Ubuntu] CI match arm32 except triggers

6 years ago[Arm64/Ubuntu] match arm32 except triggers
Steve MacLean [Tue, 24 Apr 2018 21:47:35 +0000 (17:47 -0400)]
[Arm64/Ubuntu] match arm32 except triggers

6 years agoBetter comments
Vance Morrison [Thu, 17 May 2018 17:46:57 +0000 (10:46 -0700)]
Better comments

6 years agoFix typo
Vance Morrison [Thu, 17 May 2018 17:41:29 +0000 (10:41 -0700)]
Fix typo

6 years agoUpdate PgoData to master-20180517-0042 (#18029)
dotnet-maestro-bot [Thu, 17 May 2018 15:07:30 +0000 (10:07 -0500)]
Update PgoData to master-20180517-0042 (#18029)

6 years agoUpdate CoreClr, CoreFx, PgoData to preview1-26517-01, preview1-26517-01, master-20180...
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 (#18027)

6 years agoReplace sizeof(TADDR) with TARGET_POINTER_SIZE in Zap (#18028)
Egor Chesakov [Thu, 17 May 2018 02:49:18 +0000 (19:49 -0700)]
Replace sizeof(TADDR) with TARGET_POINTER_SIZE in Zap (#18028)

6 years agoGenerate EventSources Representing DotNETRuntime Eventing Providers (#18007)
Brian Robbins [Thu, 17 May 2018 01:59:51 +0000 (18:59 -0700)]
Generate EventSources Representing DotNETRuntime Eventing Providers (#18007)

6 years agoAdd Asserts. Fix bug found in testing.
Vance Morrison [Thu, 17 May 2018 01:55:41 +0000 (18:55 -0700)]
Add Asserts.  Fix bug found in testing.

6 years agoAdd some more documentation for ValueTask (dotnet/corefx#29726)
Stephen Toub [Wed, 16 May 2018 20:21:02 +0000 (16:21 -0400)]
Add some more documentation for ValueTask (dotnet/corefx#29726)

* Add some more documentation for ValueTask

* Address PR feedback

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoSystem.Reflection: Replicate custom modifiers of method parameters in MemberRef signa...
stakx [Wed, 16 May 2018 22:48:40 +0000 (00:48 +0200)]
System.Reflection: Replicate custom modifiers of method parameters in MemberRef signatures (#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.

6 years agoUpdate CoreClr to preview1-26516-05 (#18018)
dotnet-maestro-bot [Wed, 16 May 2018 21:30:52 +0000 (16:30 -0500)]
Update CoreClr to preview1-26516-05 (#18018)

6 years agoMoving ConcurrentQueue to shared (#18024)
Maryam Ariyan [Wed, 16 May 2018 21:02:10 +0000 (14:02 -0700)]
Moving ConcurrentQueue to shared (#18024)

Making IProducerConsumerCollectionDebugView apis public

Fixes: #17751

6 years agoUpdate CoreClr to preview1-26516-01 (#18015)
dotnet-maestro-bot [Wed, 16 May 2018 03:22:24 +0000 (22:22 -0500)]
Update CoreClr to preview1-26516-01 (#18015)