platform/upstream/coreclr.git
5 years agoMerge pull request #23086 from BruceForstall/Arm64ChangeIntFloatSaveOrder
Bruce Forstall [Fri, 8 Mar 2019 20:25:21 +0000 (12:25 -0800)]
Merge pull request #23086 from BruceForstall/Arm64ChangeIntFloatSaveOrder

Arm64: always save int registers at higher addresses than float regs

5 years agoOptimized RemoveItemsRange to call the list.RemoveRange if the items is of type List<T>
Andrew Hoefling [Thu, 7 Mar 2019 23:08:22 +0000 (18:08 -0500)]
Optimized RemoveItemsRange to call the list.RemoveRange if the items is of type List<T>

5 years agoSimplified the RemoveItem logic since we have more robust validation
Andrew Hoefling [Thu, 7 Mar 2019 00:34:57 +0000 (19:34 -0500)]
Simplified the RemoveItem logic since we have more robust validation

5 years agoInsertItemsRange API now checks if the underlying items.IsReadOnly first then collect...
Andrew Hoefling [Wed, 6 Mar 2019 17:57:09 +0000 (12:57 -0500)]
InsertItemsRange API now checks if the underlying items.IsReadOnly first then collection == null

5 years agoRemoved (Int64) cast statements from RemoveItemsRange when checking for overflow...
Andrew Hoefling [Wed, 6 Mar 2019 17:47:03 +0000 (12:47 -0500)]
Removed (Int64) cast statements from RemoveItemsRange when checking for overflow errors

5 years agoAdded new RemoveRange validation check to see if the resulting range (index + count...
Andrew Hoefling [Wed, 6 Mar 2019 01:31:19 +0000 (20:31 -0500)]
Added new RemoveRange validation check to see if the resulting range (index + count) > items.Count and if it is true throw ArgumentException

5 years agoUpdated InsertItemsRange to simplify the expression and added performance improvement...
Andrew Hoefling [Wed, 6 Mar 2019 00:00:01 +0000 (19:00 -0500)]
Updated InsertItemsRange to simplify the expression and added performance improvements. If the underlying `items` is using List<T> we should use it's InsertRange method since it is optimized, othersie we use InsertItem

5 years agoUpdated RemoveAt->RemoveItem. This change removes redundent validation checks that...
Andrew Hoefling [Tue, 5 Mar 2019 23:46:05 +0000 (18:46 -0500)]
Updated RemoveAt->RemoveItem. This change removes redundent validation checks that happen using the RemoveAt API. RemoveItem gives us direct access to invoke the command

5 years agoUpdated RemoveRange invocation of RemoveAt to use index instead of i, because the...
Andrew Hoefling [Tue, 5 Mar 2019 23:15:08 +0000 (18:15 -0500)]
Updated RemoveRange invocation of RemoveAt to use index instead of i, because the array changes with each iteration of the for loop and will cause side-effects which may include index out of range exceptions. This needs to be index because as the array shrinks the index is always at the correct position.

5 years agoAdded ArgumentOutOfRangeException exception in RemoveRange if the count is less than 0
Andrew Hoefling [Tue, 5 Mar 2019 23:14:01 +0000 (18:14 -0500)]
Added ArgumentOutOfRangeException exception in RemoveRange if the count is less than 0

5 years agoUpdated RemoveItemsRange to properly remove each item and not just the index items
Andrew Hoefling [Tue, 5 Mar 2019 05:26:08 +0000 (00:26 -0500)]
Updated RemoveItemsRange to properly remove each item and not just the index items

5 years agoUpdated RemoveItemsRange to prevent int.MaxValue overflow errors
Andrew Hoefling [Tue, 5 Mar 2019 04:50:36 +0000 (23:50 -0500)]
Updated RemoveItemsRange to prevent int.MaxValue overflow errors

5 years agoRemove ternary operator from invocation as it is the same as inputing items.Count
Andrew Hoefling [Tue, 5 Mar 2019 04:44:19 +0000 (23:44 -0500)]
Remove ternary operator from invocation as it is the same as inputing items.Count

5 years agoAdded ReplaceItemsRange API and updated ReplaceRange to invoke the protected method
Andrew Hoefling [Tue, 5 Mar 2019 03:28:05 +0000 (22:28 -0500)]
Added ReplaceItemsRange API and updated ReplaceRange to invoke the protected method

5 years agoAdding braces on for loop
Andrew Hoefling [Tue, 5 Mar 2019 02:54:41 +0000 (21:54 -0500)]
Adding braces on for loop

5 years agoUpdated foreach to use T instead of var
Andrew Hoefling [Tue, 5 Mar 2019 02:53:52 +0000 (21:53 -0500)]
Updated foreach to use T instead of var

5 years agoUpdated index out of range exception check to be a single comparison
Andrew Hoefling [Tue, 5 Mar 2019 02:53:26 +0000 (21:53 -0500)]
Updated index out of range exception check to be a single comparison

5 years agoAdded new Range Manipulation APIs for Collection<T> which propogate up to ObservableC...
Andrew Hoefling [Tue, 5 Mar 2019 01:16:16 +0000 (20:16 -0500)]
Added new Range Manipulation APIs for Collection<T> which propogate up to ObservableCollection<T>. AddRange, InsertRange, RemoveRange and Replace Range

5 years agoAllow deserialization for ResourceManager created with non-default resource set type...
Filip Navara [Fri, 8 Mar 2019 18:55:25 +0000 (19:55 +0100)]
Allow deserialization for ResourceManager created with non-default resource set type (#23051)

5 years agoMerge pull request #23119 from BruceForstall/Arm64PrePostIndexCoalescing
Bruce Forstall [Fri, 8 Mar 2019 18:31:56 +0000 (10:31 -0800)]
Merge pull request #23119 from BruceForstall/Arm64PrePostIndexCoalescing

Allow coalescing of SP adjustment into single register prolog STR/LDR

5 years agoImprove SSA renaming memory usage (#15000)
mikedn [Fri, 8 Mar 2019 18:29:07 +0000 (20:29 +0200)]
Improve SSA renaming memory usage (#15000)

* Cleanup DumpStacks

It's not exactly useful to dump all the stacks after pushing to a stack. Nor is it useful to dump all the stack after popping only some, perhaps none, in PopBlockStacks.

Also dump stack from top to bottom, makes it easier to find the top, which is usually what you care about during SSA renaming.

* Stop passing null block to SsaRenameState::Push

It makes no difference if the definition is in the "block before any real blocks..." or at the start of the first block, it's just an unnecessary complication.

* Stop handling byrefStatesMatchGcHeapStates in SsaRenameState

SsaBuilder already handles that, doing it again in SsaRenameState just duplicates logic.

* Stop using "count" as a name for "SSA number"

Worst name ever.

Also use "block" consistently, instead of a mix of "bb" and "block".

* Delete "ConstructedArray", not needed

* Various cleanup

- Change SsaRenameState to a class
- Cleanup remaining function comments
- Move SsaRenameStateForBlock & SsaRenameStateLocDef inside SsaRenameState
- Make EnsureStacks private
- Reorder data members
- Use m_ prefix consistently

* Replace jitstd::list with a custom stack

std::list has a few drawbacks:
- It's a doubly linked list but a singly linked list suffices so every node wastes 8 bytes for an extra pointer.
- The list object itself is relatively large 2 head/tail pointers, node count and memory allocator. There can be hundreds of such objects (one for each local variable) so the smaller the better.

Replace with a simple singly linked, intrusive list based stack.

* Share push code between lclvar and memory

It's pretty much the same logic (the only difference is that in the memory case "top" can't ever be null so by sharing the code we get a redundant null check).

5 years agoAdd outerloop-jitstressregs, outerloop-jitstress2-jitstressregs, outerloop-gcstress0x...
Egor Chesakov [Fri, 8 Mar 2019 17:56:20 +0000 (09:56 -0800)]
Add outerloop-jitstressregs, outerloop-jitstress2-jitstressregs, outerloop-gcstress0x3-gcstress0xc TestGroups (#23047)

The following build definitions

* coreclr-ci
* coreclr-outerloop
* coreclr-outerloop-jitminopts-jitstress1-jitstress2
* coreclr-outerloop-jitstressregs
* coreclr-outerloop-jitstress2-jitstressregs
* coreclr-outerloop-gcstress0x3-gcstress0xc

can be triggered from pull requests via /azp run x command.

5 years agoJIT: rework codegen for Arm64 SIMD Extract/Insert intrinsics (#23114)
Andy Ayers [Fri, 8 Mar 2019 17:02:03 +0000 (09:02 -0800)]
JIT: rework codegen for Arm64 SIMD Extract/Insert intrinsics (#23114)

Add an up-front bounds check during importation instead of waiting
until codegen. Mirrors what we do for similar cases on xarch.

Closes #20260.

5 years agoMerge pull request #23052 from CarolEidt/Fix22850
Carol Eidt [Fri, 8 Mar 2019 16:35:39 +0000 (08:35 -0800)]
Merge pull request #23052 from CarolEidt/Fix22850

Correctly type SIMD stack values

5 years agodisabling tracing/tracevalidation/inducedgc/inducedgc test on ARM64 (#23125)
Sung Yoon Whang [Fri, 8 Mar 2019 09:17:51 +0000 (01:17 -0800)]
disabling tracing/tracevalidation/inducedgc/inducedgc test on ARM64 (#23125)

5 years agoUse platform specific implementation of GetCurrentProcessId (#23084)
Marek Safar [Fri, 8 Mar 2019 07:27:54 +0000 (08:27 +0100)]
Use platform specific implementation of GetCurrentProcessId (#23084)

* Use platform specific implementation of GetCurrentProcessId

directly in shared location instead of relying on runtime export

* Move GetCurrentProcessId to Interop class

* Update ES_BUILD_STANDALONE build

5 years agoAdded UserFlags field, unblocks #34560 (dotnet/corefx#35851)
Dávid Kaya [Fri, 8 Mar 2019 05:12:31 +0000 (06:12 +0100)]
Added UserFlags field, unblocks #34560 (dotnet/corefx#35851)

* Added UserFlags field

* Added UserFlags

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
5 years agoFix a rare JitStress assert. (#23116)
Sergey Andreenko [Fri, 8 Mar 2019 03:43:37 +0000 (19:43 -0800)]
Fix a rare JitStress assert. (#23116)

* Fix undefined behaviour when we check `this==nullptr`.

* Fix ifdef comment.

* Fix rare jit stress assert.

flowgraph.cpp: !IsUninitialized(tree) can fail if `UninitializedWord` returns a valid pointer value.

5 years agoFix how we check whether events are enabled via LTTng (#22707)
Sung Yoon Whang [Fri, 8 Mar 2019 02:34:17 +0000 (18:34 -0800)]
Fix how we check whether events are enabled via LTTng (#22707)

* Fix how we check whether events are enabled via LTTng

* Add GCToEEInterface::UpdateGCEventStatus

* Fix build errors

* Finished hooking it up to post_gc

* Some comments about the event keyword/level detection logic

* Fix windows build

* Fix Prv provider keyword logic

* forgot to add one more ifdef

* Fix OSX build

* one more ifdef to fix

* Addressing PR feedback

* Update GCEventStatus at gc_heap::initialize_gc too

5 years agoAllow coalescing of SP adjustment into single register prolog STR/LDR
Bruce Forstall [Fri, 8 Mar 2019 01:08:53 +0000 (17:08 -0800)]
Allow coalescing of SP adjustment into single register prolog STR/LDR

5 years agoMerge pull request #22708 from BrianBohe/updating_comments
Carol Eidt [Fri, 8 Mar 2019 00:40:18 +0000 (16:40 -0800)]
Merge pull request #22708 from BrianBohe/updating_comments

Updating ScopeInfo::siUpdate comments/documentation

5 years agoAdd missing CopyToAsync override in FileStream.Unix.cs (#23101)
Stephen Toub [Thu, 7 Mar 2019 22:28:21 +0000 (14:28 -0800)]
Add missing CopyToAsync override in FileStream.Unix.cs (#23101)

5 years agoDisable tests based on 23103 and 23096 (#23104)
Jarret Shook [Thu, 7 Mar 2019 21:35:09 +0000 (13:35 -0800)]
Disable tests based on 23103 and 23096 (#23104)

* Disable tests based on 23103 and 23096

* Remove disable for arm32 AV

5 years agoFix ARMv8.1 atomics disassembly (#23070)
mikedn [Thu, 7 Mar 2019 21:29:09 +0000 (23:29 +0200)]
Fix ARMv8.1 atomics disassembly (#23070)

Fixes #20721.

5 years agoUpdate error message for when a parent is marked as COMVisible(false) (#23092)
Aaron Robinson [Thu, 7 Mar 2019 20:19:53 +0000 (12:19 -0800)]
Update error message for when a parent is marked as COMVisible(false) (#23092)

* Update message to include type and parent type marked as COMVisible(false)

5 years agoJIT: fix filter liveness computation (#23044)
Andy Ayers [Thu, 7 Mar 2019 18:52:19 +0000 (10:52 -0800)]
JIT: fix filter liveness computation (#23044)

When a filter is finished executing, control can logically pass to the
associated handler, any enclosing handler or filter, or any finally or fault
handler nested within the associated try. This is a consequence of two-pass EH.

The jit was not propagating liveness from the nested handlers, which lead to a
live object being collected inadvertently.

This change updates `fgGetHandlerLiveVars` to find the nested handlers and
merge their live-in into the filter block live sets.

Because these implicit EH flow edges can create cycles in the liveness dataflow
equations, the jit will also now always iterate liveness when it sees there is
exception flow, to ensure livness reaches the appropriate fixed point.

Added test case.

Closes #22820.

5 years agoFix control C trap hang in the debugger (#23090)
Juan Hoyos [Thu, 7 Mar 2019 18:35:25 +0000 (10:35 -0800)]
Fix control C trap hang in the debugger (#23090)

5 years agoClean up some arm64 prolog/epilog code (#23080)
Bruce Forstall [Thu, 7 Mar 2019 17:25:17 +0000 (09:25 -0800)]
Clean up some arm64 prolog/epilog code (#23080)

* Clean up some arm64 prolog/epilog code

1. For frame types which establish a frame pointer before the final
SP adjustment, there is no need to report the SP adjustment in unwind
data, as it is unused.
2. Added some comments, esp. related to frameType 1, explaining the
totalFrameSize limit.
3. Fixed frameType 3 #outsz check to > 504 versus >= 504; 504 is a legal
offset for STP/LDP.
4. Fix frameType 3 epilogs to always restore SP from FP. Should give more
prolog/epilog unwind code matching, and simplifies the code.

Closes #22056, #22058, #22057, #22476, #22478.

* Formatting

* Update comment

5 years agoMerge pull request #23085 from BruceForstall/FixAsmDiffScratchRoot
Bruce Forstall [Thu, 7 Mar 2019 16:34:29 +0000 (08:34 -0800)]
Merge pull request #23085 from BruceForstall/FixAsmDiffScratchRoot

Fix PMI asm diffs

5 years agoCleanup unused hosting interfaces (#23091)
Jan Kotas [Thu, 7 Mar 2019 15:37:04 +0000 (07:37 -0800)]
Cleanup unused hosting interfaces (#23091)

5 years agoCleanup Globalization info code (#22591)
Hugh Bellamy [Thu, 7 Mar 2019 14:39:23 +0000 (14:39 +0000)]
Cleanup Globalization info code (#22591)

5 years agoIgnore warning in another build script. (#23082)
Sergey Andreenko [Thu, 7 Mar 2019 07:09:11 +0000 (23:09 -0800)]
Ignore warning in another build script. (#23082)

5 years agoFix comment (#23058)
Next Turn [Thu, 7 Mar 2019 02:26:51 +0000 (10:26 +0800)]
Fix comment (#23058)

5 years agoFix missing includes in coreclr/src/debug/createdump/ (#23075)
Mike McLaughlin [Thu, 7 Mar 2019 01:57:13 +0000 (17:57 -0800)]
Fix missing includes in coreclr/src/debug/createdump/ (#23075)

See issue 19722.

5 years agoRemove legacy behavior around non-virtual interface calls (#23032)
Michal Strehovský [Thu, 7 Mar 2019 00:52:36 +0000 (01:52 +0100)]
Remove legacy behavior around non-virtual interface calls (#23032)

* Throw BadImageFormat for direct calls to abstract methods

* Remove legacy behavior around non-virtual interface calls

* Try fixing failing tests

The test we inherited from the default interface method prototype branch is doing exactly the thing it shouldn't do (rely on the bad behavior) for unexplained reasons.

5 years agoUse Microsoft Container Registry for docker images (#23061)
Sven Boemer [Thu, 7 Mar 2019 00:26:17 +0000 (16:26 -0800)]
Use Microsoft Container Registry for docker images (#23061)

* Use Microsoft Container Registry for docker images

https://github.com/dotnet/dotnet-buildtools-prereqs-docker has been updated to publish docker images to the Microsoft Container Registry.

* Also update netci.groovy

5 years agoFix ProjectN build breaks (dotnet/corert#7115)
Michal Strehovský [Mon, 4 Mar 2019 17:41:36 +0000 (18:41 +0100)]
Fix ProjectN build breaks (dotnet/corert#7115)

Signed-off-by: dotnet-bot <anirudhagnihotry098@gmail.com>
5 years agoFix ValueStringBuilder.EnsureCapacity to call Grow correctly (#35810)
Honza Rameš [Wed, 6 Mar 2019 15:51:17 +0000 (16:51 +0100)]
Fix ValueStringBuilder.EnsureCapacity to call Grow correctly (#35810)

* Fix ValueStringBuilder.EnsureCapacity to call Grow correctly (#35746)

Call to EnsureCapacity may result in invalid buffer size being
allocated.

* Update ValueStringBuilder.Grow to prevent misuse (#35746)

Updated name of the argument to make it clearer on the call-site also
added summary co clearly state the behavior of Grow.

Signed-off-by: dotnet-bot <anirudhagnihotry098@gmail.com>
5 years agoUpdate dependencies from dotnet/core-setup (dotnet/corefx#35713)
dotnet-maestro[bot] [Tue, 5 Mar 2019 19:17:12 +0000 (19:17 +0000)]
Update dependencies from dotnet/core-setup (dotnet/corefx#35713)

* Update dependencies from https://github.com/dotnet/core-setup build 20190301.13

This change updates the following dependencies
- Microsoft.NETCore.App - 3.0.0-preview4-27501-13
- Microsoft.NETCore.DotNetHost - 3.0.0-preview4-27501-13
- Microsoft.NETCore.DotNetHostPolicy - 3.0.0-preview4-27501-13

* Remove workaround for System.Runtime.CompilerServices.Unsafe

* Update dependencies from https://github.com/dotnet/core-setup build 20190302.8

This change updates the following dependencies
- Microsoft.NETCore.App - 3.0.0-preview4-27502-8
- Microsoft.NETCore.DotNetHost - 3.0.0-preview4-27502-8
- Microsoft.NETCore.DotNetHostPolicy - 3.0.0-preview4-27502-8

* Update dependencies from https://github.com/dotnet/core-setup build 20190303.9

This change updates the following dependencies
- Microsoft.NETCore.App - 3.0.0-preview4-27503-9
- Microsoft.NETCore.DotNetHost - 3.0.0-preview4-27503-9
- Microsoft.NETCore.DotNetHostPolicy - 3.0.0-preview4-27503-9

* Update dependencies from https://github.com/dotnet/core-setup build 20190304.10

This change updates the following dependencies
- Microsoft.NETCore.App - 3.0.0-preview4-27504-10
- Microsoft.NETCore.DotNetHost - 3.0.0-preview4-27504-10
- Microsoft.NETCore.DotNetHostPolicy - 3.0.0-preview4-27504-10

* Don't include EventRegistrationToken on Unix

This type was accidentally duplicated between CoreLib and contracts.

Suppress that for now since we're detecting the duplication in the shared framework.

Make a fix in the shared items to restore the condition on this type.

Signed-off-by: dotnet-bot <anirudhagnihotry098@gmail.com>
5 years agoProject msbuild syntax cleanup (dotnet/corefx#35686)
Viktor Hofer [Sun, 3 Mar 2019 17:55:25 +0000 (18:55 +0100)]
Project msbuild syntax cleanup (dotnet/corefx#35686)

* Remove license header from non-shipping files

* Remove obsolete Project attributes

* Remove xml header and remove DefaultTargets

Signed-off-by: dotnet-bot <anirudhagnihotry098@gmail.com>
5 years agoChange IBC data path to match Arcade standard (#23063)
Michelle McDaniel [Thu, 7 Mar 2019 00:19:16 +0000 (16:19 -0800)]
Change IBC data path to match Arcade standard (#23063)

5 years agoArm64: always save int registers at higher addresses than float regs
Bruce Forstall [Thu, 7 Mar 2019 00:18:32 +0000 (16:18 -0800)]
Arm64: always save int registers at higher addresses than float regs

This is just to be consistent across all frame types, for simplicity.

5 years agoUpdate dependencies from https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet...
dotnet-maestro[bot] [Thu, 7 Mar 2019 00:16:01 +0000 (16:16 -0800)]
Update dependencies from https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190306.3 (#23076)

This change updates the following dependencies
- optimization.IBC.CoreCLR - 99.99.99-master-20190306.3
- optimization.PGO.CoreCLR - 99.99.99-master-20190306.3

5 years agoFix PMI asm diffs
Bruce Forstall [Wed, 6 Mar 2019 23:55:11 +0000 (15:55 -0800)]
Fix PMI asm diffs

Fix scratch_root validation

5 years agoDo not conflict publish name based on scenario (#23041)
Jarret Shook [Wed, 6 Mar 2019 23:00:37 +0000 (15:00 -0800)]
Do not conflict publish name based on scenario (#23041)

* Do not conflict publish name based on scenario

* Fix syntax error

5 years agoAdding *.nuget.dgspec.json to the gitignore file. (#23033)
Tanner Gooding [Wed, 6 Mar 2019 20:41:44 +0000 (12:41 -0800)]
Adding *.nuget.dgspec.json to the gitignore file. (#23033)

5 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190304.10 ...
dotnet-maestro[bot] [Wed, 6 Mar 2019 19:56:00 +0000 (11:56 -0800)]
Update dependencies from https://github.com/dotnet/core-setup build 20190304.10 (#23031)

This change updates the following dependencies
- Microsoft.NETCore.App - 3.0.0-preview4-27504-10

5 years agoTemporarily disable some WaitAny tests that have been failing periodically in the...
Koundinya Veluri [Wed, 6 Mar 2019 19:17:18 +0000 (11:17 -0800)]
Temporarily disable some WaitAny tests that have been failing periodically in the CI (#22997)

Issues:
- https://github.com/dotnet/coreclr/issues/19515
- https://github.com/dotnet/coreclr/issues/19406
- https://github.com/dotnet/coreclr/issues/14249

5 years agoImprove resiliency of LoadIBCMethodHelper (#23057)
Michal Strehovský [Wed, 6 Mar 2019 18:23:44 +0000 (19:23 +0100)]
Improve resiliency of LoadIBCMethodHelper (#23057)

The encoded slot could be bogus and we would end up asserting for this.

5 years agoJIT: fix issue with assertion prop on isinst helpers (#23056)
Andy Ayers [Wed, 6 Mar 2019 18:14:40 +0000 (10:14 -0800)]
JIT: fix issue with assertion prop on isinst helpers (#23056)

For calls to isinst helpers, morph may rearrange the order of args on the late
arg list, so examine the operands to ensure the right ones are passed into the
assertion creation code.

Added simplified test case.

Closes #23039.

5 years agoMerge pull request #22912 from fiigii/fixBroadcast
Carol Eidt [Wed, 6 Mar 2019 18:07:07 +0000 (10:07 -0800)]
Merge pull request #22912 from fiigii/fixBroadcast

Fix BroadcastScalarToVector128/256 codegen

5 years agoFixing the float/double parsing logic to handle exponents that are too large/small...
Tanner Gooding [Wed, 6 Mar 2019 12:27:57 +0000 (04:27 -0800)]
Fixing the float/double parsing logic to handle exponents that are too large/small (#23043)

* Fixing the float/double parsing logic to handle exponents that are too large/small

* Fixing the debug assert to use >= and <=

* Fixing the max exponents to be +1 to match what scale uses.

5 years agofix BroadcastScalarToVector128/256 and simplify MoveMask
Fei Peng [Wed, 6 Mar 2019 08:30:14 +0000 (00:30 -0800)]
fix  BroadcastScalarToVector128/256 and simplify MoveMask

5 years agoCleanup old code (#23053)
Steve MacLean [Wed, 6 Mar 2019 07:40:50 +0000 (02:40 -0500)]
Cleanup old code (#23053)

Remove IsContinuableException declaration & fix comment
Clean up ThreadBaseRedirectingFilter
Clean up comment
Cleanup dead code

5 years agoReduce running time of GitHub_19361 test case (#23048)
Andy Ayers [Wed, 6 Mar 2019 06:49:49 +0000 (22:49 -0800)]
Reduce running time of GitHub_19361 test case (#23048)

This is a regression test and the original issue indicated that the test
would fail reliably under GC stress. So cut down the size of the lists
being processed and remove the various exclusions.

This reduces execution time on arm64 debug from ~30 mins to 2 seconds.

Closes #20232.

5 years agoMove HasLayoutMetadata to methodtablebuilder.cpp (#23015)
Jeremy Koritzinsky [Wed, 6 Mar 2019 04:54:49 +0000 (20:54 -0800)]
Move HasLayoutMetadata to methodtablebuilder.cpp (#23015)

* Move HasLayoutMetadata to methodtablebuilder.cpp

* Collapse auto case into unicode case.

* Remove ancient workaround for Managed C++ compiler bug.

5 years agoClean up some string.Format usage (#23025)
Stephen Toub [Wed, 6 Mar 2019 03:37:33 +0000 (19:37 -0800)]
Clean up some string.Format usage (#23025)

* Clean up some string.Format usage

Mainly changes some string.Format usage to be SR.Format when working with resource strings.  Also cleans up a few asserts that were using string.Format.

* Address PR feedback and clean up src

* Address more feedback

* Update src/System.Private.CoreLib/shared/System/Type.Enum.cs

Thanks.

Co-Authored-By: stephentoub <stoub@microsoft.com>
5 years agoCorrectly type SIMD stack values
Carol Eidt [Wed, 6 Mar 2019 01:32:13 +0000 (17:32 -0800)]
Correctly type SIMD stack values

When `impSIMDPopStack` pops a struct value, it needs to retype the `OBJ` if it exists and doesn't match.

Fix #22850

5 years agoFix issue 23040
Andrew Au [Tue, 5 Mar 2019 21:48:50 +0000 (13:48 -0800)]
Fix issue 23040

5 years agoFix issue 23037
Andrew Au [Tue, 5 Mar 2019 20:01:15 +0000 (12:01 -0800)]
Fix issue 23037

5 years agoUpdate delegate signature for GetSourceLineInfo and change reflection logic to find...
John Salem [Tue, 5 Mar 2019 21:20:55 +0000 (13:20 -0800)]
Update delegate signature for GetSourceLineInfo and change reflection logic to find correct overload on CoreFX side (#22960)

5 years agoRe-enable RCW license tests (#23023)
Aaron Robinson [Tue, 5 Mar 2019 20:08:01 +0000 (12:08 -0800)]
Re-enable RCW license tests (#23023)

5 years agoAdd Type Forward (#23036)
Maryam Ariyan [Tue, 5 Mar 2019 19:36:02 +0000 (11:36 -0800)]
Add Type Forward (#23036)

5 years agoMove more Assembly methods to shared partition (#22817)
Marek Safar [Tue, 5 Mar 2019 19:07:15 +0000 (20:07 +0100)]
Move more Assembly methods to shared partition (#22817)

5 years agoMerge pull request #23002 from optimization
Juan Hoyos [Tue, 5 Mar 2019 18:41:22 +0000 (10:41 -0800)]
Merge pull request #23002 from optimization

[master] Update dependencies from  1 repositories

5 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190304.9 (#23030)
dotnet-maestro[bot] [Tue, 5 Mar 2019 18:00:25 +0000 (10:00 -0800)]
Update dependencies from https://github.com/dotnet/corefx build 20190304.9 (#23030)

This change updates the following dependencies
- Microsoft.NETCore.Platforms - 3.0.0-preview4.19154.9
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview4.19154.9

5 years agoDisable test correctly. Missed casing (#23035)
Jarret Shook [Tue, 5 Mar 2019 17:10:07 +0000 (09:10 -0800)]
Disable test correctly. Missed casing (#23035)

5 years agoFix JIT/Directed/pinvoke/tail
Russ Keldorph [Sun, 3 Mar 2019 05:00:34 +0000 (21:00 -0800)]
Fix JIT/Directed/pinvoke/tail

Remove dependency on Windows user32 library and enable test for all platforms.

Fixes #13048

5 years agoFix issue 23009
Andrew Au [Mon, 4 Mar 2019 23:39:41 +0000 (15:39 -0800)]
Fix issue 23009

5 years agoUpdate dependencies from https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet...
dotnet-maestro [Tue, 5 Mar 2019 14:04:01 +0000 (14:04 +0000)]
Update dependencies from https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190305.1

This change updates the following dependencies
- optimization.IBC.CoreCLR - 99.99.99-master-20190305.1
- optimization.PGO.CoreCLR - 99.99.99-master-20190305.1

5 years agoRemove dead AppDomain unload code (#23026)
Steve MacLean [Tue, 5 Mar 2019 11:29:18 +0000 (06:29 -0500)]
Remove dead AppDomain unload code (#23026)

5 years agoUpdate eventcounter spec (#23019)
Sung Yoon Whang [Tue, 5 Mar 2019 11:06:40 +0000 (03:06 -0800)]
Update eventcounter spec (#23019)

* Update EventCounter spec

* some wording fix

* some wording fix

* fix payload example

* Add DisplayRateTimeScale

5 years agoJIT: remove unneeded ref count updating traversal from optimizer (#22954)
Andy Ayers [Tue, 5 Mar 2019 07:30:48 +0000 (23:30 -0800)]
JIT: remove unneeded ref count updating traversal from optimizer (#22954)

The ref count update traversal in the optimizer is not doing anything,
so remove it. This was overlooked when we changed away from incremental
updates in #19345.

Also: fix up comments and documentation to reflect the current approach
to local var ref counts.

5 years agoRemove dead ContainToAppDomain (#23021)
Steve MacLean [Tue, 5 Mar 2019 06:54:24 +0000 (01:54 -0500)]
Remove dead ContainToAppDomain (#23021)

* Remove dead ContainToAppDomain

* Respond to feedback

5 years agoDo not treat warnings as errors during corefx build in docker. (#23014)
Sergey Andreenko [Tue, 5 Mar 2019 05:46:19 +0000 (21:46 -0800)]
Do not treat warnings as errors during corefx build in docker. (#23014)

* Do not treat warnings as errors during corefx build in docker.

* Add a comment.

5 years agoRemove loose dependency in runtime on System.ComponentModel. (#23010)
Aaron Robinson [Tue, 5 Mar 2019 02:58:56 +0000 (18:58 -0800)]
Remove loose dependency in runtime on System.ComponentModel. (#23010)

Remove loose dependency in runtime on System.ComponentModel.
Disable test to sync with CoreFX

5 years agoRemove BEGIN/END_EXCEPTION_GLUE from botr
Steve MacLean [Tue, 5 Mar 2019 01:29:11 +0000 (20:29 -0500)]
Remove BEGIN/END_EXCEPTION_GLUE from botr

5 years agoPass -priority= argument directly to build-test.cmd (#23007)
Egor Chesakov [Tue, 5 Mar 2019 00:42:40 +0000 (16:42 -0800)]
Pass -priority= argument directly to build-test.cmd (#23007)

5 years agoUpdate dependencies from https://github.com/dotnet/corefx build 20190303.8 (#22992)
dotnet-maestro[bot] [Mon, 4 Mar 2019 23:30:24 +0000 (15:30 -0800)]
Update dependencies from https://github.com/dotnet/corefx build 20190303.8 (#22992)

This change updates the following dependencies
- Microsoft.NETCore.Platforms - 3.0.0-preview4.19153.8
- Microsoft.Private.CoreFx.NETCoreApp - 4.6.0-preview4.19153.8

5 years agoPublish logs as pipeline artifacts for build-job.yml and test-job.yml (#22926)
Egor Chesakov [Mon, 4 Mar 2019 23:22:56 +0000 (15:22 -0800)]
Publish logs as pipeline artifacts for build-job.yml and test-job.yml (#22926)

5 years agoDisable tests for open issues (#22976)
Jarret Shook [Mon, 4 Mar 2019 22:22:44 +0000 (14:22 -0800)]
Disable tests for open issues (#22976)

* Disable tests for open issues

* Clean pri1 run

5 years agoFix rid choice setup stress (#23004)
Jarret Shook [Mon, 4 Mar 2019 22:19:14 +0000 (14:19 -0800)]
Fix rid choice setup stress (#23004)

* Correct rid choice for setting up coredistools

* Force ubuntu.14.04 as the rid choice for ubuntu

* Add better comment

* Fix typo

5 years agoMove EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing to class.cpp (#22932)
Jeremy Koritzinsky [Mon, 4 Mar 2019 21:15:28 +0000 (13:15 -0800)]
Move EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing to class.cpp (#22932)

Move `EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing` to class.cpp and out of fieldmarshaler.cpp.

This change co-locates `EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing` with the rest of the implementation of `EEClassLayoutInfo`. Additionally, this PR separates out the field blittability check into a separate function instead of burying it in `CollectLayoutFieldMetadataThrowing`.

Finally, it adds a small optimization in the field marshaler implementations where if a field's native size is statically known, the code returns that value instead of calling into one of the FieldMarshaler "virtual" calls.

Originally part of #21415, but extracted out to make that PR smaller.

5 years agoUpdate dependencies from https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet...
dotnet-maestro [Mon, 4 Mar 2019 20:15:07 +0000 (20:15 +0000)]
Update dependencies from https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190304.2

This change updates the following dependencies
- optimization.IBC.CoreCLR - 99.99.99-master-20190304.2
- optimization.PGO.CoreCLR - 99.99.99-master-20190304.2

5 years agoMerge pull request #22791 from CarolEidt/Fix19256
Carol Eidt [Mon, 4 Mar 2019 16:54:19 +0000 (08:54 -0800)]
Merge pull request #22791 from CarolEidt/Fix19256

Fix condition for calling EvalArgsToTemps

5 years agoUpdate dependencies from https://github.com/dotnet/core-setup build 20190303.9 (...
dotnet-maestro[bot] [Mon, 4 Mar 2019 16:36:20 +0000 (08:36 -0800)]
Update dependencies from https://github.com/dotnet/core-setup build 20190303.9 (#22993)

This change updates the following dependencies
- Microsoft.NETCore.App - 3.0.0-preview4-27503-9

5 years agoCleanup more GCC warnings (#22872)
Sinan Kaya [Mon, 4 Mar 2019 06:55:22 +0000 (01:55 -0500)]
Cleanup more GCC warnings (#22872)

* Add parenthesis

src/vm/sha1.cpp: In function ‘void SHA1_block(SHA1_CTX*)’:
src/vm/sha1.cpp:93:29: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses]
 #define ROUND3(B, C, D) ((C & (B | D) | (B & D)) + sha1_round3)
                             ^
src/vm/sha1.cpp:139:32: note: in expansion of macro ‘ROUND3’
         e += ROTATE32L(a, 5) + ROUND3(b, c, d) + msg80[i];

* Move declaration into same file as one was defined Extern the other one was static

* Remove hr=hr undefined assignment

* Fix mutli-line comment warning

* Convert multi-character literal

* Remove null check for stack local variables

rc/vm/invokeutil.cpp: In static member function ‘static void InvokeUtil::SetValidField(CorElementType, TypeHandle, FieldDesc*, OBJECTREF*, OBJECTREF*, TypeHandle, CLR_BOOL*)’:
src/vm/invokeutil.cpp:978:29: warning: the address of ‘Throwable’ will never be NULL [-Waddress]
EX_CATCH_THROWABLE(&Throwable);
^
src/inc/ex.h:1087:21: note: in definition of macro ‘EX_CATCH_THROWABLE’
if (NULL != ppThrowable)
^

5 years agoMirror changes from dotnet/corert (#22985)
Dotnet-GitSync-Bot [Mon, 4 Mar 2019 05:07:25 +0000 (21:07 -0800)]
Mirror changes from dotnet/corert (#22985)

* Move fully managed TimerQueue implementation to shared partition (#7111)

* Update CoreCLR for changes in shared partition

5 years agoMerge pull request #22981 from dotnet/darc-master-95952865-131b-47b2-99d0-f60a630db1b3
Stephen Toub [Sun, 3 Mar 2019 21:33:39 +0000 (16:33 -0500)]
Merge pull request #22981 from dotnet/darc-master-95952865-131b-47b2-99d0-f60a630db1b3

[master] Update dependencies from dotnet/corefx

5 years agoUpdate dependencies from https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet...
dotnet-maestro[bot] [Sun, 3 Mar 2019 21:33:22 +0000 (16:33 -0500)]
Update dependencies from https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20190303.1 (#22983)

This change updates the following dependencies
- optimization.IBC.CoreCLR - 99.99.99-master-20190303.1