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.
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)
Jonghyun Park [Tue, 7 Feb 2017 14:08:15 +0000 (23:08 +0900)]
[x86/Linux] Clean up EHContext-related code (#9395)
Dan Moseley [Tue, 7 Feb 2017 14:00:55 +0000 (06:00 -0800)]
Remove bclrewriter (#9351)
* Remove bclrewriter
* Dump crossgen error to Jenkins log
Jonghyun Park [Tue, 7 Feb 2017 13:47:14 +0000 (22:47 +0900)]
Clean up methods for USE_GC_INFO_DECODER (#9394)
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)
Jonghyun Park [Tue, 7 Feb 2017 04:09:59 +0000 (13:09 +0900)]
Fix a typo in TailCallFrame::UpdateRegDisplay log (#9381)
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
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
dotnet-bot [Tue, 7 Feb 2017 03:05:54 +0000 (03:05 +0000)]
Update CoreClr, CoreFx to beta-25007-01, beta-25007-01, respectively
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
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
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.
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)
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
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
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
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
William Godbe [Mon, 6 Feb 2017 18:40:04 +0000 (10:40 -0800)]
Change /bin/bash to usr/bin/env bash
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)
dotnet-bot [Mon, 6 Feb 2017 17:51:33 +0000 (17:51 +0000)]
Update CoreClr, CoreFx to beta-25006-03, beta-25006-01, respectively
Jonghyun Park [Mon, 6 Feb 2017 16:25:37 +0000 (01:25 +0900)]
Clean up FillRegDisplay (#9360)
Jan Kotas [Mon, 6 Feb 2017 15:28:18 +0000 (07:28 -0800)]
Delete remaining security transparency annotations
Jan Kotas [Mon, 6 Feb 2017 15:32:51 +0000 (07:32 -0800)]
Delete ClassInterface attributes
Jan Kotas [Mon, 6 Feb 2017 15:20:17 +0000 (07:20 -0800)]
Delete ComVisible attributes
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
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
Jan Kotas [Mon, 6 Feb 2017 14:53:42 +0000 (06:53 -0800)]
CAS Security cleanup (#9355)
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)
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
dotnet-bot [Mon, 6 Feb 2017 10:09:15 +0000 (10:09 +0000)]
Update CoreClr to beta-25006-02
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.
Stephen Toub [Mon, 6 Feb 2017 04:42:49 +0000 (23:42 -0500)]
Delete dead code from ExecutionContext (#9359)
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)
Hyeongseok Oh [Mon, 6 Feb 2017 03:22:12 +0000 (12:22 +0900)]
Merge branch 'master' into nuget_armel
Jonghyun Park [Mon, 6 Feb 2017 02:15:23 +0000 (11:15 +0900)]
[x86/Linux] Add Assertion on pvControlPc (#9356)
dotnet-bot [Mon, 6 Feb 2017 02:00:17 +0000 (02:00 +0000)]
Update CoreClr to beta-25006-01
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)
Frederik Carlier [Sun, 5 Feb 2017 19:54:37 +0000 (20:54 +0100)]
Frederik Carlier [Sun, 5 Feb 2017 19:50:28 +0000 (20:50 +0100)]
Port #5821 to Linux (#9347)
Frederik Carlier [Sun, 5 Feb 2017 19:49:49 +0000 (20:49 +0100)]
Port #5339 to Linux (#9348)
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
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.
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.
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
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.
Jan Kotas [Sun, 5 Feb 2017 11:56:42 +0000 (03:56 -0800)]
Rename internal CoreLib Console to LowLevelConsole (#9341)
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
Ben Adams [Sun, 5 Feb 2017 08:08:56 +0000 (08:08 +0000)]
Use StringBuilderCache for Enum.InternalFlagsFormat (#9340)
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'
Bruce Forstall [Sun, 5 Feb 2017 01:08:45 +0000 (17:08 -0800)]
Merge pull request #9240 from BruceForstall/FixSimdFieldMorphingDeadCode
Remove SIMD dead code
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
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.
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
Faizur Rahman [Sat, 4 Feb 2017 05:55:57 +0000 (21:55 -0800)]
Remove duplicate attributes from CoreLib (#9327)
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)
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
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
Drew Scoggins [Sat, 4 Feb 2017 00:32:59 +0000 (16:32 -0800)]
Fix typo
wtgodbe [Fri, 3 Feb 2017 23:59:21 +0000 (15:59 -0800)]
Add #!\bin\bash to beginning of shell test scripts
Gaurav Khanna [Fri, 3 Feb 2017 23:43:15 +0000 (15:43 -0800)]
Use fallback load context as binding context for dynamic parent assembly
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.
Jan Kotas [Fri, 3 Feb 2017 21:50:01 +0000 (13:50 -0800)]
Delete mscorlib from packages (#9313)
Jan Kotas [Fri, 3 Feb 2017 21:49:46 +0000 (13:49 -0800)]
Switch netcoreapp test reference to netcoreapp2.0 (#9310)
Karel Zikmund [Fri, 3 Feb 2017 20:33:23 +0000 (12:33 -0800)]
Update glossary.md
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)