platform/upstream/coreclr.git
6 years agoReflection-block some types in CoreLib (dotnet/corert#5286)
Michal Strehovský [Wed, 24 Jan 2018 16:00:14 +0000 (17:00 +0100)]
Reflection-block some types in CoreLib (dotnet/corert#5286)

This saves 50 kB on a hello world app.

This is using the existing ReflectionBlocked attribute to manually block public types that get otherwise blocked by the IL2IL toolchain in Project N. These types are public within the repo, but should be considered private implementation details everywhere else.

Wrote a small tool that would let me identify these: https://gist.github.com/MichalStrehovsky/e2ddec899d3e0db6eba95bf68694b40e. There is more.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years ago[Local GC] FEATURE_EVENT_TRACE 2/n: Scaffolding for emitting known events (#15957)
Sean Gillespie [Wed, 24 Jan 2018 18:04:56 +0000 (10:04 -0800)]
[Local GC] FEATURE_EVENT_TRACE 2/n: Scaffolding for emitting known events  (#15957)

* [Local GC] FEATURE_EVENT_TRACE 2/n: Scaffolding for porting known events to callbacks on GCToEEInterface

* Code review feedback: remove `descriptor` system for known events and instead use the gcevents xmacro to generate calls to `GCEventStatus::IsEnabled` with known constants

* Remove more event descriptor code

6 years agoMerge pull request #15980 from CarolEidt/Fix15932
Carol Eidt [Wed, 24 Jan 2018 16:09:11 +0000 (08:09 -0800)]
Merge pull request #15980 from CarolEidt/Fix15932

Adjust minRegs for SELECT stress modes

6 years agoDelete dead code (#15990)
Jan Kotas [Wed, 24 Jan 2018 03:56:42 +0000 (19:56 -0800)]
Delete dead code (#15990)

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to prerelease-02423-02, preview2-26124...
dotnet-maestro-bot [Wed, 24 Jan 2018 03:56:24 +0000 (21:56 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02423-02, preview2-26124-01, preview2-26124-02, master-20180123-0043, respectively (#15976)

6 years agoMerge pull request #15949 from mikedn/shift-inconsistency
Bruce Forstall [Wed, 24 Jan 2018 03:51:43 +0000 (19:51 -0800)]
Merge pull request #15949 from mikedn/shift-inconsistency

Fix 64 bit shift inconsistencies (on 32 bit targets)

6 years ago[Local GC] FEATURE_EVENT_TRACE 1/n: Tracking Event State (#15873)
Sean Gillespie [Wed, 24 Jan 2018 02:53:30 +0000 (18:53 -0800)]
[Local GC] FEATURE_EVENT_TRACE 1/n: Tracking Event State (#15873)

* [Local GC] FEATURE_EVENT_TRACE 1/n: Add infrastructure for keeping event state within the GC and plumbing to communicate event state changes

* Code review feedback: use a load without a barrier in IsEnabled and put debug-only code under TRACE_GC_EVENT_STATE

* Address code review feedback: add EventPipe callback and comments

* Fix the non-FEATURE_PAL build

* Fix an issue where the GC fails to react to ETW callbacks to occur before the GC is initialized (e.g. on startup when an ETW session is already active)

* Simplify callback locking scheme

* Add a separate callback for each EventPipe provider and funnel them all through a common handler

* Fix non-FEATURE_PAL build

6 years agoAdd Unsafe.IsAddressGreaterThan / IsAddressLessThan (#15988)
Levi Broderick [Wed, 24 Jan 2018 01:00:47 +0000 (17:00 -0800)]
Add Unsafe.IsAddressGreaterThan / IsAddressLessThan (#15988)

6 years agoCatch ambiguous interface method resolution exceptions (#15978)
Michal Strehovský [Wed, 24 Jan 2018 00:11:31 +0000 (01:11 +0100)]
Catch ambiguous interface method resolution exceptions (#15978)

Default interface methods might end up being ambiguous. This thows an exception we need to catch.

6 years agoDo not devirtualize shared default interface methods (#15979)
Michal Strehovský [Wed, 24 Jan 2018 00:10:52 +0000 (01:10 +0100)]
Do not devirtualize shared default interface methods (#15979)

The result of the devirtualization for a method on a generic type should be an instantiating stub, but this doesn't seem to work right.

Fixing that is a perf issue (that can be triaged/punted - #15977). This commit is a correctness fix to avoid bad codegen for that case.

Resolves #15591.

6 years agoMerge pull request #15984 from dagood/remove-conversion/master
Wes Haggard [Tue, 23 Jan 2018 20:27:53 +0000 (12:27 -0800)]
Merge pull request #15984 from dagood/remove-conversion/master

Never attempt Portable PDB conversion

6 years agoNever attempt Portable PDB conversion
Davis Goodin [Tue, 23 Jan 2018 20:10:49 +0000 (14:10 -0600)]
Never attempt Portable PDB conversion

The inline script detected whether the branch name contained "release/" and ran a different target. That target tries to convert Portable PDBs into Windows PDBs, which currently hits errors in CoreCLR.

Remove this logic from CoreCLR: it is no longer necessary because orchestrated builds will have a post-build symbol publish step.

6 years agoAdjust minRegs for SELECT stress modes
Carol Eidt [Tue, 23 Jan 2018 15:48:49 +0000 (07:48 -0800)]
Adjust minRegs for SELECT stress modes

My recent refactoring to put all the `minRegCandidateCount` computation in one place failed to take into account that the `LSRA_SELECT` stress modes can also overly constrain the number of registers. Therefore, it needs to be applied only after the `minRegCandidateCount` has been computed. This may in turn cause new conflicts between the def and use of a tree temp, so factor out the code that checks for that.

Fix #15932

6 years agoRemove hardcoded paths in linkbench scripts (#15939)
Michelle McDaniel [Tue, 23 Jan 2018 16:30:28 +0000 (08:30 -0800)]
Remove hardcoded paths in linkbench scripts (#15939)

* Remove hardcoded paths in linkbench scripts

Linkbench has hardcoded paths based off of VS140COMNTOOLS, which not all
machines will have (ie, machines with only VS2017 installed). This
change removes the hardcoded paths, and replaces them with checks to
make sure the tool is on the path (which they will be if we are in a VS
environment of any kind - which we would have been in if
VS140COMNTOOLS was already set).

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to prerelease-02422-01, preview2-26123...
dotnet-maestro-bot [Tue, 23 Jan 2018 06:32:01 +0000 (00:32 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02422-01, preview2-26123-01, preview2-26123-01, master-20180122-0034, respectively (#15882)

6 years agoMisc Span/Memory changes (#15941)
Ian Hays [Tue, 23 Jan 2018 03:07:15 +0000 (19:07 -0800)]
Misc Span/Memory changes (#15941)

* Misc Span/Memory additions
- Add MemoryMarshal.CreateSpan to replace DangerousCreate
- Add MemoryMarshal.CreateReadOnlySpan to replace DangerousCreate
- Add MemoryMarshal.Cast to replace NonPortableCast
- Add ToString override to Span and ReadOnlySpan
- Add ToEnumerable function to MemoryMarshal that takes a ReadOnlyMemory

6 years agoDisable EventPipe tests which fair in stress runs (#15972)
Victor "Nate" Graf [Tue, 23 Jan 2018 02:53:06 +0000 (18:53 -0800)]
Disable EventPipe tests which fair in stress runs (#15972)

Disable EventPipe tests which fair in stress runs

Addresses: #15924
Follow-up: #15927

6 years agoRename Pin offset to byteOffset and clean up Retain test (#26518)
Ahson Khan [Mon, 22 Jan 2018 21:57:11 +0000 (13:57 -0800)]
Rename Pin offset to byteOffset and clean up Retain test (#26518)

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoRemove .NET limit on env var name and value length
danmosemsft [Mon, 22 Jan 2018 19:38:54 +0000 (11:38 -0800)]
Remove .NET limit on env var name and value length

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoMerge pull request #15966 from weshaggard/MoveTo21Preview2
Wes Haggard [Mon, 22 Jan 2018 21:58:41 +0000 (13:58 -0800)]
Merge pull request #15966 from weshaggard/MoveTo21Preview2

Move from preview1 to preview2 in master branches

6 years agoMove TimeZoneInfo.Win32.cs to shared CoreLib partition (#15953)
Jan Kotas [Mon, 22 Jan 2018 21:30:20 +0000 (13:30 -0800)]
Move TimeZoneInfo.Win32.cs to shared CoreLib partition (#15953)

Reconcile deltas with CoreRT and refactor interop to follow coding conventions

6 years agoMove from preview1 to preview2 in master branches
Wes Haggard [Mon, 22 Jan 2018 19:39:44 +0000 (11:39 -0800)]
Move from preview1 to preview2 in master branches

preview1 will be produced from the release/2.1 branch

6 years agoMerge pull request #15944 from BruceForstall/CorefxTestUseCorrectVersion
Bruce Forstall [Mon, 22 Jan 2018 19:11:30 +0000 (11:11 -0800)]
Merge pull request #15944 from BruceForstall/CorefxTestUseCorrectVersion

For corefx testing, use a matching corefx repo version git hash

6 years agoMerge pull request #15942 from tannergooding/no-multireg-simd
Tanner Gooding [Mon, 22 Jan 2018 17:46:22 +0000 (09:46 -0800)]
Merge pull request #15942 from tannergooding/no-multireg-simd

Updating the VM to no longer treat the SIMD HWIntrinsic types as HFA or MultiReg structs

6 years agoFix Windows ARM release build break (#15958)
Jan Kotas [Mon, 22 Jan 2018 07:06:53 +0000 (23:06 -0800)]
Fix Windows ARM release build break (#15958)

6 years agoMerge pull request #15959 from jashook/remove_arm_pr_trigger
Jarret Shook [Mon, 22 Jan 2018 06:25:35 +0000 (22:25 -0800)]
Merge pull request #15959 from jashook/remove_arm_pr_trigger

Turn off arm pr trigger

6 years agoTurn off arm pr trigger
jashook [Mon, 22 Jan 2018 06:15:44 +0000 (22:15 -0800)]
Turn off arm pr trigger

6 years agoStop the SIMD hardware intrinsics types from undergoing crossgen.
Tanner Gooding [Sat, 20 Jan 2018 18:23:52 +0000 (10:23 -0800)]
Stop the SIMD hardware intrinsics types from undergoing crossgen.

6 years agoRemove AppDomainLeaks configuration option (#15956)
antofik [Mon, 22 Jan 2018 02:03:51 +0000 (05:03 +0300)]
Remove AppDomainLeaks configuration option (#15956)

Removed all usages of AppDomainLeaks configuration option and
CHECK_APP_DOMAIN_LEAKS feature

Fix #12094

6 years agoRename Libraries.GlobalizationInterop to Libraries.GlobalizationNative
Jan Kotas [Sun, 21 Jan 2018 07:52:02 +0000 (23:52 -0800)]
Rename Libraries.GlobalizationInterop to Libraries.GlobalizationNative

Consistency with CoreFX and coding conventions.

Also delete a few other pieces of unused code.

6 years agoDefine Interop.Kernel32.MAX_PATH (#15952)
Jan Kotas [Sun, 21 Jan 2018 02:18:07 +0000 (18:18 -0800)]
Define Interop.Kernel32.MAX_PATH (#15952)

* Define Interop.Kernel32.MAX_PATH

For consistency with CoreFX and coding conventions.

6 years agoMerge pull request #15948 from fiigii/fix-ifdef
Bruce Forstall [Sun, 21 Jan 2018 01:49:40 +0000 (17:49 -0800)]
Merge pull request #15948 from fiigii/fix-ifdef

Fix a minor bug

6 years agoFix timezone lookup to be consistently case insensitive (#15951)
Jan Kotas [Sat, 20 Jan 2018 21:32:46 +0000 (13:32 -0800)]
Fix timezone lookup to be consistently case insensitive (#15951)

The timezone ids used case insensitive comparisons everywhere, except in the dictionary used to cache timezones.

Fixes dotnet/corefx#26479

6 years agoMerge pull request #15936 from GrabYourPitchforks/levib/memory_nullref
Jeremy Barton [Sat, 20 Jan 2018 16:41:39 +0000 (08:41 -0800)]
Merge pull request #15936 from GrabYourPitchforks/levib/memory_nullref

Allow implicit conversion of null arrays to empty Memory instances

6 years agoAdd optional integer offset to OwnedMemory Pin (#15946)
Ahson Khan [Sat, 20 Jan 2018 14:40:44 +0000 (06:40 -0800)]
Add optional integer offset to OwnedMemory Pin (#15946)

6 years agoFix 64 bit shift inconsistencies (on 32 bit targets)
Mike Danes [Sat, 20 Jan 2018 12:08:37 +0000 (14:08 +0200)]
Fix 64 bit shift inconsistencies (on 32 bit targets)

Recent shift changes made the JIT_LLsh helper mask the shift count to 6 bits. The other 2 helpers (JIT_LRsh and JIT_LRsz) so now we get inconsistencies such as `(x >> 64) != (x << 64)`.

The ECMA spec says that "the return value is unspecified if shiftAmount is greater than or equal to the width of value" so the JIT has no obligation to implement a particular behavior. But it seems preferable to have all shift instructions behave similarly, it avoids complications and reduces risks.

This also changes `ValueNumStore::EvalOpIntegral` to mask the shift count for 64 bit shifts so it matches `gtFoldExprConst`. Otherwise the produced value depends on the C/C++ compiler's behavior.

6 years ago#if defined(_TARGET_XARCH_) || defined(_TARGET_ARM64_)
Fei Peng [Sat, 20 Jan 2018 06:08:03 +0000 (22:08 -0800)]
#if defined(_TARGET_XARCH_) || defined(_TARGET_ARM64_)

6 years agoMerge pull request #15945 from dotnet-bot/from-tfs
Bruce Forstall [Sat, 20 Jan 2018 05:59:44 +0000 (21:59 -0800)]
Merge pull request #15945 from dotnet-bot/from-tfs

Merge changes from TFS

6 years agoBreak current culture initialization cycle (#15938)
Jan Kotas [Sat, 20 Jan 2018 04:06:39 +0000 (20:06 -0800)]
Break current culture initialization cycle (#15938)

Fixes #15931

6 years agoMerge pull request #15903 from CarolEidt/Fix545505
Carol Eidt [Sat, 20 Jan 2018 02:15:33 +0000 (18:15 -0800)]
Merge pull request #15903 from CarolEidt/Fix545505

ARM: Fix morphing of struct passed on stack

6 years agoFix desktop build
Bruce Forstall [Sat, 20 Jan 2018 01:18:49 +0000 (17:18 -0800)]
Fix desktop build

1. Fix `LEGACY_BACKEND`
2. `#if FEATURE_HW_INTRINSICS` => `#ifdef FEATURE_HW_INTRINSICS`

[tfs-changeset: 1686599]

6 years agoUpdating the VM to no longer treat the SIMD HWIntrinsic types as HFA or MultiReg...
Tanner Gooding [Fri, 19 Jan 2018 23:49:47 +0000 (15:49 -0800)]
Updating the VM to no longer treat the SIMD HWIntrinsic types as HFA or MultiReg structs.

6 years agoAdd CI support for updated run-corefx-tests.py
Bruce Forstall [Fri, 19 Jan 2018 23:59:09 +0000 (15:59 -0800)]
Add CI support for updated run-corefx-tests.py

Change CI to build a "GenerateLayoutOnly" drop for corefx testing,
specifically to cause the corefx package to be restored, so we
can determine its version.

6 years agoMerge pull request #15836 from tannergooding/emitInsBinary
Tanner Gooding [Fri, 19 Jan 2018 23:51:51 +0000 (15:51 -0800)]
Merge pull request #15836 from tannergooding/emitInsBinary

Refactoring emitInsBinary

6 years agoCharUnicodeInfo.GetUnicodeCategory(int codePoint) (#15911)
Nobuyuki Iwanaga [Fri, 19 Jan 2018 23:29:32 +0000 (08:29 +0900)]
CharUnicodeInfo.GetUnicodeCategory(int codePoint) (#15911)

* CharUnicodeInfo.GetUnicodeCategory(int codePoint)

https://github.com/dotnet/corefx/issues/26173

- renamed UnicodeCategory.InternalGetUnicodeCategory to GetUnicodeCategory
- renamed its parameter ch to codePoint
- made it public

* fix build break

6 years agoMerge pull request #15798 from sdmaclea/PR-ARM64-Set-Instruction-Set-Flags
Carol Eidt [Fri, 19 Jan 2018 23:21:09 +0000 (15:21 -0800)]
Merge pull request #15798 from sdmaclea/PR-ARM64-Set-Instruction-Set-Flags

[Arm64] Set Instruction set flags

6 years agoMerge pull request #15933 from sdmaclea/PR-ARM64-EMIT-COMPARE-ZERO
Carol Eidt [Fri, 19 Jan 2018 23:17:18 +0000 (15:17 -0800)]
Merge pull request #15933 from sdmaclea/PR-ARM64-EMIT-COMPARE-ZERO

[Arm64] Add compare vector to zero emitters

6 years agoMerge pull request #15935 from sdmaclea/PR-ARM64-IRREGULAR-NOT
Carol Eidt [Fri, 19 Jan 2018 23:16:18 +0000 (15:16 -0800)]
Merge pull request #15935 from sdmaclea/PR-ARM64-IRREGULAR-NOT

[Arm64] Remove irregular vector not handling

6 years agoConvert perf.groovy to use run-xunit-perf.py (#15881)
Michelle McDaniel [Fri, 19 Jan 2018 22:29:45 +0000 (14:29 -0800)]
Convert perf.groovy to use run-xunit-perf.py (#15881)

* Convert perf.groovy to use run-xunit-perf.py

Also removes run-xunit-perf.cmd and run-xunit-perf.sh. This change moves us to using build-tests.sh to generate the layout (ie pull down corefx), so this change fixes #12143.

6 years agoMerge pull request #15930 from mikedn/useless-code
Carol Eidt [Fri, 19 Jan 2018 22:15:26 +0000 (14:15 -0800)]
Merge pull request #15930 from mikedn/useless-code

Remove some redundant code from TreeNodeInfoInit

6 years agoFor corefx testing, use a matching corefx repo version git hash
Bruce Forstall [Fri, 19 Jan 2018 22:15:09 +0000 (14:15 -0800)]
For corefx testing, use a matching corefx repo version git hash

If the user doesn't specify a specific corefx commit hash to use,
try to find the matching commit hash in the coreclr repro. If the
matching hash can't be found, use 'HEAD'.

We find the matching corefx commit hash by first parsing file
'dependencies.props' at the root of the coreclr repro, looking for this:
   <MicrosoftPrivateCoreFxNETCoreAppPackageVersion>4.5.0-preview1-26112-01</MicrosoftPrivateCoreFxNETCoreAppPackageVersion>
This determines the corefx package version that matches. Next, we look for the version.txt
file in the package cache, e.g.,
   <coreclr_root>\packages\microsoft.private.corefx.netcoreapp\4.5.0-preview1-26112-01\version.txt
The contents of this file is exactly the git commit hash
we need to use, e.g.:
   197a0699b08087ea85581679afdd9fd7b5c465c3
The version.txt file is created when the corefx package is restored,
which happens when doing one of:
   Windows: tests\runtests.cmd GenerateLayoutOnly
   non-Windows: build-test.sh generatelayoutonly

It would also be possible to not depend on the package already
being downloaded, but instead download the correct package here,
using the determined "MicrosoftPrivateCoreFxNETCoreAppPackageVersion"
package version, e.g.:
   https://dotnet.myget.org/F/dotnet-core/api/v2/package/Microsoft.Private.CoreFx.NETCoreApp/4.5.0-preview1-26112-01
and then extracting the ZIP archive to find the version.txt file.

This might get easier if the corefx commit hash is added directly to dependencies.props, as
discussed in https://github.com/dotnet/buildtools/issues/1141.

6 years agoStop treating all calls to instance interface methods as callvirt (#15925)
Michal Strehovský [Fri, 19 Jan 2018 21:47:47 +0000 (22:47 +0100)]
Stop treating all calls to instance interface methods as callvirt (#15925)

Fixes #15827.

6 years agoRemove Redundant Resource entry (#15928)
Tarek Mahmoud Sayed [Fri, 19 Jan 2018 21:47:02 +0000 (13:47 -0800)]
Remove Redundant Resource entry (#15928)

6 years agoMove platform-neutral part of TimeZone to shared CoreLib partition (#15926)
Jan Kotas [Fri, 19 Jan 2018 21:46:22 +0000 (13:46 -0800)]
Move platform-neutral part of TimeZone to shared CoreLib partition (#15926)

Prep work for moving the platform specific parts

6 years agoMerge pull request #15749 from fiigii/tabledrive
Carol Eidt [Fri, 19 Jan 2018 20:17:14 +0000 (12:17 -0800)]
Merge pull request #15749 from fiigii/tabledrive

Table-driven Intel hardware intrinsic

6 years agoAllow implicit conversion of null arrays to empty Memory instances
Levi Broderick [Fri, 19 Jan 2018 19:50:02 +0000 (11:50 -0800)]
Allow implicit conversion of null arrays to empty Memory instances

6 years ago[Arm64] Set Instruction set flags
Steve MacLean [Tue, 9 Jan 2018 21:01:03 +0000 (16:01 -0500)]
[Arm64] Set Instruction set flags

6 years ago[Arm64] Remove irregular vector not handling
Steve MacLean [Fri, 19 Jan 2018 17:41:47 +0000 (12:41 -0500)]
[Arm64] Remove irregular vector not handling

6 years agoDisable eventpipetrace test due to JIT stress failure (#15927)
Victor "Nate" Graf [Fri, 19 Jan 2018 19:25:38 +0000 (11:25 -0800)]
Disable eventpipetrace test due to JIT stress failure (#15927)

* Disable eventpipetrace test due to JIT stress failure

* Use double wildcard to properly include the right files

6 years ago[Arm64] Add compare vector to zero emitters
Steve MacLean [Thu, 18 Jan 2018 21:45:25 +0000 (16:45 -0500)]
[Arm64] Add compare vector to zero emitters

6 years agoRevert "Change just-in-time debugging registry keys. (#15722)" (#15921)
Mike McLaughlin [Fri, 19 Jan 2018 19:12:02 +0000 (11:12 -0800)]
Revert "Change just-in-time debugging registry keys. (#15722)" (#15921)

This reverts commit 8b2cac974db3edde38e1a555455f53592d03b68e.

6 years agoRemove some redundant code from TreeNodeInfoInit
Mike Danes [Fri, 19 Jan 2018 18:44:39 +0000 (20:44 +0200)]
Remove some redundant code from TreeNodeInfoInit

6 years ago[armel tizen] Fixed CoreRT issue #4626 unwinding support (#15913)
sergey ignatov [Fri, 19 Jan 2018 14:28:38 +0000 (17:28 +0300)]
[armel tizen] Fixed CoreRT issue #4626 unwinding support (#15913)

6 years agoMerge SSE intrinsics into the table-driven framework
Fei Peng [Fri, 19 Jan 2018 08:01:21 +0000 (00:01 -0800)]
Merge SSE intrinsics into the table-driven framework

6 years agoRemoving an incorrect assert from emitInsBinary
Tanner Gooding [Fri, 19 Jan 2018 03:55:41 +0000 (19:55 -0800)]
Removing an incorrect assert from emitInsBinary

6 years agoCache Invariant CompareInfo (#15902)
Jan Kotas [Fri, 19 Jan 2018 02:57:14 +0000 (18:57 -0800)]
Cache Invariant CompareInfo (#15902)

The Invariant CompareInfo is used in number of places. It is fetched via virtual method on CultureInfo. Caching it avoids the virtual method calls and extra indirections.

6 years agoMerge pull request #15920 from BruceForstall/AllowArmJitHaltPopup
Bruce Forstall [Fri, 19 Jan 2018 02:01:43 +0000 (18:01 -0800)]
Merge pull request #15920 from BruceForstall/AllowArmJitHaltPopup

Allow COMPlus_JitHalt to display a pop-up on ARM/ARM64

6 years agoDo not throw IndexOutOfBounds when AM/PM designator is empty (#15904)
Krzysztof Wicher [Fri, 19 Jan 2018 00:58:15 +0000 (16:58 -0800)]
Do not throw IndexOutOfBounds when AM/PM designator is empty (#15904)

* do not throw IndexOutOfBounds when AM/PM designator is empty

* store am/pm designator in local

6 years agoMirror changes from dotnet/corefx (#15909)
dotnet bot [Thu, 18 Jan 2018 23:36:01 +0000 (15:36 -0800)]
Mirror changes from dotnet/corefx (#15909)

* Consolidate System.Memory code to shared folder (dotnet/corefx#26393)

* Consolidate System.Memory code to shared folder

This change is removing the duplicate codes from System.Memory and keep only one copy under the shared folder to be easier to edit such code in one place and get reflected on the other repos.

* Address the review feedback

* Addressing more feedback

* More cleanup

* remove empty line and added a comment

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
* Add missing throw helper methods used in the code we got from corefx

* Update the exception helper

* fix the break

6 years agoEnable EventPipe and EventSource Functional Tests (#15917)
Brian Robbins [Thu, 18 Jan 2018 23:28:33 +0000 (15:28 -0800)]
Enable EventPipe and EventSource Functional Tests (#15917)

6 years agoRefactoring emitInsBinary
Tanner Gooding [Wed, 10 Jan 2018 16:25:43 +0000 (08:25 -0800)]
Refactoring emitInsBinary

6 years agoConvert BulkTypeLogger Allocations From Stack to Heap (#15907)
Brian Robbins [Thu, 18 Jan 2018 22:49:54 +0000 (14:49 -0800)]
Convert BulkTypeLogger Allocations From Stack to Heap (#15907)

6 years agotable drive Intel hardware intrinsic
Fei Peng [Wed, 17 Jan 2018 02:35:38 +0000 (18:35 -0800)]
table drive Intel hardware intrinsic

6 years agoMerge pull request #15901 from tannergooding/hwintrin-fixup
Carol Eidt [Thu, 18 Jan 2018 21:30:53 +0000 (13:30 -0800)]
Merge pull request #15901 from tannergooding/hwintrin-fixup

Resolving a few issues with the HWIntrinsic code

6 years agoAllow COMPlus_JitHalt to display a pop-up on ARM/ARM64
Bruce Forstall [Thu, 18 Jan 2018 21:28:25 +0000 (13:28 -0800)]
Allow COMPlus_JitHalt to display a pop-up on ARM/ARM64

Note that you need to `set COMPlus_NoGuiOnAssert=0` for the
pop-up to be displayed.

6 years agoPR Feedback
Carol Eidt [Thu, 18 Jan 2018 19:56:20 +0000 (11:56 -0800)]
PR Feedback

6 years agoARM: Fix morphing of struct passed on stack
Carol Eidt [Wed, 17 Jan 2018 19:54:52 +0000 (11:54 -0800)]
ARM: Fix morphing of struct passed on stack

If a struct is passed on the stack, it must live on the stack, unless/until we support `GT_FIELD_LIST` for these args. This is unlikely to represent a significant code quality issue, since ARM supports many register args, and this has gone undetected thus far.
This was exposed by tailcall stress on desktop.
I've added a test that exposes the issue without tailcall stress (though it gets a different assert than the desktop failure).

It seemed that `fgMorphMultiregStructArg()` was the best place to fix this - and I noted that this is called for any struct that is larger than a single register. So I updated the comments to reflect that.

I thought about putting the test in the JIT\Regressions test directory, but I consider that it is addressing basic missing test coverage, so I added it to JIT\Methodical\structs.

6 years ago Update clr-configuration-knobs.md, add new C# csi.exe based script for xplat documen...
Jacek Blaszczynski [Thu, 18 Jan 2018 17:10:25 +0000 (18:10 +0100)]
 Update clr-configuration-knobs.md, add new C# csi.exe based script for xplat document generation (#15858)

* C# csx script to generate CoreCLR and Jit configuration knobs doc

* Normalize category names, fix typos and white space in clrconfigvalues.h

* Normalize category names, knobs descrptions and fix typos in jitconfigvalues.h

* Remove clr-complus-conf-docgen.sh

* Remove from clrconfigvalues.h CONFIG_ declarations which are already present in jitconfigvalues.h

* Update clr-configuration-knobs.md with clr-configuration-knobs.csx script

6 years agoUpdate perflab tests to execute in a fixed order
Andy Ayers [Wed, 10 Jan 2018 00:25:22 +0000 (16:25 -0800)]
Update perflab tests to execute in a fixed order

Goal is to pin class init overhead on one test consistently. Also we were
not picking up the "optimize for benchmark" attribute and so likely risking
having tests execute concurrently.

6 years agoUpdating TYP_SIMD locals to no longer undergo struct promotion for HWIntrinsic nodes.
Tanner Gooding [Thu, 18 Jan 2018 07:53:10 +0000 (23:53 -0800)]
Updating TYP_SIMD locals to no longer undergo struct promotion for HWIntrinsic nodes.

6 years agoDisabling the Math.Round, Math.Floor, and Math.Ceiling intrinsics on non-AVX machines
Tanner Gooding [Thu, 18 Jan 2018 00:23:34 +0000 (16:23 -0800)]
Disabling the Math.Round, Math.Floor, and Math.Ceiling intrinsics on non-AVX machines

6 years agoFixing the `LoadAlignedVector128` HWIntrinsic test to ensure that we always read...
Tanner Gooding [Wed, 17 Jan 2018 15:51:43 +0000 (07:51 -0800)]
Fixing the `LoadAlignedVector128` HWIntrinsic test to ensure that we always read from an aligned address.

6 years agoFixing some bad merge conflicts in the `emitIns_R_A_I`, `emitIns_R_C_I`, and `emitIns...
Tanner Gooding [Wed, 17 Jan 2018 15:34:00 +0000 (07:34 -0800)]
Fixing some bad merge conflicts in the `emitIns_R_A_I`, `emitIns_R_C_I`, and `emitIns_R_S_I` methods

6 years agoMerge pull request #15869 from sdmaclea/PR-ARM64-is16Byte
Carol Eidt [Thu, 18 Jan 2018 01:59:02 +0000 (17:59 -0800)]
Merge pull request #15869 from sdmaclea/PR-ARM64-is16Byte

[Arm64] Use is16Byte

6 years agoAdd environment variable (COMPlus_EnableDiagnostics) to disable debugging and profili...
Mike McLaughlin [Thu, 18 Jan 2018 00:16:03 +0000 (16:16 -0800)]
Add environment variable (COMPlus_EnableDiagnostics) to disable debugging and profiling. (#15878)

To disable the named pipes and semaphores created on linux execute "export COMPlus_EnableDiagnostics=0" before start the .NET Core program.

On Windows execute "set COMPlus_EnableDiagnostics=0" and on Linux execute "export "COMPlus_EnableDiagnostics=0"

Removed the "Telesto" registry entry (old unnecessary Silverlight code) and Watson (always true) checks.

For issues #11769 and #8844.

6 years agoMerge pull request #15897 from tannergooding/hwintrin-debuggerdisplay
Tanner Gooding [Wed, 17 Jan 2018 20:28:34 +0000 (12:28 -0800)]
Merge pull request #15897 from tannergooding/hwintrin-debuggerdisplay

Adding a DebugView for Vector64<T>, Vector128<T>, and Vector256<T>

6 years agoMerge pull request #15900 from tannergooding/sse-intrinsics
Carol Eidt [Wed, 17 Jan 2018 18:01:01 +0000 (10:01 -0800)]
Merge pull request #15900 from tannergooding/sse-intrinsics

Updating emitIns_R_R_A_I to not be defined for the legacy backend.

6 years agoSkip EDI boundary for async (#15781)
Ben Adams [Wed, 17 Jan 2018 17:52:06 +0000 (17:52 +0000)]
Skip EDI boundary for async (#15781)

6 years agoAdding a DebugView for Vector64<T>, Vector128<T>, and Vector256<T>
Tanner Gooding [Wed, 10 Jan 2018 01:02:55 +0000 (17:02 -0800)]
Adding a DebugView for Vector64<T>, Vector128<T>, and Vector256<T>

6 years agoMove public StreamReader/Writer to CoreLib (#15884)
Jan Kotas [Wed, 17 Jan 2018 16:54:19 +0000 (08:54 -0800)]
Move public StreamReader/Writer to CoreLib (#15884)

6 years agoUpdating emitIns_R_R_A_I to not be defined for the legacy backend.
Tanner Gooding [Wed, 17 Jan 2018 15:08:47 +0000 (07:08 -0800)]
Updating emitIns_R_R_A_I to not be defined for the legacy backend.

6 years agoAdd MDA (Managed Debugging Assistant) (#15875)
Matt Warren [Wed, 17 Jan 2018 13:07:07 +0000 (13:07 +0000)]
Add MDA (Managed Debugging Assistant) (#15875)

* Add MDA (Managed Debugging Assistant)

* Info about MDA's in .NET Core

6 years agoMerge pull request #15893 from BruceForstall/FixR2RCrossgen
Bruce Forstall [Wed, 17 Jan 2018 06:51:46 +0000 (22:51 -0800)]
Merge pull request #15893 from BruceForstall/FixR2RCrossgen

Fix non-Windows R2R testing in CI

6 years agoMerge pull request #15894 from BruceForstall/DisableGetGenerationInGCStress
Bruce Forstall [Wed, 17 Jan 2018 06:45:44 +0000 (22:45 -0800)]
Merge pull request #15894 from BruceForstall/DisableGetGenerationInGCStress

Disable GetGeneration from GCStress runs

6 years agoMerge pull request #15538 from tannergooding/sse-intrinsics
Tanner Gooding [Wed, 17 Jan 2018 03:05:14 +0000 (19:05 -0800)]
Merge pull request #15538 from tannergooding/sse-intrinsics

Implement the SSE hardware intrinsics.

6 years agoAdd missing config.h.in entry for HAVE_LIBINTL_H (#15887)
Jan Vorlicek [Wed, 17 Jan 2018 02:39:25 +0000 (03:39 +0100)]
Add missing config.h.in entry for HAVE_LIBINTL_H (#15887)

In my change yesterday, I have added HAVE_LIBINTL_H to the
configure.cmake file, but forgotten to add the corresponding define to
the config.h.in file. This fixes it.

6 years agoMatching non-shared Decimal changes
Jan Kotas [Tue, 16 Jan 2018 23:26:16 +0000 (15:26 -0800)]
Matching non-shared Decimal changes

6 years agoMisc Decimal optimizations
Pent Ploompuu [Wed, 22 Nov 2017 23:42:37 +0000 (01:42 +0200)]
Misc Decimal optimizations

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoUpdate corelib shared README.md (dotnet/corefx#26366)
Santiago Fernandez Madero [Tue, 16 Jan 2018 21:53:23 +0000 (13:53 -0800)]
Update corelib shared README.md (dotnet/corefx#26366)

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoDisable GetGeneration from GCStress runs
Bruce Forstall [Wed, 17 Jan 2018 01:00:20 +0000 (17:00 -0800)]
Disable GetGeneration from GCStress runs

This test has exhibited "random" failures during GCStress runs
(which are believed to be due to the test itself, not some
product issue). So, disable it from GCStress runs.