platform/upstream/coreclr.git
7 years agoFix GitHub build break caused by change #1636179
John Chen [Tue, 1 Nov 2016 23:20:08 +0000 (16:20 -0700)]
Fix GitHub build break caused by change #1636179

[tfs-changeset: 1636227]

7 years agoFix build break 814217 by removing inconsistencies between BCL and runtime
dotnet-bot [Tue, 1 Nov 2016 18:26:34 +0000 (11:26 -0700)]
Fix build break 814217  by removing inconsistencies between BCL and runtime

[tfs-changeset: 1636179]

7 years agoHandle simd checks in OptimizeRangeCheck
Joseph Tremoulet [Fri, 14 Oct 2016 18:20:49 +0000 (14:20 -0400)]
Handle simd checks in OptimizeRangeCheck

When the index is a constant, this code applies to `GT_SIMD_CHK` equally
well as it applies to `GT_ARR_BOUNDS_CHECK`.

7 years agoUse nameof throughout mscorlib (#7929)
Stephen Toub [Tue, 1 Nov 2016 15:47:18 +0000 (11:47 -0400)]
Use nameof throughout mscorlib (#7929)

7 years agoMerge pull request #7677 from CarolEidt/StructOpts
Carol Eidt [Tue, 1 Nov 2016 15:42:01 +0000 (08:42 -0700)]
Merge pull request #7677 from CarolEidt/StructOpts

Enable optimization of structs

7 years agoMerge pull request #7926 from dotnet-bot/from-tfs
Jan Kotas [Tue, 1 Nov 2016 14:06:37 +0000 (07:06 -0700)]
Merge pull request #7926 from dotnet-bot/from-tfs

Merge changes from TFS

7 years agoMerge pull request #7883 from adiaaida/fixDecomposeRotate
Michelle McDaniel [Tue, 1 Nov 2016 13:47:54 +0000 (06:47 -0700)]
Merge pull request #7883 from adiaaida/fixDecomposeRotate

Fix DecomposeRotate for > 32 case

7 years agoUse resolver to get IL header and size (#7924)
Mukul Sabharwal [Tue, 1 Nov 2016 13:28:58 +0000 (14:28 +0100)]
Use resolver to get IL header and size (#7924)

7 years agoFix build break on x86
Jan Kotas [Tue, 1 Nov 2016 05:58:49 +0000 (22:58 -0700)]
Fix build break on x86

[tfs-changeset: 1636135]

7 years agoUse normal verbosity logging when building tests (#7921)
Andy Ayers [Tue, 1 Nov 2016 05:57:25 +0000 (22:57 -0700)]
Use normal verbosity logging when building tests (#7921)

Test build log file is ~4GB with diag verbosity. With normal it's about 20MB.
This seems to speed up the test build for me considerably.

See #7916.

7 years agoMove SR adapter into root (#7925)
Jeremy Kuhne [Tue, 1 Nov 2016 05:57:11 +0000 (22:57 -0700)]
Move SR adapter into root (#7925)

CoreFX creates SR in the System namespace. While putting the CoreCLR SR
adapter in the root may be unconventional, it allows us to keep the
shared code identical.

7 years agoMerge pull request #7915 from dotnet-bot/from-tfs
Jan Kotas [Tue, 1 Nov 2016 05:56:58 +0000 (22:56 -0700)]
Merge pull request #7915 from dotnet-bot/from-tfs

Merge changes from TFS

7 years agoMerge pull request #7912 from JosephTremoulet/FlagVectorCounts
Joseph Tremoulet [Tue, 1 Nov 2016 05:31:02 +0000 (01:31 -0400)]
Merge pull request #7912 from JosephTremoulet/FlagVectorCounts

Flag vector counts

7 years agoMerge pull request #7910 from JosephTremoulet/FixInitTest
Joseph Tremoulet [Tue, 1 Nov 2016 05:29:57 +0000 (01:29 -0400)]
Merge pull request #7910 from JosephTremoulet/FixInitTest

Fix check for initial induction variable value

7 years agoFix check for initial induction variable value
Joseph Tremoulet [Thu, 27 Oct 2016 19:04:40 +0000 (15:04 -0400)]
Fix check for initial induction variable value

Checking that `head` dominates `entry` is insufficient, becuase there may
be a codepath from `head` through other nodes that modify the induction
variable to `entry`.  Check instead that all preds of `entry` are either
`head` or in the loop.

Resolves #7906.

7 years agoMerge pull request #7909 from JosephTremoulet/FixLoopEntryCheck
Joseph Tremoulet [Tue, 1 Nov 2016 05:24:10 +0000 (01:24 -0400)]
Merge pull request #7909 from JosephTremoulet/FixLoopEntryCheck

Skip removed loops in `optBlockIsLoopEntry`

7 years agoFix build break
Jan Kotas [Tue, 1 Nov 2016 03:14:32 +0000 (20:14 -0700)]
Fix build break

[tfs-changeset: 1636112]

7 years agoMerge pull request #7854 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Tue, 1 Nov 2016 00:03:50 +0000 (17:03 -0700)]
Merge pull request #7854 from dotnet-bot/master-UpdateDependencies

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

7 years agoMerge pull request #7918 from RussKeldorph/repoint-corefx-1.1.0
Russ Keldorph [Mon, 31 Oct 2016 23:52:44 +0000 (16:52 -0700)]
Merge pull request #7918 from RussKeldorph/repoint-corefx-1.1.0

Make dotnet/coreclr reference corresponding dotnet/corefx branch

7 years agoMerge pull request #7867 from Clockwork-Muse/ArgumentException
Jan Kotas [Mon, 31 Oct 2016 23:46:32 +0000 (16:46 -0700)]
Merge pull request #7867 from Clockwork-Muse/ArgumentException

Replace hardcoded parameter names to ArgumentException with nameof

7 years agoMake dotnet/coreclr reference corresponding dotnet/corefx branch
Russ Keldorph [Mon, 31 Oct 2016 23:18:11 +0000 (16:18 -0700)]
Make dotnet/coreclr reference corresponding dotnet/corefx branch

We run CoreFx tests under JitStress modes in CoreCLR.  Previously, we were
always pulling down CoreFx master, which is bad for CoreCLR release
branches when things are out of synch.

7 years agoMerge pull request #7885 from pgavlin/VSO278376.2
Pat Gavlin [Mon, 31 Oct 2016 22:33:53 +0000 (15:33 -0700)]
Merge pull request #7885 from pgavlin/VSO278376.2

Fix VSO 278376.

7 years agoMerge pull request #7905 from pgavlin/VSO279380
Pat Gavlin [Mon, 31 Oct 2016 22:33:29 +0000 (15:33 -0700)]
Merge pull request #7905 from pgavlin/VSO279380

Fix VSO 279380.

7 years agoAdd LPFLG_SIMD_LIMIT flag
Joseph Tremoulet [Fri, 14 Oct 2016 18:11:29 +0000 (14:11 -0400)]
Add LPFLG_SIMD_LIMIT flag

This flag identifies loops whose limit was a Vector<T>.Count expression.
This can be used in heuristics to target more aggressive optimizations at
SIMD code.

7 years agoMerge pull request #7852 from AndyAyersMS/InlinerSmallFixes
Andy Ayers [Mon, 31 Oct 2016 21:47:16 +0000 (14:47 -0700)]
Merge pull request #7852 from AndyAyersMS/InlinerSmallFixes

Inliner: Fix LegacyPolicyAssert; Dump prejit noinline reasons

7 years agoFix DecomposeRotate for > 32 case
Michelle McDaniel [Fri, 28 Oct 2016 22:08:42 +0000 (15:08 -0700)]
Fix DecomposeRotate for > 32 case

In DecomposeRotate, we had a bug where we assumed loOp1 was
always gtLong's op1 and hiOp1 is always gtLong's op2 when we
call RepresentOpAsLocalVar, which is not true in the > 32 case, where we
swap hi and lo before generating the shift instructions for the rotate.
This change refactors the code so that we can correctly call
RepresentOpAsLocalVar with which of gtLong's ops hi and lo are.

7 years agoA couple of changes included:
Alex Ghiondea [Mon, 31 Oct 2016 21:37:00 +0000 (14:37 -0700)]
A couple of changes included:
      - Make sure we have a way to disable building with the Roslyn compiler. That should only happen in the internal build.
      - Update the FeatureSpanOfT to also condition on using the latest compiler
      - Introduce an if/def in string.cs for code that uses the ref locals / ref return.
      - Make sure we only include the CryptographicException when building CoreCLR
      - Update the PInvokeMap.txt file to include the right set of APIs.
      - Remove duplicated APIs from PInvokeMap.txt

[tfs-changeset: 1636041]

7 years agoMerge pull request #7884 from AlexGhiondea/Port_SecureString
AlexGhiondea [Mon, 31 Oct 2016 20:06:26 +0000 (13:06 -0700)]
Merge pull request #7884 from AlexGhiondea/Port_SecureString

Bring to CoreCLR the SecureString implementation from CoreFx.

7 years agoAdd GTF_ICON_SIMD_COUNT flag
Joseph Tremoulet [Fri, 14 Oct 2016 18:10:10 +0000 (14:10 -0400)]
Add GTF_ICON_SIMD_COUNT flag

This flag is used to indicate that an integer constant in the IR is the
result of replacing the Vector<T>.Count intrinsic.  This can be used to
drive heuristics focusing more aggressive optimizations on SIMD code.

7 years agoSkip removed loops in `optBlockIsLoopEntry`
Joseph Tremoulet [Fri, 14 Oct 2016 18:08:48 +0000 (14:08 -0400)]
Skip removed loops in `optBlockIsLoopEntry`

This allows running this utility downstream of loop unrolling.

7 years agoMerge pull request #7886 from jkotas/SpanOfT
Jan Kotas [Mon, 31 Oct 2016 18:47:57 +0000 (11:47 -0700)]
Merge pull request #7886 from jkotas/SpanOfT

Merge SpanOfT branch into master

7 years agoFix VSO 279380.
Pat Gavlin [Mon, 31 Oct 2016 18:11:18 +0000 (11:11 -0700)]
Fix VSO 279380.

The liveness pass attempts to remove dead stores that it encounters
during its liveness computation. Successfully removing a dead store,
however, may invalidate the results of the computation. Therefore, the
pass operates as a fixed-point algorithm: it recomputes liveness until
either the contents of the function do not change or the removed code
does not change the results.

When running liveness on LIR, the correct flag--`fgStmtRemoved`--was not
being set if a dead store was succesfully removed. This caused the
liveness pass to terminate early and produce invalid results in certain
cases. This fix sets `fgStmtRemoved` when a dead store is successfully
removed in an LIR block.

7 years agoMerge pull request #7758 from pgavlin/VSO267565
Pat Gavlin [Mon, 31 Oct 2016 18:07:46 +0000 (11:07 -0700)]
Merge pull request #7758 from pgavlin/VSO267565

Fix P/Invoke cookie passing on x86.

7 years agoFix VSO 278376.
Pat Gavlin [Fri, 28 Oct 2016 18:44:18 +0000 (11:44 -0700)]
Fix VSO 278376.

genFloatToFloatCast was not checking whether or not its source operand
was an in-memory, register-optional node before comparing its source
register against its target register. This caused an assert in checked
builds (and SBCG in release builds) because the source temp was never
released.

7 years agoSecureStringMarshal was not correctly being build for Unix.
Alex Ghiondea [Mon, 31 Oct 2016 17:13:52 +0000 (10:13 -0700)]
SecureStringMarshal was not correctly being build for Unix.

7 years agoMerge pull request #7901 from AlexGhiondea/FixBinCompat
AlexGhiondea [Mon, 31 Oct 2016 17:05:18 +0000 (10:05 -0700)]
Merge pull request #7901 from AlexGhiondea/FixBinCompat

Get latest behavior when missing TFM for BinaryCompatibility class

7 years agoAdd workaround for JIT crash
Jan Kotas [Sun, 30 Oct 2016 21:21:16 +0000 (14:21 -0700)]
Add workaround for JIT crash

7 years agoChange Span fields to private readonly + other review feedback
Jan Kotas [Sun, 30 Oct 2016 19:30:18 +0000 (12:30 -0700)]
Change Span fields to private readonly + other review feedback

7 years agoUpdate CoreClr, CoreFx to beta-24631-02, beta-24631-01, respectively
dotnet-bot [Mon, 31 Oct 2016 16:19:13 +0000 (16:19 +0000)]
Update CoreClr, CoreFx to beta-24631-02, beta-24631-01, respectively

7 years agoWhen reading the TFM for the BinaryCompatibility class on CoreCLR, set the TFM to...
Alex Ghiondea [Mon, 31 Oct 2016 14:26:59 +0000 (07:26 -0700)]
When reading the TFM for the BinaryCompatibility class on CoreCLR, set the TFM to be the latest version we have in our code.

This ensures that we are going to get the latest behavior (4.5.2+) for all the quirks that were using that class.

7 years agoAdd the SecureStringMarshal and CryptographicException to model.xml
Alex Ghiondea [Mon, 31 Oct 2016 14:21:28 +0000 (07:21 -0700)]
Add the SecureStringMarshal and CryptographicException to model.xml

7 years agoMerge pull request #7897 from stephentoub/stream_copyto
Stephen Toub [Mon, 31 Oct 2016 13:03:30 +0000 (09:03 -0400)]
Merge pull request #7897 from stephentoub/stream_copyto

Use ArrayPool in Stream.CopyTo{Async}

7 years agoRemove StreamHelpers.ArrayPoolCopy.cs
Stephen Toub [Mon, 31 Oct 2016 11:05:13 +0000 (07:05 -0400)]
Remove StreamHelpers.ArrayPoolCopy.cs

It's no longer necessary now that Stream.CopyToAsync itself uses ArrayPool.

7 years agoFixing Typo in variable name in DateTime (#7898)
Peter Marcu [Mon, 31 Oct 2016 10:55:44 +0000 (03:55 -0700)]
Fixing Typo in variable name in DateTime (#7898)

7 years agoAvoid boxing in calls to enum's GetHashCode (#7895)
Michal Strehovský [Mon, 31 Oct 2016 05:45:58 +0000 (22:45 -0700)]
Avoid boxing in calls to enum's GetHashCode (#7895)

7 years agoDateTime.ToString() Fast Track for RFC1123 (#7891)
Peter Marcu [Mon, 31 Oct 2016 05:28:45 +0000 (22:28 -0700)]
DateTime.ToString() Fast Track for RFC1123 (#7891)

* DateTime.ToString() Fast Track for RFC1123

7 years agoFix P/Invoke cookie passing on x86.
Pat Gavlin [Fri, 21 Oct 2016 21:08:11 +0000 (14:08 -0700)]
Fix P/Invoke cookie passing on x86.

On x86, the P/Invoke cookie (when required) is passed on the stack
after all other stack arguments (if any).

7 years agoUse ArrayPool in Stream.CopyTo{Async}
Stephen Toub [Mon, 31 Oct 2016 02:08:26 +0000 (22:08 -0400)]
Use ArrayPool in Stream.CopyTo{Async}

7 years agoAdd boilerplate doc comments to trivial methods
Jan Kotas [Sun, 30 Oct 2016 09:28:14 +0000 (02:28 -0700)]
Add boilerplate doc comments to trivial methods

7 years agoStreamline implementation of ToArray to call CopyTo<T> directly
Jan Kotas [Sun, 30 Oct 2016 08:50:27 +0000 (01:50 -0700)]
Streamline implementation of ToArray to call CopyTo<T> directly
Fix missing pinning in CopyTo<T>
Move and rename some JitHelpers to S.R.CS.Unsafe to make different implementations more similar

7 years agoFix build break on 32-bit platforms
Jan Kotas [Sat, 29 Oct 2016 06:04:36 +0000 (23:04 -0700)]
Fix build break on 32-bit platforms

7 years agoDisable Span<T> GC reporting under TODO to workaround JIT issue
Jan Kotas [Sat, 29 Oct 2016 05:28:49 +0000 (22:28 -0700)]
Disable Span<T> GC reporting under TODO to workaround JIT issue

7 years agoadded implicit cast operator from ArraySegment to Spans (#7297)
Adam Sitnik [Wed, 21 Sep 2016 21:24:02 +0000 (23:24 +0200)]
added implicit cast operator from ArraySegment to Spans (#7297)

7 years agocreate ReadOnlySpan<char> from string (#7276)
Adam Sitnik [Wed, 21 Sep 2016 00:12:47 +0000 (02:12 +0200)]
create ReadOnlySpan<char> from string (#7276)

7 years agoadded AsBytes() and NonPortableCast() to Span and ReadOnlySpan API (#7220)
Adam Sitnik [Fri, 16 Sep 2016 20:25:08 +0000 (22:25 +0200)]
added AsBytes() and NonPortableCast() to Span and ReadOnlySpan API (#7220)

* added AsBytes() and NonPortableCast() to Span and ReadOnlySpan API, fixes #7211

* throw when casted types contain pointers

7 years agoAdd TryCopyTo and Set methods to Spans API #5857 (#6648)
Adam Sitnik [Mon, 12 Sep 2016 16:21:53 +0000 (18:21 +0200)]
Add TryCopyTo and Set methods to Spans API #5857 (#6648)

7 years agoFix reference types (#6954)
Jan Kotas [Mon, 29 Aug 2016 06:18:11 +0000 (23:18 -0700)]
Fix reference types (#6954)

- Generic ArrayPinningHelper resulted into incorrect array data offset for reference types. Use non-generic one instead.
- Add array covariance checks to guarantee type safety.

7 years agoAdd basic Span<T> test
Jan Kotas [Fri, 17 Jun 2016 00:44:57 +0000 (17:44 -0700)]
Add basic Span<T> test

7 years agoAdd implementation for hand-written JIT helpers
Jan Kotas [Fri, 17 Jun 2016 00:40:18 +0000 (17:40 -0700)]
Add implementation for hand-written JIT helpers

7 years agoSpan<T> managed implementation
Jan Kotas [Thu, 16 Jun 2016 16:28:37 +0000 (09:28 -0700)]
Span<T> managed implementation

7 years agoSpan support in VM
Jan Kotas [Thu, 16 Jun 2016 16:39:28 +0000 (09:39 -0700)]
Span support in VM

7 years agoUse Roslyn with ref returns and locals
Jan Kotas [Thu, 16 Jun 2016 16:28:02 +0000 (09:28 -0700)]
Use Roslyn with ref returns and locals

7 years agoAdd FEATURE_SPAN_OF_T
Jan Kotas [Sun, 12 Jun 2016 17:53:58 +0000 (10:53 -0700)]
Add FEATURE_SPAN_OF_T

7 years agoWork around a Visual C++ silent bad code generation bug (#7890)
Bruce Forstall [Sun, 30 Oct 2016 09:34:49 +0000 (02:34 -0700)]
Work around a Visual C++ silent bad code generation bug (#7890)

Fixes #7837

The full description of the problem is in that issue.

7 years agoRemove unnecessary assert. (#7889)
Jim Ma [Sat, 29 Oct 2016 17:47:15 +0000 (01:47 +0800)]
Remove unnecessary assert. (#7889)

Remvoe the unneccessary assert that might cause a bug.

fix #6856

7 years agoCleanup: Remove BitArray from mscorlib (#7888)
Marek Linka [Sat, 29 Oct 2016 14:41:18 +0000 (16:41 +0200)]
Cleanup: Remove BitArray from mscorlib (#7888)

7 years agoFix a race condition in the test build (#7810)
Sean Gillespie [Sat, 29 Oct 2016 01:19:35 +0000 (18:19 -0700)]
Fix a race condition in the test build (#7810)

* Fix a race condition in the test build

* Move dir.targets to the Tests directory

7 years agoMerge pull request #7882 from JeremyKuhne/fixarraypool
Jeremy Kuhne [Sat, 29 Oct 2016 00:13:41 +0000 (17:13 -0700)]
Merge pull request #7882 from JeremyKuhne/fixarraypool

Align ArrayPool to shared code pattern

7 years agoDateTime.ToString(“o”) allocates 32 objects, (#7836)
Peter Marcu [Sat, 29 Oct 2016 00:08:43 +0000 (17:08 -0700)]
DateTime.ToString(“o”) allocates 32 objects, (#7836)

* Enabling a lower allocating DateTime.ToString('o')

7 years agoReplace BCLDebug with Debug
Alex Ghiondea [Fri, 28 Oct 2016 22:47:45 +0000 (15:47 -0700)]
Replace BCLDebug with Debug

7 years agoBring to CoreCLR the SecureString implementation from CoreFx.
Alex Ghiondea [Fri, 28 Oct 2016 22:19:07 +0000 (15:19 -0700)]
Bring to CoreCLR the SecureString implementation from CoreFx.

7 years agoAlign ArrayPool to shared code pattern
Jeremy Kuhne [Fri, 28 Oct 2016 21:56:24 +0000 (14:56 -0700)]
Align ArrayPool to shared code pattern

Move the ArrayPool code to the shared location. Also use wraps to make
code identical to CoreFX. (Fixing an exception message issue.)

7 years agoMerge pull request #7817 from JeremyKuhne/movefs
Jeremy Kuhne [Fri, 28 Oct 2016 21:38:25 +0000 (14:38 -0700)]
Merge pull request #7817 from JeremyKuhne/movefs

Copy CoreFX FileStream to CoreLib

7 years agoRemove some unused PAL functions (#7873)
Jan Vorlicek [Fri, 28 Oct 2016 21:32:45 +0000 (23:32 +0200)]
Remove some unused PAL functions (#7873)

This change removes some unused PAL functions and the corresponding PAL tests.

7 years agoMerge pull request #7832 from pgavlin/VSO279868
Pat Gavlin [Fri, 28 Oct 2016 20:44:02 +0000 (13:44 -0700)]
Merge pull request #7832 from pgavlin/VSO279868

Correct indirect P/Invoke call prlogs on x86.

7 years agoMerge pull request #3941 from sivarv/MultiRegCallNodes
Sivarv [Fri, 28 Oct 2016 20:30:33 +0000 (13:30 -0700)]
Merge pull request #3941 from sivarv/MultiRegCallNodes

Design to support Multi-reg GT_CALL/GT_RETURN nodes (for x64/unix, arm64, x86, arm32)

7 years agoFix formatting.
Pat Gavlin [Fri, 28 Oct 2016 20:30:30 +0000 (13:30 -0700)]
Fix formatting.

7 years agoMulti-reg call node design doc.
sivarv [Sat, 22 Oct 2016 03:03:43 +0000 (20:03 -0700)]
Multi-reg call node design doc.

7 years agoMerge pull request #7864 from BruceForstall/simd
Bruce Forstall [Fri, 28 Oct 2016 18:56:56 +0000 (11:56 -0700)]
Merge pull request #7864 from BruceForstall/simd

Initial RyuJIT x86 SIMD support

7 years agoCopy CoreFX FileStream to CoreLib
Jeremy Kuhne [Wed, 26 Oct 2016 04:52:41 +0000 (21:52 -0700)]
Copy CoreFX FileStream to CoreLib

This copies FileStream to CoreLib and uses it in place of the legacy
FileStream. Code is mostly a direct copy with the addition of a few
internal constructor overloads.

Adds a simple Debug wrapper for BCLDebug to allow keeping the code
the same. Also follows the same pattern for SR wrapping.

Needed to bring down PreAllocatedOverlapped.

- Expose FileStream in model.xml
- Remove native usage of FileStreamAsyncResult
- #ifdef SafeFileHandle creation in existing code (to avoid mismatched
  PAL/CoreFX usage)

7 years agoEnsure the module slot in R2R image can be located (#7875)
John Chen [Fri, 28 Oct 2016 18:48:58 +0000 (11:48 -0700)]
Ensure the module slot in R2R image can be located (#7875)

Each Ready-to-Run image has a slot for storing a pointer to the Module
object associated with this image. However, if the image contains no
code (e.g., facade assemblies), the import table needed to locate
this slot wasn't written out, so the runtime couldn't find this slot.
This casued "crossgen /createpdb" command to fail on facade assemblies
after PR #7809, and required a workaround (commit c4d8994).

This commit ensures writing the import table needed to locate the
slot for module. It also removes the workaround in commit c4d8994,
which is no longer necessary.

7 years agoMerge pull request #7835 from DrewScoggins/coreclr-perf
Drew Scoggins [Fri, 28 Oct 2016 18:32:14 +0000 (11:32 -0700)]
Merge pull request #7835 from DrewScoggins/coreclr-perf

Adding CoreCLR Perf support for Jenkins

7 years agoMerge pull request #7872 from jkotas/revert-tuple-hash
Jan Kotas [Fri, 28 Oct 2016 14:42:28 +0000 (07:42 -0700)]
Merge pull request #7872 from jkotas/revert-tuple-hash

Revert changes in tuple hashing algorithm

7 years agoAdd comment about F# dependency on hashing algorithm
Jan Kotas [Fri, 28 Oct 2016 11:25:48 +0000 (04:25 -0700)]
Add comment about F# dependency on hashing algorithm

7 years agoRevert "Better Tuple hashing, avoid boxing in Equals/GetHashCode (#6767)"
Jan Kotas [Fri, 28 Oct 2016 11:20:21 +0000 (04:20 -0700)]
Revert "Better Tuple hashing, avoid boxing in Equals/GetHashCode (#6767)"

This reverts commit 361e6eb85c74b57691955d97dda801d725cd2a59.

Conflicts:
src/mscorlib/mscorlib.shared.sources.props

7 years agoC++ conformance. (building with /permissive-) (#7855)
Phil Christensen [Fri, 28 Oct 2016 09:09:35 +0000 (02:09 -0700)]
C++ conformance. (building with /permissive-) (#7855)

These issues were found when building with the /permissive- flag in the
latest version of MSVC. No tests were added/modified because this does not
change any behavior.
There are a few types of language conformance issues fixed in this:

1) Strict string conversion (this is also covered by the /Zc:strictStrings
flag)

The 'const' is not implicitly dropped by string literals, which means the
following is not allowed:
char str = "const string literal"; //error: cannot convert a 'const char'
to a 'char*'
This fix to to make str 'const char*'. (This can have a domino effect
depending on where str is used)

2) Fully qualified inline declarations members inside class

struct A {
void A::f() { } // Error: illegal qualified name in member declaration,
remove redundant 'A::' to fix
};

3) MSVC by default will allows name lookup in a dependent base. This is
disabled by /permissive-

template <class T> struct B {
  void f();
};

template <class T> struct D
 : public B<T> //B is a dependent base because its type depends on the type of T in D<T>.
{
    //One possible fix is to uncomment the following line.  If this
    //were a type we should have 'using typename'...
    //using B<T>::f;

    void g() {
       f(); //Error: identifier not found, one possible fix is change it to 'this->f();'
    }
};

void h()
{
   D<int> d;
   d.g();
}

4) Warning 4800 has been removed in version 19.1 (1910) of the compiler.

For backwards compatability, surround the usage of 4800.
This is not related to C++ conformance.
 #if _MSC_VER <= 1900
 // 'BOOL' forcing value to bool 'true' or 'false'
 #pragma warning(disable: 4800)
 #endif

7 years agoUse nameof where possible for CultureNotFoundException.
Stephen A. Imhoff [Thu, 27 Oct 2016 21:48:42 +0000 (14:48 -0700)]
Use nameof where possible for CultureNotFoundException.

7 years agoRemove commented-out code.
Stephen A. Imhoff [Wed, 26 Oct 2016 18:06:34 +0000 (11:06 -0700)]
Remove commented-out code.

7 years agoCorrect parameter names.
Stephen A. Imhoff [Wed, 26 Oct 2016 20:45:44 +0000 (13:45 -0700)]
Correct parameter names.

7 years agoUse nameof where possible for ArgumentOutOfRangeException
Stephen A. Imhoff [Wed, 26 Oct 2016 07:53:34 +0000 (00:53 -0700)]
Use nameof where possible for ArgumentOutOfRangeException

7 years agoAdd null message, to correct parameter use.
Stephen A. Imhoff [Wed, 26 Oct 2016 07:13:53 +0000 (00:13 -0700)]
Add null message, to correct parameter use.

7 years agoSwap arguments to correct order
Stephen A. Imhoff [Wed, 26 Oct 2016 18:04:50 +0000 (11:04 -0700)]
Swap arguments to correct order

7 years agoCorrect parameter names.
Stephen A. Imhoff [Wed, 26 Oct 2016 07:08:10 +0000 (00:08 -0700)]
Correct parameter names.

7 years agoUse nameof where possible for ArgumentException
Stephen A. Imhoff [Wed, 26 Oct 2016 06:59:24 +0000 (23:59 -0700)]
Use nameof where possible for ArgumentException

7 years agoMerge pull request #7866 from dotnet-bot/from-tfs
Jan Kotas [Fri, 28 Oct 2016 03:39:24 +0000 (20:39 -0700)]
Merge pull request #7866 from dotnet-bot/from-tfs

Merge changes from TFS

7 years agoCorrect parameter names.
Stephen A. Imhoff [Wed, 26 Oct 2016 06:07:38 +0000 (23:07 -0700)]
Correct parameter names.

7 years agoUse nameof where possible for ArgumentNullException
Stephen A. Imhoff [Wed, 26 Oct 2016 05:55:25 +0000 (22:55 -0700)]
Use nameof where possible for ArgumentNullException

7 years agoAdd missing std::move to one exception throw (#7865)
Jan Vorlicek [Fri, 28 Oct 2016 02:34:42 +0000 (04:34 +0200)]
Add missing std::move to one exception throw (#7865)

We had the std::move missing in one of the exception throws. For some reason,
the current clang didn't complain about it even though the copy constructor was
deleted.

7 years agoUpdate broken link to RIDs (#7850)
kchoi [Fri, 28 Oct 2016 02:33:51 +0000 (19:33 -0700)]
Update broken link to RIDs (#7850)

7 years agoUse memset instead of ZeroMemory (#7851)
Michal Strehovský [Fri, 28 Oct 2016 02:32:55 +0000 (19:32 -0700)]
Use memset instead of ZeroMemory (#7851)

`CORINFO_HELP_READYTORUN_STATIC_BASE` and
`CORINFO_HELP_READYTORUN_GENERIC_STATIC_BASE` both use a mostly/fully
zeroed out `resolvedToken`, the common practice is to zero out with
`memset` in this codebase.