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
wtgodbe [Fri, 3 Feb 2017 20:16:28 +0000 (12:16 -0800)]
Disable failing Helix tests until we fix underlying issues
Karel Zikmund [Fri, 3 Feb 2017 19:57:29 +0000 (11:57 -0800)]
Update glossary.md
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)
Jonghyun Park [Fri, 3 Feb 2017 17:51:09 +0000 (02:51 +0900)]
[x86/Linux] Clean Up #ifdef for VerifyValidTransitionFromManagedCode (#9304)
Jonghyun Park [Fri, 3 Feb 2017 17:50:29 +0000 (02:50 +0900)]
[x86/Linux] Clean up non-WIN64EXCEPTIONS code: (#9305)
Jonghyun Park [Fri, 3 Feb 2017 17:49:52 +0000 (02:49 +0900)]
[x86/Linux] Clean Up JIT_EndCatch (#9302)
Carol Eidt [Fri, 3 Feb 2017 17:34:35 +0000 (09:34 -0800)]
Merge pull request #9256 from CarolEidt/TreeNodeInfoSplit
Refactor TreeNodeInfoInit
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
dotnet-bot [Fri, 3 Feb 2017 15:03:33 +0000 (15:03 +0000)]
Update CoreClr, CoreFx to beta-25003-02, beta-25003-02, respectively
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
Stephen Toub [Fri, 3 Feb 2017 13:44:48 +0000 (08:44 -0500)]
Allow Dequeue to avoid TrySteal if there's nothing to steal
Stephen Toub [Thu, 2 Feb 2017 22:25:36 +0000 (17:25 -0500)]
Address PR feedback
Stephen Toub [Thu, 2 Feb 2017 18:50:44 +0000 (13:50 -0500)]
Enable inlining of EnsureVMInitialized
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).
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
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.
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.
Stephen Toub [Thu, 2 Feb 2017 12:00:09 +0000 (07:00 -0500)]
Reorder usings per previous PR feedback
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
Jonghyun Park [Fri, 3 Feb 2017 07:03:34 +0000 (16:03 +0900)]
[x86/Linux] Convert Fake DBZ into OVF (#9295)
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
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.
Jonghyun Park [Fri, 3 Feb 2017 02:15:28 +0000 (11:15 +0900)]
[x86/Linux] Do NOT use GSCookie on Funclet (#9290)
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.
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
Michelle McDaniel [Thu, 2 Feb 2017 21:59:10 +0000 (13:59 -0800)]
Add a test for #9282
sandreenko [Thu, 2 Feb 2017 22:07:59 +0000 (14:07 -0800)]
Merge pull request #9229 from sandreenko/increase_gtCallMoreFlags_size
increase gtCallMoreFlags size
wtgodbe [Thu, 2 Feb 2017 20:36:31 +0000 (12:36 -0800)]
Disable GC LargeMemory tests that were failing in Helix
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)
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.
Julien Couvreur [Thu, 2 Feb 2017 18:20:20 +0000 (10:20 -0800)]
Make ValueTuple types serializable (#9271)
dotnet-bot [Thu, 2 Feb 2017 17:47:34 +0000 (17:47 +0000)]
Update CoreClr to beta-25002-03
Russ Keldorph [Thu, 2 Feb 2017 16:52:55 +0000 (08:52 -0800)]
Adapt to corefx moving test results.
Jonghyun Park [Thu, 2 Feb 2017 16:12:07 +0000 (01:12 +0900)]
[x86/Linux] Set Establisher Frame Pointer as Caller SP (#9264)
Jan Kotas [Thu, 2 Feb 2017 15:57:41 +0000 (07:57 -0800)]
Delete remaining legacy ComInterfaces (#9270)
Jan Kotas [Thu, 2 Feb 2017 15:57:17 +0000 (07:57 -0800)]
Add ThreadPoolBoundHandle to model.xml (#9268)
This type was moved from corefx. This will allow the redundant copy in corefx to be deleted.
Jonghyun Park [Thu, 2 Feb 2017 09:41:46 +0000 (18:41 +0900)]
[x86/Linux] Do NOT use pXXX fields (#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
Jan Kotas [Thu, 2 Feb 2017 07:29:54 +0000 (23:29 -0800)]
Delete LocalDataStore (#9266)
This lives in CoreFX now
Jonghyun Park [Thu, 2 Feb 2017 06:42:39 +0000 (15:42 +0900)]
[x86/Linux] Process Explicit Frame before Managed Frame (#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 #9260.
Jan Kotas [Thu, 2 Feb 2017 04:53:08 +0000 (20:53 -0800)]
Synchronize part of System/* with CoreRT (#9259)
Stephen Toub [Thu, 2 Feb 2017 04:42:27 +0000 (23:42 -0500)]
Merge pull request #9234 from stephentoub/tp_perf
Some ThreadPool performance and maintainability improvements
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 (#9203)
Adding missing apis on .NET Core.
Sean Gillespie [Thu, 2 Feb 2017 02:32:33 +0000 (18:32 -0800)]
Fix segment map modification in OOM scenarios (#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 #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
Gaurav Khanna [Thu, 2 Feb 2017 01:44:54 +0000 (17:44 -0800)]
Merge pull request #9254 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25001-07 (master)
dotnet-bot [Wed, 1 Feb 2017 23:41:44 +0000 (23:41 +0000)]
Update CoreClr to beta-25001-07
Stephen Toub [Wed, 1 Feb 2017 22:10:33 +0000 (17:10 -0500)]
Address PR feedback
- Fix ArgumentNullException parameter name
William Godbe [Wed, 1 Feb 2017 21:59:20 +0000 (13:59 -0800)]
Merge pull request #9252 from wtgodbe/fixRuntimes
Use 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
Jan Kotas [Wed, 1 Feb 2017 20:40:59 +0000 (12:40 -0800)]
Synchronize src\mscorlib\corefx with CoreRT (#9251)
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
Dan Moseley [Wed, 1 Feb 2017 16:47:43 +0000 (09:47 -0700)]
Merge pull request #9242 from dotnet-bot/master-UpdateDependencies
Update CoreFx to beta-25001-02 (master)
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
Stephen Toub [Wed, 1 Feb 2017 15:35:12 +0000 (10:35 -0500)]
Remove unnecessary explicit static cctors
Let these types be marked beforefieldinit
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
dotnet-bot [Wed, 1 Feb 2017 15:05:27 +0000 (15:05 +0000)]
Update CoreFx to beta-25001-02
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).
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).
Koundinya Veluri [Wed, 1 Feb 2017 14:20:12 +0000 (06:20 -0800)]
Fix GC reporting for Span<T> passed in registers on Unix (#9247)
Part of fix for #9033
Test coverage is already there in CoreFX's span tests.
Jan Kotas [Wed, 1 Feb 2017 07:34:28 +0000 (23:34 -0800)]
Synchronize SpinLock with CoreRT (#9244)
Gaurav Khanna [Wed, 1 Feb 2017 06:22:46 +0000 (22:22 -0800)]
Merge pull request #9211 from hqueue/arm/clang_O3_issue
Use -O1 optimization for arm and armel
Rahul Kumar [Wed, 1 Feb 2017 06:13:36 +0000 (22:13 -0800)]
ReflectionOnlyLoad should throw NotSupportedException (#9238)
Ahson Ahmed Khan [Wed, 1 Feb 2017 05:43:43 +0000 (21:43 -0800)]
Renaming Span/ReadOnlySpan Extension classes to avoid conflict with CoreFX. (#9182)
* Moving all extension methods to a class called Span
* Adding known workaround for JIT bug.
Jonghyun Park [Wed, 1 Feb 2017 04:19:55 +0000 (13:19 +0900)]
[x86/Linux] Fix LLDB Plugin Build Error (#9239)
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.
Michelle McDaniel [Wed, 1 Feb 2017 02:33:34 +0000 (18:33 -0800)]
Merge pull request #9233 from adiaaida/disableDeleteNextCardTable
Disable delete_next_card_table
Jonghyun Park [Wed, 1 Feb 2017 01:46:32 +0000 (10:46 +0900)]
[x86/Linux] Get Frame Pointer from CallerSp (#9235)
GetGSCookieAddress uses pEbp to get the current frame pointer, but pEbp
is not properly initialized as discussed in #8980.
This commit revises GetGSCookieAddress to use CallerSp (as in other
architectures) to get Frame Pointer in order to fix #8980.
Jonghyun Park [Wed, 1 Feb 2017 01:36:36 +0000 (10:36 +0900)]
[x86/Linux] Update pCurrentContextPointers properly in EnsureCallerContextIsValid (#9232)
Frederik Carlier [Wed, 1 Feb 2017 01:09:57 +0000 (02:09 +0100)]
Fixes to make the lldb plugin work on ARM64 (#9216)
* Fixes to make the lldb plugin work on ARM64
William Godbe [Wed, 1 Feb 2017 00:13:28 +0000 (16:13 -0800)]
Merge pull request #9236 from wtgodbe/FixDeleteFiles
Delete 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
Bruce Forstall [Tue, 31 Jan 2017 23:55:42 +0000 (15:55 -0800)]
Merge pull request #9202 from BruceForstall/FixRetBufMarking
Mark RetBuf as SIMD variable
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 #9064, then move it to the long gc test leg.
Jonghyun Park [Tue, 31 Jan 2017 23:16:57 +0000 (08:16 +0900)]
Use Explicit Field Reference in FillRegDisplay (for x86) (#9212)
Stephen Toub [Tue, 31 Jan 2017 22:54:43 +0000 (17:54 -0500)]
Merge pull request #9224 from stephentoub/spinlock_tryenter_perf
Make SpinLock.TryEnter(ref bool) fail faster
Bruce Forstall [Mon, 30 Jan 2017 23:34:28 +0000 (15:34 -0800)]
Mark RetBuf as SIMD variable
I see changes where storeIndir is used now instead of
a BLK copy, which is an IR shape improvement.
This improves codegen for SIMD8, degrades it for SIMD12 (due
to encoding size differences with SSE instructions, though
the IR looks better), and is neutral for SIMD16, in the
VectorReturn test.
William Godbe [Tue, 31 Jan 2017 21:33:34 +0000 (13:33 -0800)]
Merge pull request #9217 from wtgodbe/syncNativeBins
Download native binaries into a folder named 'RID'
Stephen Toub [Tue, 31 Jan 2017 19:50:44 +0000 (14:50 -0500)]
Make SpinLock.TryEnter(ref bool) fail faster
One uses SpinLock.TryEnter(ref bool) when they want to do a quick test to either acquire the lock or know it's held by someone else. We can make the latter path much faster so that it fails faster.
William Godbe [Tue, 31 Jan 2017 21:12:35 +0000 (13:12 -0800)]
Merge pull request #9222 from wtgodbe/fileNameTooLong
Remove all '.requires_signing' files before zipping tests
wtgodbe [Tue, 31 Jan 2017 20:09:36 +0000 (12:09 -0800)]
Remove all '.requires_signing' files before zipping tests
wtgodbe [Tue, 31 Jan 2017 18:56:32 +0000 (10:56 -0800)]
Download native binaries into a folder named 'RID'
Aditya Mandaleeka [Tue, 31 Jan 2017 18:26:49 +0000 (10:26 -0800)]
Merge pull request #9207 from adityamandaleeka/ci_dump_improvements
Switch to a newer version of the dump management service we use
Gaurav Khanna [Tue, 31 Jan 2017 16:55:02 +0000 (08:55 -0800)]
Merge pull request #9206 from dotnet-bot/master-UpdateDependencies
Update CoreFx to beta-24931-02 (master)
Bruce Forstall [Tue, 31 Jan 2017 16:51:09 +0000 (08:51 -0800)]
Merge pull request #9127 from BruceForstall/FixSimdFieldMorphing
Fix morphing of GT_FIELD of SIMD in IND context
dotnet-bot [Tue, 31 Jan 2017 14:58:57 +0000 (14:58 +0000)]
Update CoreFx to beta-24931-02
Hyung-Kyu Choi [Tue, 31 Jan 2017 04:36:36 +0000 (13:36 +0900)]
Use -O1 optimization for arm and armel
Because there are bugs for -O3 optimization in clang (<=3.8) for arm,
let's use -O1 instead of -O3 for a while.
Related github issue: https://github.com/dotnet/core-setup/issues/790
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Jonghyun Park [Tue, 31 Jan 2017 09:43:27 +0000 (18:43 +0900)]
Enable EECodeManager::GetGSCookieAddr when CROSSGEN_COMPILE is not defined (#9209)
Bruce Forstall [Tue, 24 Jan 2017 01:40:57 +0000 (17:40 -0800)]
Fix morphing of GT_FIELD of SIMD in IND context
Bruce Forstall [Tue, 31 Jan 2017 07:19:28 +0000 (23:19 -0800)]
Merge pull request #9183 from BruceForstall/FixBlockOpMorphing
Fix morphing of block op assignments
Aditya Mandaleeka [Thu, 26 Jan 2017 23:25:10 +0000 (15:25 -0800)]
Switch to a newer version of the dump management service we use.
Bruce Forstall [Mon, 30 Jan 2017 23:46:39 +0000 (15:46 -0800)]
Merge pull request #9199 from BruceForstall/FixBadIfCondition
Fix misspelling of FEATURE_MULTIREG_ARGS
Frederik Carlier [Mon, 30 Jan 2017 23:21:49 +0000 (00:21 +0100)]
Support cross-building CoreCLR for arm64 Android (#9173)
* Support cross-building CoreCLR for arm64 Android
* Link gcc_s before libunwind
Koundinya Veluri [Mon, 30 Jan 2017 22:47:29 +0000 (14:47 -0800)]
Fix Thread constructor with stack size argument (#9186)
Fix Thread constructor with stack size argument
Functional fix for #9158 and #9167
William Godbe [Mon, 30 Jan 2017 22:30:43 +0000 (14:30 -0800)]
Merge pull request #9200 from wtgodbe/FixPublish
Change '.' to '-' in publishing test native binaries
wtgodbe [Mon, 30 Jan 2017 21:24:16 +0000 (13:24 -0800)]
Change '.' to '-' in publishing test native binaries
Bruce Forstall [Mon, 30 Jan 2017 20:26:25 +0000 (12:26 -0800)]
Fix misspelling of FEATURE_MULTIREG_ARGS
Dan Moseley [Mon, 30 Jan 2017 19:47:31 +0000 (12:47 -0700)]
Merge pull request #9188 from justinvp/fixed_addressof
Avoid unnecessary branches when fixing non-null/empty arrays
Dan Moseley [Mon, 30 Jan 2017 19:47:04 +0000 (12:47 -0700)]
Merge pull request #9197 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-24930-03 (master)
William Godbe [Mon, 30 Jan 2017 18:46:55 +0000 (10:46 -0800)]
Merge pull request #9198 from wtgodbe/FixReleaseHelix
Set BuildType in HelixPublish.proj
wtgodbe [Mon, 30 Jan 2017 18:30:48 +0000 (10:30 -0800)]
Set BuildType in HelixPublish.proj