platform/upstream/coreclr.git
7 years agoDesign portable tail calls with helpers (#8596)
Jan Vorlicek [Tue, 7 Feb 2017 15:13:37 +0000 (16:13 +0100)]
Design portable tail calls with helpers (#8596)

* Design portable tail calls with helpers

Currently we don't handle non-trivial cases of tail calls on Unix due to the non-portable and
complex way it is implemented. This pull request describes a design of a portable way of
handling these cases so that it can be used uniformly over all our jitted and AOT (ahead of time)
platforms.

7 years agoMerge pull request #9383 from dotnet-bot/master-UpdateDependencies
Stephen Toub [Tue, 7 Feb 2017 14:16:27 +0000 (09:16 -0500)]
Merge pull request #9383 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-25007-01, beta-25007-01, respectively (master)

7 years ago[x86/Linux] Clean up EHContext-related code (#9395)
Jonghyun Park [Tue, 7 Feb 2017 14:08:15 +0000 (23:08 +0900)]
[x86/Linux] Clean up EHContext-related code (#9395)

7 years agoRemove bclrewriter (#9351)
Dan Moseley [Tue, 7 Feb 2017 14:00:55 +0000 (06:00 -0800)]
Remove bclrewriter (#9351)

* Remove bclrewriter

* Dump crossgen error to Jenkins log

7 years agoClean up methods for USE_GC_INFO_DECODER (#9394)
Jonghyun Park [Tue, 7 Feb 2017 13:47:14 +0000 (22:47 +0900)]
Clean up methods for USE_GC_INFO_DECODER (#9394)

7 years agoMove GC/Coverage/delete_next_card_table to the Long GC playlist (#9376)
Sean Gillespie [Tue, 7 Feb 2017 04:11:13 +0000 (20:11 -0800)]
Move GC/Coverage/delete_next_card_table to the Long GC playlist (#9376)

7 years agoFix a typo in TailCallFrame::UpdateRegDisplay log (#9381)
Jonghyun Park [Tue, 7 Feb 2017 04:09:59 +0000 (13:09 +0900)]
Fix a typo in TailCallFrame::UpdateRegDisplay log (#9381)

7 years agoMerge pull request #8849 from seanshpark/fixstackalign
Bruce Forstall [Tue, 7 Feb 2017 04:07:12 +0000 (20:07 -0800)]
Merge pull request #8849 from seanshpark/fixstackalign

[x86/Linux] Stack align 16 bytes for JIT code

7 years ago[ARM32/Linux] Fix calling convention - stdcall in crossgen (#9364)
Hyeongseok Oh [Tue, 7 Feb 2017 04:06:36 +0000 (13:06 +0900)]
[ARM32/Linux] Fix calling convention - stdcall in crossgen (#9364)

* [ARM32/Linux] Fix calling convention - sdcall in crossgen

- Fix calling convention:
not use stdcall for ENCODEMODULE_CALLBACK & DEFINETOKEN_CALLBACK in linux/x86
x86-host/arm32-target crossgen & x86 crossgen
build error in clang 3.9: not allowed calling convention casting

7 years agoUpdate CoreClr, CoreFx to beta-25007-01, beta-25007-01, respectively
dotnet-bot [Tue, 7 Feb 2017 03:05:54 +0000 (03:05 +0000)]
Update CoreClr, CoreFx to beta-25007-01, beta-25007-01, respectively

7 years agoMerge pull request #9377 from RussKeldorph/defaultprivate
Russ Keldorph [Tue, 7 Feb 2017 00:20:34 +0000 (16:20 -0800)]
Merge pull request #9377 from RussKeldorph/defaultprivate

Default-trigger ARM64 testing on certain users' PRs

7 years ago[x86/Linux] Stack align 16 bytes for JIT code
SaeHie Park [Mon, 9 Jan 2017 01:39:54 +0000 (10:39 +0900)]
[x86/Linux] Stack align 16 bytes for JIT code

Change JIT code to align stack in 16 byte used in modern compiler

7 years agoDefault-trigger ARM64 testing on certain users PRs
Russ Keldorph [Mon, 6 Feb 2017 22:19:21 +0000 (14:19 -0800)]
Default-trigger ARM64 testing on certain users PRs

Re-using the logic that allows certain users to request ARM64 testing to
default-trigger ARM64 testing on their PRs.  Ideally, we'd be able to
separate the list of people who have permission to trigger testing from
those that get testing by default, but that is harder than it seems.

7 years agoMerge pull request #9372 from dotnet-bot/master-UpdateDependencies
Stephen Toub [Mon, 6 Feb 2017 21:32:43 +0000 (16:32 -0500)]
Merge pull request #9372 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-25006-03, beta-25006-01, respectively (master)

7 years agoMerge pull request #9325 from wtgodbe/bashScripts
William Godbe [Mon, 6 Feb 2017 20:30:06 +0000 (12:30 -0800)]
Merge pull request #9325 from wtgodbe/bashScripts

Add #!/bin/bash to beginning of shell test scripts

7 years agoMerge pull request #9319 from DrewScoggins/X86PerfRuns
Drew Scoggins [Mon, 6 Feb 2017 19:29:03 +0000 (11:29 -0800)]
Merge pull request #9319 from DrewScoggins/X86PerfRuns

Add x86 perf runs to CoreCLR

7 years agoMerge pull request #8644 from BruceForstall/SimdLongDecomp
Bruce Forstall [Mon, 6 Feb 2017 19:26:34 +0000 (11:26 -0800)]
Merge pull request #8644 from BruceForstall/SimdLongDecomp

Enable SIMD for RyuJIT/x86

7 years agoMerge pull request #9371 from jkotas/attributes
Jan Kotas [Mon, 6 Feb 2017 18:56:03 +0000 (10:56 -0800)]
Merge pull request #9371 from jkotas/attributes

Delete COM and security transparency attributes

7 years agoChange /bin/bash to usr/bin/env bash
William Godbe [Mon, 6 Feb 2017 18:40:04 +0000 (10:40 -0800)]
Change /bin/bash to usr/bin/env bash

7 years agoMerge pull request #8827 from hseok-oh/nuget_armel
Gaurav Khanna [Mon, 6 Feb 2017 18:29:41 +0000 (10:29 -0800)]
Merge pull request #8827 from hseok-oh/nuget_armel

Generate nuget package for armel (Tizen, Debian)

7 years agoUpdate CoreClr, CoreFx to beta-25006-03, beta-25006-01, respectively
dotnet-bot [Mon, 6 Feb 2017 17:51:33 +0000 (17:51 +0000)]
Update CoreClr, CoreFx to beta-25006-03, beta-25006-01, respectively

7 years agoClean up FillRegDisplay (#9360)
Jonghyun Park [Mon, 6 Feb 2017 16:25:37 +0000 (01:25 +0900)]
Clean up FillRegDisplay (#9360)

7 years agoDelete remaining security transparency annotations
Jan Kotas [Mon, 6 Feb 2017 15:28:18 +0000 (07:28 -0800)]
Delete remaining security transparency annotations

7 years agoDelete ClassInterface attributes
Jan Kotas [Mon, 6 Feb 2017 15:32:51 +0000 (07:32 -0800)]
Delete ClassInterface attributes

7 years agoDelete ComVisible attributes
Jan Kotas [Mon, 6 Feb 2017 15:20:17 +0000 (07:20 -0800)]
Delete ComVisible attributes

7 years agoAndroid - Fix duplicate definitions of INT_MIN and PAGE_SIZE in unit tests (#9172)
Frederik Carlier [Mon, 6 Feb 2017 15:25:36 +0000 (16:25 +0100)]
Android - Fix duplicate definitions of INT_MIN and PAGE_SIZE in unit tests (#9172)

* Don't refdefine PAGE_SIZE on Android

* Don't re-declare INT_MIN on Android

* Fixup

7 years agoMerge pull request #9368 from stephentoub/cq_fixes
Stephen Toub [Mon, 6 Feb 2017 14:58:34 +0000 (09:58 -0500)]
Merge pull request #9368 from stephentoub/cq_fixes

Two fixes to ConcurrentQueue

7 years agoCAS Security cleanup (#9355)
Jan Kotas [Mon, 6 Feb 2017 14:53:42 +0000 (06:53 -0800)]
CAS Security cleanup (#9355)

7 years agoMerge pull request #9367 from dotnet-bot/master-UpdateDependencies
Stephen Toub [Mon, 6 Feb 2017 12:35:11 +0000 (07:35 -0500)]
Merge pull request #9367 from dotnet-bot/master-UpdateDependencies

Update CoreClr to beta-25006-02 (master)

7 years agoTwo fixes to ConcurrentQueue
Stephen Toub [Mon, 6 Feb 2017 12:34:06 +0000 (07:34 -0500)]
Two fixes to ConcurrentQueue

- Changed comparisons to use subtraction to avoid overflow issues on sequence numbers.
- Added an exception message where a TODO was left in the code

7 years agoUpdate CoreClr to beta-25006-02
dotnet-bot [Mon, 6 Feb 2017 10:09:15 +0000 (10:09 +0000)]
Update CoreClr to beta-25006-02

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.

7 years agoDelete dead code from ExecutionContext (#9359)
Stephen Toub [Mon, 6 Feb 2017 04:42:49 +0000 (23:42 -0500)]
Delete dead code from ExecutionContext (#9359)

7 years agoMerge pull request #9358 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Mon, 6 Feb 2017 04:14:43 +0000 (20:14 -0800)]
Merge pull request #9358 from dotnet-bot/master-UpdateDependencies

Update CoreClr to beta-25006-01 (master)

7 years agoMerge branch 'master' into nuget_armel
Hyeongseok Oh [Mon, 6 Feb 2017 03:22:12 +0000 (12:22 +0900)]
Merge branch 'master' into nuget_armel

7 years ago[x86/Linux] Add Assertion on pvControlPc (#9356)
Jonghyun Park [Mon, 6 Feb 2017 02:15:23 +0000 (11:15 +0900)]
[x86/Linux] Add Assertion on pvControlPc (#9356)

7 years agoUpdate CoreClr to beta-25006-01
dotnet-bot [Mon, 6 Feb 2017 02:00:17 +0000 (02:00 +0000)]
Update CoreClr to beta-25006-01

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

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

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

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

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

Remove NoInlining/StackCrawlMarks from Tasks

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.

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.

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

Remove internal self-replicating support from Tasks

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.

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

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

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

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

7 years agoRemove stripped code (#9269)
Dan Moseley [Sun, 5 Feb 2017 06:36:42 +0000 (22:36 -0800)]
Remove stripped code (#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'

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

Remove SIMD dead code

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

7 years agoRevert "Update CoreClr, CoreFx to beta-25004-01, beta-25004-01, respectively (#9330)"
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 (#9330)"

This reverts commit e8dff5550c022d2854914dc534f9ec3d7fe623ac.

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

Use fallback load context as binding context for dynamic parent assembly

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

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

7 years agoRemove cross appdomains cultures checks (#9328)
Tarek Mahmoud Sayed [Sat, 4 Feb 2017 02:27:43 +0000 (18:27 -0800)]
Remove cross appdomains cultures checks (#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

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

* Fix legacy Globalization tests to work on Linux

* Delete globalization tests

7 years agoFix typo
Drew Scoggins [Sat, 4 Feb 2017 00:32:59 +0000 (16:32 -0800)]
Fix typo

7 years agoAdd #!\bin\bash to beginning of shell test scripts
wtgodbe [Fri, 3 Feb 2017 23:59:21 +0000 (15:59 -0800)]
Add #!\bin\bash to beginning of shell test scripts

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

7 years agoAdd x86 perf runs to CoreCLR
Drew Scoggins [Fri, 3 Feb 2017 23:08:19 +0000 (15:08 -0800)]
Add x86 perf runs to CoreCLR

This is a change to add x86 perf runs to the CoreCLR repo.  This also
changes the command to launch a perf run from a PR to include the
architecture.

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

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

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

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

Disable failing Helix tests until we fix underlying issues

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

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

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

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

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

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

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

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

Refactor TreeNodeInfoInit

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

Some more perf tweaks to ThreadPool

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

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

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

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

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

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).

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

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.

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.

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

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

* [x86/Linux] Do NOT use QuickUnwindStackFrame

* Fix x64 build error

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

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

Add a test for #9282

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

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

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

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

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.

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

Disable GC LargeMemory tests that were failing in Helix

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

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

increase gtCallMoreFlags size

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

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

Update CoreClr to beta-25002-03 (master)

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

Adapt to corefx moving test results.

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

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

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.

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