platform/upstream/dotnet/runtime.git
7 years agoFix warning from an unsigned/signed comparison
jashook [Wed, 8 Feb 2017 17:44:07 +0000 (09:44 -0800)]
Fix warning from an unsigned/signed comparison

This fixes a desktop build break.

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

7 years agoMerge pull request dotnet/coreclr#9169 from JosephTremoulet/UntrackedMem
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

7 years agoValue-number `ByrefExposed` memory and loads
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

7 years agoDefine `MemoryKind::ByrefExposed`
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

7 years agoIntroduce `MemoryKind` abstraction
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

7 years agoRefactor fgCurHeapVN and HeapSsaMap updates
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

7 years agoMerge pull request dotnet/coreclr#9329 from JosephTremoulet/LateArgVN
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

7 years agoClean up EnumGcRefs (dotnet/coreclr#9412)
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

7 years agoMerge pull request dotnet/coreclr#9408 from jashook/disable_checked_arm64
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

7 years ago[x86/Linux] Use SP as StackMarker (dotnet/coreclr#9389)
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

7 years agoDisable checked arm64 jobs until jobs are stable
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

7 years agoAdd ComVisible(true) back to several special types (dotnet/coreclr#9403)
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

7 years agoRemove more CAS (dotnet/coreclr#9390)
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

7 years agoFix field type for ByReference<T> and TypedReference (dotnet/coreclr#9284)
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

7 years agoAdd scripts & docs which support creating an Android toolchain on Linux (dotnet/corec...
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

7 years agoMerge pull request dotnet/coreclr#9385 from jashook/lower_block_store_arm64
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

7 years agoDesign portable tail calls with helpers (dotnet/coreclr#8596)
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

7 years agoMerge pull request dotnet/coreclr#9383 from dotnet-bot/master-UpdateDependencies
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

7 years ago[x86/Linux] Clean up EHContext-related code (dotnet/coreclr#9395)
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

7 years agoRemove bclrewriter (dotnet/coreclr#9351)
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

7 years agoClean up methods for USE_GC_INFO_DECODER (dotnet/coreclr#9394)
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

7 years agoMove GC/Coverage/delete_next_card_table to the Long GC playlist (dotnet/coreclr#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 (dotnet/coreclr#9376)

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

7 years agoFix a typo in TailCallFrame::UpdateRegDisplay log (dotnet/coreclr#9381)
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

7 years agoMerge pull request dotnet/coreclr#8849 from seanshpark/fixstackalign
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

7 years ago[ARM32/Linux] Fix calling convention - stdcall in crossgen (dotnet/coreclr#9364)
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

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

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

7 years agoCall LowerBlockStore TreeNodeInfoInitBlockStore
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

7 years agoMerge pull request dotnet/coreclr#9377 from RussKeldorph/defaultprivate
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

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

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

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.

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

7 years agoMerge pull request dotnet/coreclr#9372 from dotnet-bot/master-UpdateDependencies
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

7 years agoMerge pull request dotnet/coreclr#9325 from wtgodbe/bashScripts
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

7 years agoMerge pull request dotnet/coreclr#9319 from DrewScoggins/X86PerfRuns
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

7 years agoMerge pull request dotnet/coreclr#8644 from BruceForstall/SimdLongDecomp
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

7 years agoMerge pull request dotnet/coreclr#9371 from jkotas/attributes
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

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

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

7 years agoMerge pull request dotnet/coreclr#8827 from hseok-oh/nuget_armel
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

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

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

7 years agoClean up FillRegDisplay (dotnet/coreclr#9360)
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

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

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

7 years agoDelete ClassInterface attributes
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

7 years agoDelete ComVisible attributes
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

7 years agoAndroid - Fix duplicate definitions of INT_MIN and PAGE_SIZE in unit tests (dotnet...
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

7 years agoMerge pull request dotnet/coreclr#9368 from stephentoub/cq_fixes
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

7 years agoCAS Security cleanup (dotnet/coreclr#9355)
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

7 years agoMerge pull request dotnet/coreclr#9367 from dotnet-bot/master-UpdateDependencies
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

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

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

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

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

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

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

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

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

7 years agoDelete dead code from ExecutionContext (dotnet/coreclr#9359)
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

7 years agoMerge pull request dotnet/coreclr#9358 from dotnet-bot/master-UpdateDependencies
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

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

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

7 years ago[x86/Linux] Add Assertion on pvControlPc (dotnet/coreclr#9356)
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

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

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

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

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

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

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

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

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

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

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

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

Remove NoInlining/StackCrawlMarks from Tasks

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

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

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

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

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

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

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

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

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

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

Remove internal self-replicating support from Tasks

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Remove SIMD dead code

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

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

Removing it broke BuildFromPackages flavor of test build

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

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

This reverts commit dotnet/coreclr@e8dff5550c022d2854914dc534f9ec3d7fe623ac.

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

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

Use fallback load context as binding context for dynamic parent assembly

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

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

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

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

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

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

* Remove cross appdomains cultures checks

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

* Remove un-needed resource entry

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

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

* Fix legacy Globalization tests to work on Linux

* Delete globalization tests

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

7 years agoPull call arg value numbers from late args
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

7 years agoFactor out helper to get late arg for given index
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

7 years agoRemove unreachable switch case
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

7 years agoFix typo
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

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

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

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

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

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

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

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

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

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

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

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

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

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

Disable failing Helix tests until we fix underlying issues

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Refactor TreeNodeInfoInit

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

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

Some more perf tweaks to ThreadPool

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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