William Godbe [Wed, 8 Feb 2017 21:35:49 +0000 (13:35 -0800)]
Merge pull request dotnet/coreclr#9417 from wtgodbe/publishNativeBins
Publish test native bins from correct directory
Commit migrated from https://github.com/dotnet/coreclr/commit/
3ed997483dc222ef696b5a3f38513707cb77b9cc
wtgodbe [Wed, 8 Feb 2017 20:30:03 +0000 (12:30 -0800)]
Publish test native bins from correct directory
Commit migrated from https://github.com/dotnet/coreclr/commit/
f5ee8f57612a6992e85e6518b817e5d6b26b905d
Joseph Tremoulet [Wed, 8 Feb 2017 16:09:05 +0000 (11:09 -0500)]
Merge pull request dotnet/coreclr#9169 from JosephTremoulet/UntrackedMem
Value-number byref loads
Commit migrated from https://github.com/dotnet/coreclr/commit/
1e731c49912bd9d7247073c577896e1a0a071a8d
Joseph Tremoulet [Fri, 13 Jan 2017 19:55:06 +0000 (14:55 -0500)]
Value-number `ByrefExposed` memory and loads
Teach value numbering to keep track of the current value number for
`ByrefExposed` memory, updating it appropriately at relevant stores.
Introduce a new VN operator `ByrefExposedLoad`, used for loads of
address-exposed locals and loads by indirs that don't have more specific
value numbers, which is a function of the current `ByrefExposed` memory VN
and the pointer VN. This allows loop hoisting and CSE to recognize
redundant loads via byrefs when there are no intervening stores.
Fixes dotnet/coreclr#7903.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a796400efe6bd2bc223b9d9367ec3b8a45647860
Joseph Tremoulet [Wed, 11 Jan 2017 19:58:57 +0000 (14:58 -0500)]
Define `MemoryKind::ByrefExposed`
Add a new `MemoryKind` to represent "any memory that byrefs may
reference", called `ByrefExposed`. All definition points of `GcHeap`
become also definition points of `ByrefExposed`, and additionally, so do
definitions of address-exposed locals.
Because it is a common case (currently happening in 90% of methods in
System.Private.CoreLib) that a method has no definitions of
address-exposed locals, have liveness detect this condition and set the
new `byrefStatesMatchGcHeapStates` flag accordingly; when the states
match, the same `MemoryPhi`s, defnums, and `PerSsaData` are then shared
between the two memory kinds, to avoid excess allocations/processing.
This change defines `ByrefExposed` memory and its def/use points, and
builds SSA for it, but no optimizations make use of it, so this is a
no-diff change.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c6a419710ed292f2fa48e459239ee95e3ed2ca2
Joseph Tremoulet [Thu, 29 Dec 2016 22:02:18 +0000 (17:02 -0500)]
Introduce `MemoryKind` abstraction
Re-cast the notion of "heap" (in liveness, SSA, and value-numbering) as
one of potentially many `MemoryKind`s, called `GcHeap`. Update names,
comments, data structures, and signatures as appropriate to parameterize
relevant data/methods over `MemoryKind`. This change is a no-diff
refactoring, and currently `GcHeap` is the only `MemoryKind`. Generally,
codepaths which will generically need to process all `MemoryKinds`s
(initializing, dumping, dataflow propagation) now iterate over all
`MemoryKinds`, and codepaths which are sensitive to the semantics of the
specific `MemoryKind` (def/use identification in liveness and value
numbering) are changed to specifically operate on `MemoryKind::GcHeap`.
One notable exception is that `lvMemoryPerSsaData` and `CountForMemoryDef`
are *not* parameterized over `MemoryKind`; there's a single "space" of SSA
defnums for memory defs (though the same tree can incur different defs for
different memory kinds [in which case their defnums will differ]), to
facilitate subsequently sharing SSA nodes across memory kinds when
appropriate.
Commit migrated from https://github.com/dotnet/coreclr/commit/
463502f9e70e39cd460091298b338a065b8631f2
Joseph Tremoulet [Fri, 13 Jan 2017 17:29:37 +0000 (12:29 -0500)]
Refactor fgCurHeapVN and HeapSsaMap updates
Consolodate the code for updating the current heap VN and HeapSsaMap
entries into new helper method `recordHeapStore`, to make it easier to
evolve that code. Change `fgValueNumberArrIndexAssign` to return the new
heap VN to allow callers to pass it down into `recordHeapStore`
accordingly.
This is just a refactoring; no change to compiler behavior.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5501ecb0855f295c0c60c3743c440badd5d67d61
Joseph Tremoulet [Wed, 8 Feb 2017 14:31:52 +0000 (09:31 -0500)]
Merge pull request dotnet/coreclr#9329 from JosephTremoulet/LateArgVN
Get call arg value numbers from late args
Commit migrated from https://github.com/dotnet/coreclr/commit/
eaa168845c45bb465953a61e038f8afd88c27206
Jonghyun Park [Wed, 8 Feb 2017 13:38:15 +0000 (22:38 +0900)]
Clean up EnumGcRefs (dotnet/coreclr#9412)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a280ec66aaef4e09f7e3cbe74fc554bbae7b701f
Russ Keldorph [Wed, 8 Feb 2017 12:49:42 +0000 (04:49 -0800)]
Merge pull request dotnet/coreclr#9408 from jashook/disable_checked_arm64
Disable checked arm64 jobs until jobs are stable
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b0137f9ce00049955366fa5fb6066f0ab8ffc65
Jonghyun Park [Wed, 8 Feb 2017 09:29:23 +0000 (18:29 +0900)]
[x86/Linux] Use SP as StackMarker (dotnet/coreclr#9389)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0dc81ab6810e43253411ae76a780c8291650da0f
jashook [Wed, 8 Feb 2017 05:36:17 +0000 (21:36 -0800)]
Disable checked arm64 jobs until jobs are stable
Jobs currently are expected to run red until a lstFile update goes in. Therefore,
disable the job as a PR trigger until it is clean.
Commit migrated from https://github.com/dotnet/coreclr/commit/
842c64eb8ea0181368ad8e0830191fb71a92c69c
Jan Kotas [Wed, 8 Feb 2017 03:30:40 +0000 (19:30 -0800)]
Add ComVisible(true) back to several special types (dotnet/coreclr#9403)
It is required by WinRT/COM interop. Fixes dotnet/coreclr#9401.
Commit migrated from https://github.com/dotnet/coreclr/commit/
272cc4e755e6ef4570d70b815a03c15c7a9ccc1b
Dan Moseley [Tue, 7 Feb 2017 22:10:09 +0000 (14:10 -0800)]
Remove more CAS (dotnet/coreclr#9390)
* Remove PermissionSet
* Remove HostProtectionAttribute
* Remove PermissionState
* Remove S.Security.Permissions
* Remove IPrincipal
* Fix native side
* Remove model.xml again
Commit migrated from https://github.com/dotnet/coreclr/commit/
c35e8dbc37e5380f46553510d0368aad04a677d2
Koundinya Veluri [Tue, 7 Feb 2017 20:58:51 +0000 (12:58 -0800)]
Fix field type for ByReference<T> and TypedReference (dotnet/coreclr#9284)
Fix field type for `ByReference<T>` and `TypedReference`
Fixes dotnet/coreclr#7894
Commit migrated from https://github.com/dotnet/coreclr/commit/
3c34cce7187e44c024331ad6267c6507034e48bd
Frederik Carlier [Tue, 7 Feb 2017 18:19:31 +0000 (19:19 +0100)]
Add scripts & docs which support creating an Android toolchain on Linux (dotnet/coreclr#9175)
* Add scripts & docs which support creating an Android toolchain on Linux
Commit migrated from https://github.com/dotnet/coreclr/commit/
05ec3cea1f58eec67f85de09e8869e9239e6c94d
Russ Keldorph [Tue, 7 Feb 2017 18:14:24 +0000 (10:14 -0800)]
Merge pull request dotnet/coreclr#9385 from jashook/lower_block_store_arm64
Call LowerBlockStore TreeNodeInfoInitBlockStore
Commit migrated from https://github.com/dotnet/coreclr/commit/
49e51a52fac3ee4e0f893b862b759473d3f5f2f6
Jan Vorlicek [Tue, 7 Feb 2017 15:13:37 +0000 (16:13 +0100)]
Design portable tail calls with helpers (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
647e7f1f39040fbd7e77d1d7cc56c22deb7ec2a9
Stephen Toub [Tue, 7 Feb 2017 14:16:27 +0000 (09:16 -0500)]
Merge pull request dotnet/coreclr#9383 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-25007-01, beta-25007-01, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
597a00ece8ac99b603df9876bd9e9b01e536a9e3
Jonghyun Park [Tue, 7 Feb 2017 14:08:15 +0000 (23:08 +0900)]
[x86/Linux] Clean up EHContext-related code (dotnet/coreclr#9395)
Commit migrated from https://github.com/dotnet/coreclr/commit/
35e91e578712bdcc881c56e515dba07e6be3f15d
Dan Moseley [Tue, 7 Feb 2017 14:00:55 +0000 (06:00 -0800)]
Remove bclrewriter (dotnet/coreclr#9351)
* Remove bclrewriter
* Dump crossgen error to Jenkins log
Commit migrated from https://github.com/dotnet/coreclr/commit/
505d2266d4d10229105408c6f803acb5a017b0fa
Jonghyun Park [Tue, 7 Feb 2017 13:47:14 +0000 (22:47 +0900)]
Clean up methods for USE_GC_INFO_DECODER (dotnet/coreclr#9394)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2945233dec39a07652455ffb075b0a4a5f303fa6
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 (dotnet/coreclr#9376)
Commit migrated from https://github.com/dotnet/coreclr/commit/
cf42bd28027e62ffff3d7f8b68a50fde1f0cdccf
Jonghyun Park [Tue, 7 Feb 2017 04:09:59 +0000 (13:09 +0900)]
Fix a typo in TailCallFrame::UpdateRegDisplay log (dotnet/coreclr#9381)
Commit migrated from https://github.com/dotnet/coreclr/commit/
59738c718a32e600be07391540a540046f99c741
Bruce Forstall [Tue, 7 Feb 2017 04:07:12 +0000 (20:07 -0800)]
Merge pull request dotnet/coreclr#8849 from seanshpark/fixstackalign
[x86/Linux] Stack align 16 bytes for JIT code
Commit migrated from https://github.com/dotnet/coreclr/commit/
b05cf502b27205b412c31a8c4de59a3a73dbd11e
Hyeongseok Oh [Tue, 7 Feb 2017 04:06:36 +0000 (13:06 +0900)]
[ARM32/Linux] Fix calling convention - stdcall in crossgen (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
3108cc7e12e004e6c6bab2daf7826dd97957101f
dotnet-bot [Tue, 7 Feb 2017 03:05:54 +0000 (03:05 +0000)]
Update CoreClr, CoreFx to beta-25007-01, beta-25007-01, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
c9b94fa3c428a41e3e24896c598706eba16ca36c
jashook [Tue, 7 Feb 2017 02:01:24 +0000 (18:01 -0800)]
Call LowerBlockStore TreeNodeInfoInitBlockStore
For arm64 call LowerBlockStore before TreeNodeInfoInitBlockStore
as done on other architectures.
Commit migrated from https://github.com/dotnet/coreclr/commit/
db88095a97e71b18cfc510c811eae2ca290cce09
Russ Keldorph [Tue, 7 Feb 2017 00:20:34 +0000 (16:20 -0800)]
Merge pull request dotnet/coreclr#9377 from RussKeldorph/defaultprivate
Default-trigger ARM64 testing on certain users' PRs
Commit migrated from https://github.com/dotnet/coreclr/commit/
ff1e4f3c2a9737f87608b735f6cd197523a2026b
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
5df45286968775ffccaf01669eba7c8baa9923e1
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a9dce8e42c0ff4fa4cca9d97c2db31fcb377b17
Stephen Toub [Mon, 6 Feb 2017 21:32:43 +0000 (16:32 -0500)]
Merge pull request dotnet/coreclr#9372 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-25006-03, beta-25006-01, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
65b9cb35226c5395be531554e207bb4e2096092f
William Godbe [Mon, 6 Feb 2017 20:30:06 +0000 (12:30 -0800)]
Merge pull request dotnet/coreclr#9325 from wtgodbe/bashScripts
Add #!/bin/bash to beginning of shell test scripts
Commit migrated from https://github.com/dotnet/coreclr/commit/
83585ce21902048f6ad4b7b48cc9ba53cc72e752
Drew Scoggins [Mon, 6 Feb 2017 19:29:03 +0000 (11:29 -0800)]
Merge pull request dotnet/coreclr#9319 from DrewScoggins/X86PerfRuns
Add x86 perf runs to CoreCLR
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f7adfcc30d3b9d3ecdb9927504cc2f028a3a65b
Bruce Forstall [Mon, 6 Feb 2017 19:26:34 +0000 (11:26 -0800)]
Merge pull request dotnet/coreclr#8644 from BruceForstall/SimdLongDecomp
Enable SIMD for RyuJIT/x86
Commit migrated from https://github.com/dotnet/coreclr/commit/
d05009a17e194d50726454f348e93890273e62f5
Jan Kotas [Mon, 6 Feb 2017 18:56:03 +0000 (10:56 -0800)]
Merge pull request dotnet/coreclr#9371 from jkotas/attributes
Delete COM and security transparency attributes
Commit migrated from https://github.com/dotnet/coreclr/commit/
80c30e7dfbe00ab30bb86ba2c0f883130766643e
William Godbe [Mon, 6 Feb 2017 18:40:04 +0000 (10:40 -0800)]
Change /bin/bash to usr/bin/env bash
Commit migrated from https://github.com/dotnet/coreclr/commit/
eff04fba8822d89892ad1d18e20f665e06feca8f
Gaurav Khanna [Mon, 6 Feb 2017 18:29:41 +0000 (10:29 -0800)]
Merge pull request dotnet/coreclr#8827 from hseok-oh/nuget_armel
Generate nuget package for armel (Tizen, Debian)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a60c0648ed79f0678240eb7be4496b687fb3dbbe
dotnet-bot [Mon, 6 Feb 2017 17:51:33 +0000 (17:51 +0000)]
Update CoreClr, CoreFx to beta-25006-03, beta-25006-01, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
89ec31faf6c4e3cca133a4fa8d897851b5a044b1
Jonghyun Park [Mon, 6 Feb 2017 16:25:37 +0000 (01:25 +0900)]
Clean up FillRegDisplay (dotnet/coreclr#9360)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c9978fc29ee207d4099faad2716d996bca0a7bbd
Jan Kotas [Mon, 6 Feb 2017 15:28:18 +0000 (07:28 -0800)]
Delete remaining security transparency annotations
Commit migrated from https://github.com/dotnet/coreclr/commit/
215fe870868f88f8566d53262c9924d58ea48f21
Jan Kotas [Mon, 6 Feb 2017 15:32:51 +0000 (07:32 -0800)]
Delete ClassInterface attributes
Commit migrated from https://github.com/dotnet/coreclr/commit/
345005de9521c34c0c023539d9afef48acead426
Jan Kotas [Mon, 6 Feb 2017 15:20:17 +0000 (07:20 -0800)]
Delete ComVisible attributes
Commit migrated from https://github.com/dotnet/coreclr/commit/
f705205bdeef23187011a65376a3c7dcb448f359
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 (dotnet/coreclr#9172)
* Don't refdefine PAGE_SIZE on Android
* Don't re-declare INT_MIN on Android
* Fixup
Commit migrated from https://github.com/dotnet/coreclr/commit/
ec23bace223bf449a08bde2f1ec3e2c0135ce408
Stephen Toub [Mon, 6 Feb 2017 14:58:34 +0000 (09:58 -0500)]
Merge pull request dotnet/coreclr#9368 from stephentoub/cq_fixes
Two fixes to ConcurrentQueue
Commit migrated from https://github.com/dotnet/coreclr/commit/
f07a4ba427e9a83dc04c03eceb97bf33f0335461
Jan Kotas [Mon, 6 Feb 2017 14:53:42 +0000 (06:53 -0800)]
CAS Security cleanup (dotnet/coreclr#9355)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c47caa806e6907df81e7a96864984df4d0f38cd
Stephen Toub [Mon, 6 Feb 2017 12:35:11 +0000 (07:35 -0500)]
Merge pull request dotnet/coreclr#9367 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25006-02 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0b064eef415468f50e7360256e42737d247eb677
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
c51054c54fc0cc5e36e710a76ad41aba963c67fc
dotnet-bot [Mon, 6 Feb 2017 10:09:15 +0000 (10:09 +0000)]
Update CoreClr to beta-25006-02
Commit migrated from https://github.com/dotnet/coreclr/commit/
cb0546dc5ef7eb46425dbf55e9895d6ba2c3fd81
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
Stephen Toub [Mon, 6 Feb 2017 04:42:49 +0000 (23:42 -0500)]
Delete dead code from ExecutionContext (dotnet/coreclr#9359)
Commit migrated from https://github.com/dotnet/coreclr/commit/
09a834c056db4bdfd7bcf202818e963e2506e58d
Gaurav Khanna [Mon, 6 Feb 2017 04:14:43 +0000 (20:14 -0800)]
Merge pull request dotnet/coreclr#9358 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25006-01 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
66e381b37c6446607cd539443e3873066940fae2
Hyeongseok Oh [Mon, 6 Feb 2017 03:22:12 +0000 (12:22 +0900)]
Merge branch 'master' into nuget_armel
Commit migrated from https://github.com/dotnet/coreclr/commit/
f2efef85bd811169ccc2e1896fb9d689b1fb459b
Jonghyun Park [Mon, 6 Feb 2017 02:15:23 +0000 (11:15 +0900)]
[x86/Linux] Add Assertion on pvControlPc (dotnet/coreclr#9356)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a702f3f0a4a178ec1f1597c7cb47a35c0940d57b
dotnet-bot [Mon, 6 Feb 2017 02:00:17 +0000 (02:00 +0000)]
Update CoreClr to beta-25006-01
Commit migrated from https://github.com/dotnet/coreclr/commit/
e5d6ecbfe30c1824134a290ed5f2f8fb1dc43e7a
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Joseph Tremoulet [Tue, 31 Jan 2017 22:52:42 +0000 (17:52 -0500)]
Pull call arg value numbers from late args
Since the main arg list includes the setup args that may be struct copies
using the VNForVoid value number that compares equal across occurrences,
check for these when computing argument value numbers and instead get the
value number from the corresponding late arg, which has the actual value
being passed.
Commit migrated from https://github.com/dotnet/coreclr/commit/
061b3f24985a8ea67fb5765025b8698a9880bbdf
Joseph Tremoulet [Tue, 31 Jan 2017 22:44:58 +0000 (17:44 -0500)]
Factor out helper to get late arg for given index
Simple no-diff refactoring to avoid copy-paste proliferation of this
snippet.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac68cb956842dfedd39e76808037f63e28ee7a52
Joseph Tremoulet [Tue, 31 Jan 2017 22:41:29 +0000 (17:41 -0500)]
Remove unreachable switch case
Operator `GT_FIELD_LIST` was lumped in with some of the `!VNFuncIsLegal`
cases in `fgValueNumberTree`, but it's actually a legal operator that gets
handled by the corresponding codepath up on line 6408. Remove the
unreachable case to avoid confusion.
Commit migrated from https://github.com/dotnet/coreclr/commit/
926ed745dddee6daa2aa6e1b448024fbbfbb3328
Drew Scoggins [Sat, 4 Feb 2017 00:32:59 +0000 (16:32 -0800)]
Fix typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
beb30ddc152e34aa453a892c36782254f1178668
wtgodbe [Fri, 3 Feb 2017 23:59:21 +0000 (15:59 -0800)]
Add #!\bin\bash to beginning of shell test scripts
Commit migrated from https://github.com/dotnet/coreclr/commit/
c0d55096cd86115c565b1c6379ed3a508be4e2ef
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
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
36415889747eb4f59a657484530de92da8b86851
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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