platform/upstream/dotnet/runtime.git
7 years agoEnable SIMD for RyuJIT/x86
Bruce Forstall [Thu, 15 Dec 2016 02:03:20 +0000 (18:03 -0800)]
Enable SIMD for RyuJIT/x86

This change implements support for Vector<long>, handling
SIMDIntrinsicInit, which takes a LONG, and decomposition of
SIMDIntrinsicGetItem, which produces a LONG.

It also enables SIMD, including AVX, by default for RyuJIT/x86.

Commit migrated from https://github.com/dotnet/coreclr/commit/cacb79692c4db6c4dded4d8f6a55e7fd8fa11d3a

7 years agoUpdate CoreClr, CoreFx to beta-25005-03, beta-25004-01, respectively (dotnet/coreclr...
dotnet bot [Sun, 5 Feb 2017 20:05:59 +0000 (12:05 -0800)]
Update CoreClr, CoreFx to beta-25005-03, beta-25004-01, respectively (dotnet/coreclr#9350)

Commit migrated from https://github.com/dotnet/coreclr/commit/df659fc58c602eb079d3620e9e9925d3c78318f4

7 years agoPort dotnet/coreclr@121d095ed0b0076fb1c7ff59e6446fd19d506b32 from Windows to Linux...
Frederik Carlier [Sun, 5 Feb 2017 19:54:37 +0000 (20:54 +0100)]
Port dotnet/coreclr@121d095ed0b0076fb1c7ff59e6446fd19d506b32 from Windows to Linux (dotnet/coreclr#9346)

Commit migrated from https://github.com/dotnet/coreclr/commit/b71f447ce5c5c5423654f38df1bdcc6bf9970787

7 years agoPort dotnet/coreclr#5821 to Linux (dotnet/coreclr#9347)
Frederik Carlier [Sun, 5 Feb 2017 19:50:28 +0000 (20:50 +0100)]
Port dotnet/coreclr#5821 to Linux (dotnet/coreclr#9347)

Commit migrated from https://github.com/dotnet/coreclr/commit/e01f1e164e8704bdbcbb26442961d94db11d8152

7 years agoPort dotnet/coreclr#5339 to Linux (dotnet/coreclr#9348)
Frederik Carlier [Sun, 5 Feb 2017 19:49:49 +0000 (20:49 +0100)]
Port dotnet/coreclr#5339 to Linux (dotnet/coreclr#9348)

Commit migrated from https://github.com/dotnet/coreclr/commit/d5fe383d22fa36b1f30ef3bd93bca192ad096225

7 years agoMerge pull request dotnet/coreclr#9342 from stephentoub/tasks_inlining
Stephen Toub [Sun, 5 Feb 2017 17:18:09 +0000 (12:18 -0500)]
Merge pull request dotnet/coreclr#9342 from stephentoub/tasks_inlining

Remove NoInlining/StackCrawlMarks from Tasks

Commit migrated from https://github.com/dotnet/coreclr/commit/a8c08f3eff7a6e9d9391816006ad2121c0f5b9b2

7 years agoAddress PR feedback and other cleanup
Stephen Toub [Sun, 5 Feb 2017 14:27:53 +0000 (09:27 -0500)]
Address PR feedback and other cleanup

Addressed PR comment about removing ExecutionContext.Capture(ref StackCrawlMark, ...), which led me to remove NoInlining/StackCrawlMarks from some other places in Timer, Thread, ThreadPool, and Overlapped.

In doing so, I found several other unnecessary members on ExecutionContext that could be removed with minor tweaks elsewhere in the source, e.g.
- Dispose is a nop, so we can remove explicit try/finally's to clean it up
- ExecutionContext.Run(..., bool) just ignores the bool arg, so it can be removed and all call sites redirected (but I've left it in EC, as it appears it's used via internals visible from a library in corefx)
- FastCapture() just calls Capture, so the call sites can be changed (but I've left it in EC for a similar reason)
- PreAllocatedDefault can be removed in favor of Default; etc.
- ExecutionContext.Capture itself checks whether flow is suppressed; doing a check before it adds a TLS lookup and in doing so optimizes for an uncommon case in exchange for making the common case more expensive.  I've removed those checks.

And in the process, I also noticed that several lazily initialized delegates that no longer need to be, and cleaned those up.  These were lazy due to needing to be for security checks that aren't relevant in coreclr.

Commit migrated from https://github.com/dotnet/coreclr/commit/b72fc3aa651ffdeb9136f785fc7631663a92685f

7 years agoRemove NoInlining/StackCrawlMarks from Tasks
Stephen Toub [Sat, 4 Feb 2017 19:10:34 +0000 (14:10 -0500)]
Remove NoInlining/StackCrawlMarks from Tasks

These crawl marks in Tasks aren't relevant in coreclr (they're passed down to ExecutionContext, which in coreclr just ignores them), yet they required NoInlining, which does impact coreclr.  Removing them all from tasks.

Commit migrated from https://github.com/dotnet/coreclr/commit/f338eaae1d696e414632ba8f630457f7a0d562ab

7 years agoMerge pull request dotnet/coreclr#9343 from stephentoub/tasks_selfreplicating
Stephen Toub [Sun, 5 Feb 2017 14:46:32 +0000 (09:46 -0500)]
Merge pull request dotnet/coreclr#9343 from stephentoub/tasks_selfreplicating

Remove internal self-replicating support from Tasks

Commit migrated from https://github.com/dotnet/coreclr/commit/d676fc37699e4e4cbf629da87f8600eacaae7f2b

7 years agoRemove internal self-replicating support from Tasks
Stephen Toub [Sat, 4 Feb 2017 21:35:14 +0000 (16:35 -0500)]
Remove internal self-replicating support from Tasks

In the initial TPL prototype, Tasks had a feature that allowed them to "replicate", meaning to schedule a copy of themselves.  Prior to shipping the initial version, this feature was made internal, as it was deemed unnecessary, but by then the Parallel loops constructs had already been built on top of them.  Now that Parallel no longer depends on this feature (and isn't in CoreLib), we can entirely rip it out.

Commit migrated from https://github.com/dotnet/coreclr/commit/d433a7b4443c7a6eee389c6cb57a21c7e307630a

7 years agoRename internal CoreLib Console to LowLevelConsole (dotnet/coreclr#9341)
Jan Kotas [Sun, 5 Feb 2017 11:56:42 +0000 (03:56 -0800)]
Rename internal CoreLib Console to LowLevelConsole (dotnet/coreclr#9341)

Commit migrated from https://github.com/dotnet/coreclr/commit/5a885fa087396974b728d8af6320da8a271dbbbc

7 years agoMerge pull request dotnet/coreclr#9338 from jkotas/against-packages
Jan Kotas [Sun, 5 Feb 2017 08:55:10 +0000 (00:55 -0800)]
Merge pull request dotnet/coreclr#9338 from jkotas/against-packages

Add mscorlib.dll back to Microsoft.TargetingPack.Private.CoreCLR

Commit migrated from https://github.com/dotnet/coreclr/commit/c4a89fe2d82e00f683f486afe5347c9e5ef1f94b

7 years agoUse StringBuilderCache for Enum.InternalFlagsFormat (dotnet/coreclr#9340)
Ben Adams [Sun, 5 Feb 2017 08:08:56 +0000 (08:08 +0000)]
Use StringBuilderCache for Enum.InternalFlagsFormat (dotnet/coreclr#9340)

Commit migrated from https://github.com/dotnet/coreclr/commit/bb8c87648f47940f7924e249c34b620bc19a9165

7 years agoRemove stripped code (dotnet/coreclr#9269)
Dan Moseley [Sun, 5 Feb 2017 06:36:42 +0000 (22:36 -0800)]
Remove stripped code (dotnet/coreclr#9269)

Delete essentially all the code that the BCL rewriter is removing.
Added back some code it shouldn't have been removing, eg., serialization code, debugger visualizers, and some changing of 'protected' to 'protected internal'

Commit migrated from https://github.com/dotnet/coreclr/commit/ee5862c6a257e60e263537d975ab6c513179d47f

7 years agoMerge pull request dotnet/coreclr#9240 from BruceForstall/FixSimdFieldMorphingDeadCode
Bruce Forstall [Sun, 5 Feb 2017 01:08:45 +0000 (17:08 -0800)]
Merge pull request dotnet/coreclr#9240 from BruceForstall/FixSimdFieldMorphingDeadCode

Remove SIMD dead code

Commit migrated from https://github.com/dotnet/coreclr/commit/43dfb0b289978f408dcb1aa008395fe9b90db062

7 years agoAdd mscorlib.dll back to Microsoft.TargetingPack.Private.CoreCLR
Jan Kotas [Sat, 4 Feb 2017 15:38:41 +0000 (07:38 -0800)]
Add mscorlib.dll back to Microsoft.TargetingPack.Private.CoreCLR

Removing it broke BuildFromPackages flavor of test build

Commit migrated from https://github.com/dotnet/coreclr/commit/9856edcb9cd2dc762e770d8de93a44277715fe13

7 years agoRevert "Update CoreClr, CoreFx to beta-25004-01, beta-25004-01, respectively (dotnet...
Jan Kotas [Sat, 4 Feb 2017 15:38:05 +0000 (07:38 -0800)]
Revert "Update CoreClr, CoreFx to beta-25004-01, beta-25004-01, respectively (dotnet/coreclr#9330)"

This reverts commit dotnet/coreclr@e8dff5550c022d2854914dc534f9ec3d7fe623ac.

Commit migrated from https://github.com/dotnet/coreclr/commit/ac2da9ca851eb9a494ef617d02b3bafbf0c7da3b

7 years agoMerge pull request dotnet/coreclr#9324 from gkhanna79/Fix9030
Gaurav Khanna [Sat, 4 Feb 2017 06:19:25 +0000 (22:19 -0800)]
Merge pull request dotnet/coreclr#9324 from gkhanna79/Fix9030

Use fallback load context as binding context for dynamic parent assembly

Commit migrated from https://github.com/dotnet/coreclr/commit/7916a9a4e45a8d880d3b2af52ed9fe069663e7fc

7 years agoRemove duplicate attributes from CoreLib (dotnet/coreclr#9327)
Faizur Rahman [Sat, 4 Feb 2017 05:55:57 +0000 (21:55 -0800)]
Remove duplicate attributes from CoreLib (dotnet/coreclr#9327)

Commit migrated from https://github.com/dotnet/coreclr/commit/622aa57cb2a702b69fdb9c7537a23c35f1a1913e

7 years agoUpdate CoreClr, CoreFx to beta-25004-01, beta-25004-01, respectively (dotnet/coreclr...
dotnet bot [Sat, 4 Feb 2017 05:48:31 +0000 (21:48 -0800)]
Update CoreClr, CoreFx to beta-25004-01, beta-25004-01, respectively (dotnet/coreclr#9330)

Commit migrated from https://github.com/dotnet/coreclr/commit/e8dff5550c022d2854914dc534f9ec3d7fe623ac

7 years agoRemove cross appdomains cultures checks (dotnet/coreclr#9328)
Tarek Mahmoud Sayed [Sat, 4 Feb 2017 02:27:43 +0000 (18:27 -0800)]
Remove cross appdomains cultures checks (dotnet/coreclr#9328)

* Remove cross appdomains cultures checks

In the ful framework, CultureInfo and other globalization objects are marked as agile which means it can cross the appdomains. In coreclr we don't have multiple appdomains anymore so these checks are not really needed.
removing these checks will make coreclr consistent when running on Windows and other OS's

* Remove un-needed resource entry

Commit migrated from https://github.com/dotnet/coreclr/commit/748d467b1cbc759c23d94de0b559d9a437623b38

7 years agoFix legacy Globalization tests to work on Linux (dotnet/coreclr#9322)
Tarek Mahmoud Sayed [Sat, 4 Feb 2017 02:04:06 +0000 (18:04 -0800)]
Fix legacy Globalization tests to work on Linux (dotnet/coreclr#9322)

* Fix legacy Globalization tests to work on Linux

* Delete globalization tests

Commit migrated from https://github.com/dotnet/coreclr/commit/e2f7e206f8d4f6e21213baadd2fad33340f2005c

7 years agoUse fallback load context as binding context for dynamic parent assembly
Gaurav Khanna [Fri, 3 Feb 2017 23:43:15 +0000 (15:43 -0800)]
Use fallback load context as binding context for dynamic parent assembly

Commit migrated from https://github.com/dotnet/coreclr/commit/04c698ec434618ee2a0cef36be9b1829355dc64e

7 years agoDelete mscorlib from packages (dotnet/coreclr#9313)
Jan Kotas [Fri, 3 Feb 2017 21:50:01 +0000 (13:50 -0800)]
Delete mscorlib from packages (dotnet/coreclr#9313)

Commit migrated from https://github.com/dotnet/coreclr/commit/4fe623c9235e4df42be810d09ca7f282956e3cec

7 years agoSwitch netcoreapp test reference to netcoreapp2.0 (dotnet/coreclr#9310)
Jan Kotas [Fri, 3 Feb 2017 21:49:46 +0000 (13:49 -0800)]
Switch netcoreapp test reference to netcoreapp2.0 (dotnet/coreclr#9310)

Commit migrated from https://github.com/dotnet/coreclr/commit/ec305062fa351ea9b03fc687b985ce007bf81aac

7 years agoUpdate glossary.md
Karel Zikmund [Fri, 3 Feb 2017 20:33:23 +0000 (12:33 -0800)]
Update glossary.md

Commit migrated from https://github.com/dotnet/coreclr/commit/d00235f94acb7a03d6b8a37604c1f540430fdd03

7 years agoMerge pull request dotnet/coreclr#9315 from wtgodbe/disableBenchmarkGames
William Godbe [Fri, 3 Feb 2017 20:21:05 +0000 (12:21 -0800)]
Merge pull request dotnet/coreclr#9315 from wtgodbe/disableBenchmarkGames

Disable failing Helix tests until we fix underlying issues

Commit migrated from https://github.com/dotnet/coreclr/commit/a5d37a98c4fdcee1336437804a06f3349828f966

7 years agoDisable failing Helix tests until we fix underlying issues
wtgodbe [Fri, 3 Feb 2017 20:16:28 +0000 (12:16 -0800)]
Disable failing Helix tests until we fix underlying issues

Commit migrated from https://github.com/dotnet/coreclr/commit/8562daa78c0ede7910414368047c3aa3b583289d

7 years agoUpdate glossary.md
Karel Zikmund [Fri, 3 Feb 2017 19:57:29 +0000 (11:57 -0800)]
Update glossary.md

Commit migrated from https://github.com/dotnet/coreclr/commit/f0e57dc218055f65e678e78a286fff6976758a55

7 years agoMerge pull request dotnet/coreclr#9294 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Fri, 3 Feb 2017 19:08:00 +0000 (11:08 -0800)]
Merge pull request dotnet/coreclr#9294 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-25003-02, beta-25003-02, respectively (master)

Commit migrated from https://github.com/dotnet/coreclr/commit/ee35cf1b2519c5c3307f129bb39a55f8448287c4

7 years ago[x86/Linux] Clean Up #ifdef for VerifyValidTransitionFromManagedCode (dotnet/coreclr...
Jonghyun Park [Fri, 3 Feb 2017 17:51:09 +0000 (02:51 +0900)]
[x86/Linux] Clean Up #ifdef for VerifyValidTransitionFromManagedCode (dotnet/coreclr#9304)

Commit migrated from https://github.com/dotnet/coreclr/commit/3dbe09dec2a8c0ff86ccaed850563efc2dedb59b

7 years ago[x86/Linux] Clean up non-WIN64EXCEPTIONS code: (dotnet/coreclr#9305)
Jonghyun Park [Fri, 3 Feb 2017 17:50:29 +0000 (02:50 +0900)]
[x86/Linux] Clean up non-WIN64EXCEPTIONS code: (dotnet/coreclr#9305)

Commit migrated from https://github.com/dotnet/coreclr/commit/acc2b37fa57cc0a25c88d54c82a23632400b38b9

7 years ago[x86/Linux] Clean Up JIT_EndCatch (dotnet/coreclr#9302)
Jonghyun Park [Fri, 3 Feb 2017 17:49:52 +0000 (02:49 +0900)]
[x86/Linux] Clean Up JIT_EndCatch (dotnet/coreclr#9302)

Commit migrated from https://github.com/dotnet/coreclr/commit/0f02eb4f3b77fd8908baf4b61f4bf0bf99c2928d

7 years agoMerge pull request dotnet/coreclr#9256 from CarolEidt/TreeNodeInfoSplit
Carol Eidt [Fri, 3 Feb 2017 17:34:35 +0000 (09:34 -0800)]
Merge pull request dotnet/coreclr#9256 from CarolEidt/TreeNodeInfoSplit

Refactor TreeNodeInfoInit

Commit migrated from https://github.com/dotnet/coreclr/commit/9c2f5f2a4870cb9fdddc21c9b32cabee977dd2f8

7 years agoMerge pull request dotnet/coreclr#9279 from stephentoub/more_tp_perf
Stephen Toub [Fri, 3 Feb 2017 16:10:55 +0000 (11:10 -0500)]
Merge pull request dotnet/coreclr#9279 from stephentoub/more_tp_perf

Some more perf tweaks to ThreadPool

Commit migrated from https://github.com/dotnet/coreclr/commit/cfd28c5021187e19c1da5eff0b62f3419d8b5d26

7 years agoUpdate CoreClr, CoreFx to beta-25003-02, beta-25003-02, respectively
dotnet-bot [Fri, 3 Feb 2017 15:03:33 +0000 (15:03 +0000)]
Update CoreClr, CoreFx to beta-25003-02, beta-25003-02, respectively

Commit migrated from https://github.com/dotnet/coreclr/commit/2a26e920a6a35a3cacf9ce14b1f9e03ec1536c21

7 years agoReduce cost of LocalPop when local queue empty
Stephen Toub [Fri, 3 Feb 2017 14:24:44 +0000 (09:24 -0500)]
Reduce cost of LocalPop when local queue empty

- Change LocalPop to be parameterless and return the IThreadPoolWorkItem rather than returning a bool and having the IThreadPoolWorkItem in an out arg.
- Refactor LocalPop slightly to have an inlineable upfront check for whether the local queue is empty, and only call the non-inlineable method if there's something that could potentially be popped

Commit migrated from https://github.com/dotnet/coreclr/commit/70aae70a9726cd3aa4435f1cc94aadce9470236d

7 years agoAllow Dequeue to avoid TrySteal if there's nothing to steal
Stephen Toub [Fri, 3 Feb 2017 13:44:48 +0000 (08:44 -0500)]
Allow Dequeue to avoid TrySteal if there's nothing to steal

Commit migrated from https://github.com/dotnet/coreclr/commit/b185fe7e76a4bbef989dc69f9cec29e40d9f6f13

7 years agoAddress PR feedback
Stephen Toub [Thu, 2 Feb 2017 22:25:36 +0000 (17:25 -0500)]
Address PR feedback

Commit migrated from https://github.com/dotnet/coreclr/commit/43985a27a3a965e45c1904423baecb66690c15e3

7 years agoEnable inlining of EnsureVMInitialized
Stephen Toub [Thu, 2 Feb 2017 18:50:44 +0000 (13:50 -0500)]
Enable inlining of EnsureVMInitialized

Commit migrated from https://github.com/dotnet/coreclr/commit/a0d078a969f805b868b0cf3cd4a36bb5cc87c309

7 years agoReplace usage of Random
Stephen Toub [Thu, 2 Feb 2017 18:05:13 +0000 (13:05 -0500)]
Replace usage of Random

We need some randomness, but it doesn't need to be particularly good, just fast.  A simple xorshift prng is 3-4x faster than Random, in particular without multiple virtual method calls that don't get inlined.  It's also a bit lighter in terms of memory (though there's only one of these per thread, so it doesn't impact much).

Commit migrated from https://github.com/dotnet/coreclr/commit/c06dc0048f935c8de4f35972b0c70f970b7b254c

7 years agoRemove StackCrawlMark goo from {Unsafe}QueueUserWorkItem
Stephen Toub [Thu, 2 Feb 2017 16:51:28 +0000 (11:51 -0500)]
Remove StackCrawlMark goo from {Unsafe}QueueUserWorkItem

Allow more methods to be inlined

Commit migrated from https://github.com/dotnet/coreclr/commit/d41bffbfeb3f5adf1b0e6a0309d8a23294b91f0a

7 years agoRemove unnecessary try/finally blocks
Stephen Toub [Thu, 2 Feb 2017 16:00:49 +0000 (11:00 -0500)]
Remove unnecessary try/finally blocks

And clean up the code around it.

Commit migrated from https://github.com/dotnet/coreclr/commit/c3cefb7c459ac05fd9605c29cf1fc1ecd1ce3cab

7 years agoRework work-stealing queue list
Stephen Toub [Thu, 2 Feb 2017 15:25:36 +0000 (10:25 -0500)]
Rework work-stealing queue list

The current data structure used to store the list of local work-stealing queues is maintains a sparse array, where entries can be null, and where removals null out entries in an active array that could be being read by another thread concurrently.  This necessitates that threads looking for work need to use volatile reads and null checks on each element.  Further, because the array doubles in size when it grows, and never shrinks, we often end up having many empty slots that threads need to look at as they're looking for work.

It's actually relatively rare for threads to come and go.  While the thread pool does take threads in and out of service, it only rarely actually terminates a thread or asks the OS for a new one, so it's relatively rare that threads are added/removed from the list.  Given that, we can simply use immutable arrays, creating a new array of the exact right size whenever a thread is added or removed.  Then iteration can be done without volatile reads and without null checks, because the contents of the array being read through won't change and won't ever be null.

Commit migrated from https://github.com/dotnet/coreclr/commit/71bc68eced44a188ef51678b1d9c7337051cf3c3

7 years agoReorder usings per previous PR feedback
Stephen Toub [Thu, 2 Feb 2017 12:00:09 +0000 (07:00 -0500)]
Reorder usings per previous PR feedback

Commit migrated from https://github.com/dotnet/coreclr/commit/6294a0ddd740876ada4462abb1b9e81fc2e19318

7 years ago[x86/Linux] Do NOT use QuickUnwindStackFrame (dotnet/coreclr#9299)
Jonghyun Park [Fri, 3 Feb 2017 07:15:56 +0000 (16:15 +0900)]
[x86/Linux] Do NOT use QuickUnwindStackFrame (dotnet/coreclr#9299)

* [x86/Linux] Do NOT use QuickUnwindStackFrame

* Fix x64 build error

Commit migrated from https://github.com/dotnet/coreclr/commit/53e62b4e3ca7792b1c4966823832de56f88db0b6

7 years ago[x86/Linux] Convert Fake DBZ into OVF (dotnet/coreclr#9295)
Jonghyun Park [Fri, 3 Feb 2017 07:03:34 +0000 (16:03 +0900)]
[x86/Linux] Convert Fake DBZ into OVF (dotnet/coreclr#9295)

Commit migrated from https://github.com/dotnet/coreclr/commit/29ce2010b38e73ea8effa412f9cc6bc7afa882e8

7 years agoMerge pull request dotnet/coreclr#9283 from adiaaida/devdiv377155
Michelle McDaniel [Fri, 3 Feb 2017 02:56:47 +0000 (18:56 -0800)]
Merge pull request dotnet/coreclr#9283 from adiaaida/devdiv377155

Add a test for dotnet/coreclr#9282

Commit migrated from https://github.com/dotnet/coreclr/commit/aca9d877b6540f64f01a7571b65f164457ce24dd

7 years agoClean up GetAddrOfSecurityObjectFromCachedInfo (dotnet/coreclr#9291)
Jonghyun Park [Fri, 3 Feb 2017 02:32:22 +0000 (11:32 +0900)]
Clean up GetAddrOfSecurityObjectFromCachedInfo (dotnet/coreclr#9291)

GetAddrOfSecurityObjectFromCachedInfo seems to be X86-specific, but has
ifdef for other architectures.

This commit declares GetAddrOfSecurityObjectFromCachedInfo only for X86
to simplify its implementation.

Commit migrated from https://github.com/dotnet/coreclr/commit/7554180ccf845804de069b2b6b3c1bab48009e26

7 years ago[x86/Linux] Do NOT use GSCookie on Funclet (dotnet/coreclr#9290)
Jonghyun Park [Fri, 3 Feb 2017 02:15:28 +0000 (11:15 +0900)]
[x86/Linux] Do NOT use GSCookie on Funclet (dotnet/coreclr#9290)

Commit migrated from https://github.com/dotnet/coreclr/commit/03a27899e86c0334e499151cf27cc6ddd3aebd4e

7 years agoRefactor TreeNodeInfoInit
Carol Eidt [Tue, 31 Jan 2017 07:18:38 +0000 (23:18 -0800)]
Refactor TreeNodeInfoInit

Move all the register requirements (TreeNodeInfoInit) code into lsra{arch}.cpp.
Split methods that currently do both tree transformation and register requirements.

Commit migrated from https://github.com/dotnet/coreclr/commit/2e9ff0c9ad4185ac5d590fb63aa57141b3031fab

7 years agoMerge pull request dotnet/coreclr#9280 from wtgodbe/disableLargeMemoryTests
William Godbe [Fri, 3 Feb 2017 00:01:54 +0000 (16:01 -0800)]
Merge pull request dotnet/coreclr#9280 from wtgodbe/disableLargeMemoryTests

Disable GC LargeMemory tests that were failing in Helix

Commit migrated from https://github.com/dotnet/coreclr/commit/047df06e939b7dface0641c1bfbb9db137390c82

7 years agoAdd a test for dotnet/coreclr#9282
Michelle McDaniel [Thu, 2 Feb 2017 21:59:10 +0000 (13:59 -0800)]
Add a test for dotnet/coreclr#9282

Commit migrated from https://github.com/dotnet/coreclr/commit/454c9d7a7f03625f2891d082f8770e7523ce78f8

7 years agoMerge pull request dotnet/coreclr#9229 from sandreenko/increase_gtCallMoreFlags_size
sandreenko [Thu, 2 Feb 2017 22:07:59 +0000 (14:07 -0800)]
Merge pull request dotnet/coreclr#9229 from sandreenko/increase_gtCallMoreFlags_size

increase gtCallMoreFlags size

Commit migrated from https://github.com/dotnet/coreclr/commit/0dedbd515f74d2102b21a9fdf0aeab6a76cda01e

7 years agoDisable GC LargeMemory tests that were failing in Helix
wtgodbe [Thu, 2 Feb 2017 20:36:31 +0000 (12:36 -0800)]
Disable GC LargeMemory tests that were failing in Helix

Commit migrated from https://github.com/dotnet/coreclr/commit/35f310f54f8a36298653f2251484853d1a702d36

7 years agoMerge pull request dotnet/coreclr#9258 from dotnet-bot/master-UpdateDependencies
Stephen Toub [Thu, 2 Feb 2017 20:23:55 +0000 (15:23 -0500)]
Merge pull request dotnet/coreclr#9258 from dotnet-bot/master-UpdateDependencies

Update CoreClr to beta-25002-03 (master)

Commit migrated from https://github.com/dotnet/coreclr/commit/1c4689e92f68f909c7a373dd7cd18b1e6cda4b8e

7 years agoMerge pull request dotnet/coreclr#9275 from RussKeldorph/results_moved
Russ Keldorph [Thu, 2 Feb 2017 19:03:01 +0000 (11:03 -0800)]
Merge pull request dotnet/coreclr#9275 from RussKeldorph/results_moved

Adapt to corefx moving test results.

Commit migrated from https://github.com/dotnet/coreclr/commit/ae6896e3d22440366cf6df9c5df25d67c54a8504

7 years agoMake ValueTuple types serializable (dotnet/coreclr#9271)
Julien Couvreur [Thu, 2 Feb 2017 18:20:20 +0000 (10:20 -0800)]
Make ValueTuple types serializable (dotnet/coreclr#9271)

Commit migrated from https://github.com/dotnet/coreclr/commit/875b7487efcfe0a0b148ad01f33505e065f5a5af

7 years agoUpdate CoreClr to beta-25002-03
dotnet-bot [Thu, 2 Feb 2017 17:47:34 +0000 (17:47 +0000)]
Update CoreClr to beta-25002-03

Commit migrated from https://github.com/dotnet/coreclr/commit/c9d962cf711e57099add672f1fb890a5e2237714

7 years agoAdapt to corefx moving test results.
Russ Keldorph [Thu, 2 Feb 2017 16:52:55 +0000 (08:52 -0800)]
Adapt to corefx moving test results.

Commit migrated from https://github.com/dotnet/coreclr/commit/e67dcde065b72a0f4665a6cdda7512db8e234afc

7 years ago[x86/Linux] Set Establisher Frame Pointer as Caller SP (dotnet/coreclr#9264)
Jonghyun Park [Thu, 2 Feb 2017 16:12:07 +0000 (01:12 +0900)]
[x86/Linux] Set Establisher Frame Pointer as Caller SP (dotnet/coreclr#9264)

Commit migrated from https://github.com/dotnet/coreclr/commit/cfca38899b29d609266c108a69cc828a5791a300

7 years agoDelete remaining legacy ComInterfaces (dotnet/coreclr#9270)
Jan Kotas [Thu, 2 Feb 2017 15:57:41 +0000 (07:57 -0800)]
Delete remaining legacy ComInterfaces (dotnet/coreclr#9270)

Commit migrated from https://github.com/dotnet/coreclr/commit/e32f3bece919c1bc77979809d52e202bc6fbdb1a

7 years agoAdd ThreadPoolBoundHandle to model.xml (dotnet/coreclr#9268)
Jan Kotas [Thu, 2 Feb 2017 15:57:17 +0000 (07:57 -0800)]
Add ThreadPoolBoundHandle to model.xml (dotnet/coreclr#9268)

This type was moved from corefx. This will allow the redundant copy in corefx to be deleted.

Commit migrated from https://github.com/dotnet/coreclr/commit/4f83b6b03ffb23c3c87b78908df341e15748d51f

7 years ago[x86/Linux] Do NOT use pXXX fields (dotnet/coreclr#9121)
Jonghyun Park [Thu, 2 Feb 2017 09:41:46 +0000 (18:41 +0900)]
[x86/Linux] Do NOT use pXXX fields (dotnet/coreclr#9121)

* [x86/Linux] Do NOT use pXXX fields

* Fix x86/Windows build error

* Fix another x86/Windows build error

* Fix typo

* Do NOT trash EBP

* Reflect the original semantics of EHContext::UpdateFrame

* Unify ReadXXX/LocateXXX into GetXXXLocation, and RestoreXXX/TrashXXX into SetXXXLocation

* Revert the order of pXXX fields

* Revise cgenx86.cpp

* Revert unnecessary changes

* Remove direct accesses to CALLEE_SAVED_REGISTERS_TAG

* Do NOT update pCurrentContext inside SetXXXLocation

* Update RegPtr via offset

* Unify REG_METHODS (and revise UpdateRegDisplay methods accordingly)

* Revise per feedback

* Fix x86/Windows build error

Commit migrated from https://github.com/dotnet/coreclr/commit/009c70f81d2899848ea254fd39969de91fd33519

7 years agoDelete LocalDataStore (dotnet/coreclr#9266)
Jan Kotas [Thu, 2 Feb 2017 07:29:54 +0000 (23:29 -0800)]
Delete LocalDataStore (dotnet/coreclr#9266)

This lives in CoreFX now

Commit migrated from https://github.com/dotnet/coreclr/commit/ef36ea764e445c2c0665784749d1fd48ecd657c8

7 years ago[x86/Linux] Process Explicit Frame before Managed Frame (dotnet/coreclr#9261)
Jonghyun Park [Thu, 2 Feb 2017 06:42:39 +0000 (15:42 +0900)]
[x86/Linux] Process Explicit Frame before Managed Frame (dotnet/coreclr#9261)

This commit revises stack walker to process explicit frames before
managed frame as in other architectures that use Win64 EH model.

This commit fixes dotnet/coreclr#9260.

Commit migrated from https://github.com/dotnet/coreclr/commit/1f1f95dc7b5c33a23ccc4df42078d11eb72d52db

7 years agoSynchronize part of System/* with CoreRT (dotnet/coreclr#9259)
Jan Kotas [Thu, 2 Feb 2017 04:53:08 +0000 (20:53 -0800)]
Synchronize part of System/* with CoreRT (dotnet/coreclr#9259)

Commit migrated from https://github.com/dotnet/coreclr/commit/4718b8638561f26a5dbc6d71eb6ee52612d9c83f

7 years agoMerge pull request dotnet/coreclr#9234 from stephentoub/tp_perf
Stephen Toub [Thu, 2 Feb 2017 04:42:27 +0000 (23:42 -0500)]
Merge pull request dotnet/coreclr#9234 from stephentoub/tp_perf

Some ThreadPool performance and maintainability improvements

Commit migrated from https://github.com/dotnet/coreclr/commit/353bd0b9b71ca6ffade03924c6dc21064c5d30dd

7 years agoAdding some missing APIs on core that where added to N.S 2.0 (dotnet/coreclr#9203)
Santiago Fernandez Madero [Thu, 2 Feb 2017 04:23:06 +0000 (20:23 -0800)]
Adding some missing APIs on core that where added to N.S 2.0 (dotnet/coreclr#9203)

Adding missing apis on .NET Core.

Commit migrated from https://github.com/dotnet/coreclr/commit/91b83215400d1d441de2ee957db3f7c1fed13eec

7 years agoFix segment map modification in OOM scenarios (dotnet/coreclr#9241)
Sean Gillespie [Thu, 2 Feb 2017 02:32:33 +0000 (18:32 -0800)]
Fix segment map modification in OOM scenarios (dotnet/coreclr#9241)

* Fix an issue where the segment mapping table is not reverted
back to its original state when failing to commit the mark array
in an OOM scenario. Fixes dotnet/coreclr#9064

* Code review feedback

* Update seg_mapping_table before setting g_gc_*_address

* Add a barrier between the seg_mapping_table write and updates to g_gc_*_address

Commit migrated from https://github.com/dotnet/coreclr/commit/5a7dc18f5985bd28ea798e6a9fc4b8ad5fef09ca

7 years agoMerge pull request dotnet/coreclr#9254 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Thu, 2 Feb 2017 01:44:54 +0000 (17:44 -0800)]
Merge pull request dotnet/coreclr#9254 from dotnet-bot/master-UpdateDependencies

Update CoreClr to beta-25001-07 (master)

Commit migrated from https://github.com/dotnet/coreclr/commit/5af8bd28d9eb4b99f32bbebf50127d718fc09658

7 years agoUpdate CoreClr to beta-25001-07
dotnet-bot [Wed, 1 Feb 2017 23:41:44 +0000 (23:41 +0000)]
Update CoreClr to beta-25001-07

Commit migrated from https://github.com/dotnet/coreclr/commit/9d307bcbafddfb80740722bc050de1f807e19534

7 years agoAddress PR feedback
Stephen Toub [Wed, 1 Feb 2017 22:10:33 +0000 (17:10 -0500)]
Address PR feedback

- Fix ArgumentNullException parameter name

Commit migrated from https://github.com/dotnet/coreclr/commit/473843bc02a89bbe7e9905fae40a0d048b7a9d06

7 years agoMerge pull request dotnet/coreclr#9252 from wtgodbe/fixRuntimes
William Godbe [Wed, 1 Feb 2017 21:59:20 +0000 (13:59 -0800)]
Merge pull request dotnet/coreclr#9252 from wtgodbe/fixRuntimes

Use full set of runtimes for all test project.json files

Commit migrated from https://github.com/dotnet/coreclr/commit/63607d8e657ebba1cd1ac3a43f374a03cec914a6

7 years agoUse full set of runtimes for all test project.json files
wtgodbe [Wed, 1 Feb 2017 19:16:19 +0000 (11:16 -0800)]
Use full set of runtimes for all test project.json files

Commit migrated from https://github.com/dotnet/coreclr/commit/aa30c50f4c8febc11c1a3f552fe6277f0152cc65

7 years agoSynchronize src\mscorlib\corefx with CoreRT (dotnet/coreclr#9251)
Jan Kotas [Wed, 1 Feb 2017 20:40:59 +0000 (12:40 -0800)]
Synchronize src\mscorlib\corefx with CoreRT (dotnet/coreclr#9251)

Commit migrated from https://github.com/dotnet/coreclr/commit/76e174f3bd92ee3ce8412b2e0f25e18bf0b77068

7 years agoMiscellaneous code cleanup
Stephen Toub [Wed, 1 Feb 2017 16:51:27 +0000 (11:51 -0500)]
Miscellaneous code cleanup

- Remove some explicit ctors
- Remove some unnecessary casts
- Mark some fields readonly
- Follow style guidelines for visibility/static ordering in signatures
- Move usings to top of file
- Delete some stale comments
- Added names for bool args at call sites
- Use expression-bodied members in a few places
- Pass lower bounds to Array.Copy
- Remove unnecessary "success" local in QueueUserworkItemHelper

Commit migrated from https://github.com/dotnet/coreclr/commit/ade717c7bbca40632db3b42885589909d645fc1a

7 years agoMerge pull request dotnet/coreclr#9242 from dotnet-bot/master-UpdateDependencies
Dan Moseley [Wed, 1 Feb 2017 16:47:43 +0000 (09:47 -0700)]
Merge pull request dotnet/coreclr#9242 from dotnet-bot/master-UpdateDependencies

Update CoreFx to beta-25001-02 (master)

Commit migrated from https://github.com/dotnet/coreclr/commit/69fe17f837e1057b64191213f941349c32f15718

7 years agoSimplify Dequeue method
Stephen Toub [Wed, 1 Feb 2017 15:49:27 +0000 (10:49 -0500)]
Simplify Dequeue method

- Consolidate branches
- Pass resulting work item as a return value rather than an out
- Avoid an unnecessary write to the bool passed by-ref

Commit migrated from https://github.com/dotnet/coreclr/commit/ff1caae983fd65b825c44a331e39a37ffb5b1710

7 years agoRemove unnecessary explicit static cctors
Stephen Toub [Wed, 1 Feb 2017 15:35:12 +0000 (10:35 -0500)]
Remove unnecessary explicit static cctors

Let these types be marked beforefieldinit

Commit migrated from https://github.com/dotnet/coreclr/commit/6f4432b69f4aff9c47e693b1b9334897b448ab32

7 years agoSimplify TrySteal
Stephen Toub [Wed, 1 Feb 2017 15:32:44 +0000 (10:32 -0500)]
Simplify TrySteal

- Use the newly updated SpinLock.TryEnter(ref bool) instead of TryEnter(int, ref bool), as the former is ~3x faster when the lock is already held.
- Change the method to avoid the out reference argument and instead just return it
- Simplify the logic to consolidate the setting of missedSteal

Commit migrated from https://github.com/dotnet/coreclr/commit/68ad7e2691bf99e4d14f475d1f1ecf7d713dc838

7 years agoUpdate CoreFx to beta-25001-02
dotnet-bot [Wed, 1 Feb 2017 15:05:27 +0000 (15:05 +0000)]
Update CoreFx to beta-25001-02

Commit migrated from https://github.com/dotnet/coreclr/commit/4aab5790127de69a3ab7545ca074d9b51b7d8eaa

7 years agoUse ConcurrentQueue<T> in ThreadPool
Stephen Toub [Tue, 31 Jan 2017 16:51:40 +0000 (11:51 -0500)]
Use ConcurrentQueue<T> in ThreadPool

Use the same ConcurrentQueue<T> now being used in corefx in ThreadPool instead of ThreadPool's custom queue implementation (which was close in design to the old ConcurrentQueue<T> implementation).

Commit migrated from https://github.com/dotnet/coreclr/commit/cba50e660a5e8073a820e7c55fce705cb5b973f6

7 years agoPort ConcurrentQueue<T> back from corefx
Stephen Toub [Tue, 31 Jan 2017 16:41:36 +0000 (11:41 -0500)]
Port ConcurrentQueue<T> back from corefx

It's not exposed from CoreLib, but a) as long as the code is here it's good to have it in sync, and b) we can use it in ThreadPool rather than having a separate concurrent queue implementation (which is very similar to the old ConcurrentQueue design).

Commit migrated from https://github.com/dotnet/coreclr/commit/9cd40ee1ac4705de5542acaf8210c382b5c18087

7 years agoFix GC reporting for Span<T> passed in registers on Unix (dotnet/coreclr#9247)
Koundinya Veluri [Wed, 1 Feb 2017 14:20:12 +0000 (06:20 -0800)]
Fix GC reporting for Span<T> passed in registers on Unix (dotnet/coreclr#9247)

Part of fix for dotnet/coreclr#9033

Test coverage is already there in CoreFX's span tests.

Commit migrated from https://github.com/dotnet/coreclr/commit/7ced6b540e5c2fd7ed49661dc0b182d65a413949

7 years agoSynchronize SpinLock with CoreRT (dotnet/coreclr#9244)
Jan Kotas [Wed, 1 Feb 2017 07:34:28 +0000 (23:34 -0800)]
Synchronize SpinLock with CoreRT (dotnet/coreclr#9244)

Commit migrated from https://github.com/dotnet/coreclr/commit/171ad3925c8efd2242bb4eb675725adbac0bac9c

7 years agoMerge pull request dotnet/coreclr#9211 from hqueue/arm/clang_O3_issue
Gaurav Khanna [Wed, 1 Feb 2017 06:22:46 +0000 (22:22 -0800)]
Merge pull request dotnet/coreclr#9211 from hqueue/arm/clang_O3_issue

Use -O1 optimization for arm and armel

Commit migrated from https://github.com/dotnet/coreclr/commit/4499f03bdcefe6b3da683040df5f924588fa3c0d

7 years agoReflectionOnlyLoad should throw NotSupportedException (dotnet/coreclr#9238)
Rahul Kumar [Wed, 1 Feb 2017 06:13:36 +0000 (22:13 -0800)]
ReflectionOnlyLoad should throw NotSupportedException (dotnet/coreclr#9238)

Commit migrated from https://github.com/dotnet/coreclr/commit/4ee30cce27492510ac115b2076a79310edface6c

7 years agoRenaming Span/ReadOnlySpan Extension classes to avoid conflict with CoreFX. (dotnet...
Ahson Ahmed Khan [Wed, 1 Feb 2017 05:43:43 +0000 (21:43 -0800)]
Renaming Span/ReadOnlySpan Extension classes to avoid conflict with CoreFX. (dotnet/coreclr#9182)

* Moving all extension methods to a class called Span
* Adding known workaround for JIT bug.

Commit migrated from https://github.com/dotnet/coreclr/commit/68cb3c7cab52b1648b4f4c2246f08652092ac2f3

7 years ago[x86/Linux] Fix LLDB Plugin Build Error (dotnet/coreclr#9239)
Jonghyun Park [Wed, 1 Feb 2017 04:19:55 +0000 (13:19 +0900)]
[x86/Linux] Fix LLDB Plugin Build Error (dotnet/coreclr#9239)

Commit migrated from https://github.com/dotnet/coreclr/commit/2c3714ee75f3e1fa19f496d4530effa996032d7f

7 years agoincrease gtCallMoreFlags size
Sergey Andreenko [Tue, 31 Jan 2017 21:37:48 +0000 (13:37 -0800)]
increase gtCallMoreFlags size

gtCallMoreFlags was shart and all 16 values are already used. We need
one more for CoreRT fat pointers and it is likely that we wll need more
in the future.

Commit migrated from https://github.com/dotnet/coreclr/commit/830929d5ea39c53ec10e3fc4686f6f796b409018

7 years agoMerge pull request dotnet/coreclr#9233 from adiaaida/disableDeleteNextCardTable
Michelle McDaniel [Wed, 1 Feb 2017 02:33:34 +0000 (18:33 -0800)]
Merge pull request dotnet/coreclr#9233 from adiaaida/disableDeleteNextCardTable

Disable delete_next_card_table

Commit migrated from https://github.com/dotnet/coreclr/commit/b7b57102e465bb128f535a0a0c25cfca632ba1b9

7 years agoRemove SIMD dead code
Bruce Forstall [Wed, 1 Feb 2017 01:55:29 +0000 (17:55 -0800)]
Remove SIMD dead code

Fixes dotnet/coreclr#9089

Commit migrated from https://github.com/dotnet/coreclr/commit/089dbccdc74f4eef2e4dc69a76800f0b8c692467

7 years ago[x86/Linux] Get Frame Pointer from CallerSp (dotnet/coreclr#9235)
Jonghyun Park [Wed, 1 Feb 2017 01:46:32 +0000 (10:46 +0900)]
[x86/Linux] Get Frame Pointer from CallerSp (dotnet/coreclr#9235)

GetGSCookieAddress uses pEbp to get the current frame pointer, but pEbp
is not properly initialized as discussed in dotnet/coreclr#8980.

This commit revises GetGSCookieAddress to use CallerSp (as in other
architectures) to get Frame Pointer in order to fix dotnet/coreclr#8980.

Commit migrated from https://github.com/dotnet/coreclr/commit/6be2bed47d823b49603969c37a382f994da0b0ff

7 years ago[x86/Linux] Update pCurrentContextPointers properly in EnsureCallerContextIsValid...
Jonghyun Park [Wed, 1 Feb 2017 01:36:36 +0000 (10:36 +0900)]
[x86/Linux] Update pCurrentContextPointers properly in EnsureCallerContextIsValid (dotnet/coreclr#9232)

Commit migrated from https://github.com/dotnet/coreclr/commit/8d4cfdb986165051979a1d51b999b3287c3e7481

7 years agoFixes to make the lldb plugin work on ARM64 (dotnet/coreclr#9216)
Frederik Carlier [Wed, 1 Feb 2017 01:09:57 +0000 (02:09 +0100)]
Fixes to make the lldb plugin work on ARM64 (dotnet/coreclr#9216)

* Fixes to make the lldb plugin work on ARM64

Commit migrated from https://github.com/dotnet/coreclr/commit/abb186f739508be16c4bf51a54804aa2b302bc73

7 years agoMerge pull request dotnet/coreclr#9236 from wtgodbe/FixDeleteFiles
William Godbe [Wed, 1 Feb 2017 00:13:28 +0000 (16:13 -0800)]
Merge pull request dotnet/coreclr#9236 from wtgodbe/FixDeleteFiles

Delete requires_signing files before test archival

Commit migrated from https://github.com/dotnet/coreclr/commit/5eb59a5b8d46ea3b536eda673a888468b97db13e

7 years agoDelete requires_signing files before test archival
wtgodbe [Wed, 1 Feb 2017 00:03:17 +0000 (16:03 -0800)]
Delete requires_signing files before test archival

Commit migrated from https://github.com/dotnet/coreclr/commit/cb16e1af6846f79b80b609d799e8ff6a8d453169

7 years agoMerge pull request dotnet/coreclr#9202 from BruceForstall/FixRetBufMarking
Bruce Forstall [Tue, 31 Jan 2017 23:55:42 +0000 (15:55 -0800)]
Merge pull request dotnet/coreclr#9202 from BruceForstall/FixRetBufMarking

Mark RetBuf as SIMD variable

Commit migrated from https://github.com/dotnet/coreclr/commit/d227cd0d0e1aad1494f1b0273c86e9d85160c12e

7 years agoDisable delete_next_card_table
Michelle McDaniel [Tue, 31 Jan 2017 23:54:54 +0000 (15:54 -0800)]
Disable delete_next_card_table

Since 163983e was checked in, various tests have been failing because
delete_next_card_table is meant to allocate memory until it OOMs. Disable
this test to get the lab in better shape until we can deal with the GC bug
in dotnet/coreclr#9064, then move it to the long gc test leg.

Commit migrated from https://github.com/dotnet/coreclr/commit/b03b69e0f01bdebbaff4e863aa544c8e88bb10d2