platform/upstream/coreclr.git
6 years agoARM: increase small reg set for jitStressRegs=3 (#18462)
Carol Eidt [Thu, 14 Jun 2018 19:24:16 +0000 (12:24 -0700)]
ARM: increase small reg set for jitStressRegs=3 (#18462)

We may need two registers (base + offset) to set up the target register for a virtual call.

Fix #18228

6 years agoadd overloads (#18458)
Marco Rossignoli [Thu, 14 Jun 2018 17:30:56 +0000 (19:30 +0200)]
add overloads (#18458)

6 years agoWrite and WriteAsync overloads for StringBuilder. (#18281)
Vance Morrison [Thu, 14 Jun 2018 16:06:08 +0000 (09:06 -0700)]
Write and WriteAsync overloads for StringBuilder. (#18281)

* Write and WriteAsync overloads for StringBuilder.

Addresses issue https://github.com/dotnet/corefx/issues/30048

Note that tests will come as a separate checking as part of the coreFX repo.

* Review feedback

* Review feedback

* Added WriteLine(StringBuilder overloads (review feedback)

* review feedback

* Fix configureAwait

* bug fix

* Bug fix

* review feedback

6 years agoUpdate CoreClr, CoreFx, PgoData to preview1-26614-04, preview1-26614-04, master-20180...
dotnet-maestro-bot [Thu, 14 Jun 2018 15:57:44 +0000 (08:57 -0700)]
Update CoreClr, CoreFx, PgoData to preview1-26614-04, preview1-26614-04, master-20180614-0041, respectively (#18461)

6 years agoAdds original error info to NotSupportedException during FileStream initialization...
Alfred Myers [Thu, 14 Jun 2018 15:09:20 +0000 (12:09 -0300)]
Adds original error info to NotSupportedException during FileStream initialization (#18455)

6 years agoSkip version (dotnet/corefx#28835)
Anirudh Agnihotry [Wed, 13 Jun 2018 00:16:31 +0000 (17:16 -0700)]
Skip version (dotnet/corefx#28835)

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoAdded ISOWeek to System.Globalization (#18456)
Kristian Hellang [Wed, 13 Jun 2018 23:28:02 +0000 (01:28 +0200)]
Added ISOWeek to System.Globalization (#18456)

* Added ISOWeek to System.Globalization

* Revert DateTime changes. Use constants from GregorianCalendar instead.

* Add more comments

* Also allow 7 as value for day of week

* Add note about ISO week-numbering year parameters

* Add note about allowing 7 for day of week

6 years ago[Windows|Arm64|VarArgs] Correctly pass HFA arguments (#18364)
Jarret Shook [Wed, 13 Jun 2018 22:44:37 +0000 (15:44 -0700)]
[Windows|Arm64|VarArgs] Correctly pass HFA arguments (#18364)

* Fix passing HFA of two floats to vararg methods

Previously, the type would be reported as HFA and enregistered; however,
this is not correct, as arm64 varargs abi requires passing using
int registers.

* Address linux build issue

* Apply final format patch

* Add _TARGET_WINDOWS_

6 years agoMerge pull request #18438 from BruceForstall/FixKeepAlive
Bruce Forstall [Wed, 13 Jun 2018 22:04:23 +0000 (15:04 -0700)]
Merge pull request #18438 from BruceForstall/FixKeepAlive

Fix GC KeepAlive test

6 years agoFix enregistered lclFld bug (#18418)
Carol Eidt [Wed, 13 Jun 2018 21:43:07 +0000 (14:43 -0700)]
Fix enregistered lclFld bug (#18418)

* Fix enregistered lclFld bug

In `impFixupStructReturnType()`, don't transform to `GT_LCL_FLD` if we have a scalar lclVar.
Also, to avoid future bad codegen, add verification and recovery code to Lowering.

Fix #18408

* Extract the full conditions for whether a lclVar is a reg candidate, so it can be called from the assert in Lowering.

* Review feedback

6 years agoMerge pull request #18442 from BruceForstall/DisableB65423
Bruce Forstall [Wed, 13 Jun 2018 21:14:06 +0000 (14:14 -0700)]
Merge pull request #18442 from BruceForstall/DisableB65423

Disable test b65423, tracked by #18441

6 years agomoving ARM HW Intrinsics files to shared partition (#18451)
Maryam Ariyan [Wed, 13 Jun 2018 20:10:06 +0000 (13:10 -0700)]
moving ARM HW Intrinsics files to shared partition (#18451)

6 years agoFix allocation methods at few places in PAL (#18457)
Jan Vorlicek [Wed, 13 Jun 2018 17:48:24 +0000 (19:48 +0200)]
Fix allocation methods at few places in PAL (#18457)

In the utf8.cpp and process.cpp, PAL was incorectly using the
global new operator. This results in calling this operator's
definition in coreclr runtime, which is wrong. In the case
of the utf8 stuff, a customer has reported a crash happening
due to that when the path from which the PAL was initialized
contained chinese characters.

THe fix is to use InternalNew / InternalDelete functions instead.

6 years agoAdded CallerArgumentExpressionAttribute (corefx issue 21809) (#18404)
jswolf19 [Wed, 13 Jun 2018 16:33:44 +0000 (01:33 +0900)]
Added CallerArgumentExpressionAttribute (corefx issue 21809) (#18404)

* Added CallerArgumentExpressionAttribute

* Modified CallerAtgumentExpressionAttribute

Removed ArgumentNull check from constructor and reordered members to
be more consistent with other attribute classes.

6 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to preview1-02912-01, preview1-26613...
dotnet-maestro-bot [Wed, 13 Jun 2018 16:32:53 +0000 (09:32 -0700)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-02912-01, preview1-26613-04, preview1-26613-07, master-20180613-0058, respectively (#18189)

6 years agoUpdate unshared Reflection.Emit files
Michal Strehovský [Tue, 12 Jun 2018 15:52:16 +0000 (17:52 +0200)]
Update unshared Reflection.Emit files

6 years agoMerge pull request dotnet/corert#5933 from dotnet/nmirror
Michal Strehovský [Tue, 12 Jun 2018 14:01:50 +0000 (16:01 +0200)]
Merge pull request dotnet/corert#5933 from dotnet/nmirror

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years ago Move x86 HW intrinsics files to shared (#18427)
Maryam Ariyan [Wed, 13 Jun 2018 05:50:19 +0000 (22:50 -0700)]
 Move x86 HW intrinsics files to shared (#18427)

* Switch platfom amd64 to x64

* Move x86 intrinsics file to shared

* Adding condition so corert always picks up X.PlatformNotSupported.cs

Related to: #15922

6 years agoMerge pull request #18433 from BruceForstall/DisableLongRunningGCStressTests
Bruce Forstall [Wed, 13 Jun 2018 00:20:36 +0000 (17:20 -0700)]
Merge pull request #18433 from BruceForstall/DisableLongRunningGCStressTests

Disable HugeArray test in GCStress modes

6 years agoDisable test b65423, tracked by #18441
Bruce Forstall [Tue, 12 Jun 2018 22:27:16 +0000 (15:27 -0700)]
Disable test b65423, tracked by #18441

6 years agoFix GC KeepAlive test
Bruce Forstall [Tue, 12 Jun 2018 21:12:34 +0000 (14:12 -0700)]
Fix GC KeepAlive test

We need to determine that an object finalizer has not been run
*before* the KeepAlive call. After the call, it is perfectly
valid for the finalizer to be called, which can happen under
GCStress.

6 years agoAdd public implementation WindowsRuntimeResourceManagerBase (#18417)
Luqun Lou [Tue, 12 Jun 2018 20:54:00 +0000 (13:54 -0700)]
Add public implementation WindowsRuntimeResourceManagerBase (#18417)

6 years agoDisable HugeArray test in GCStress modes
Bruce Forstall [Tue, 12 Jun 2018 17:38:56 +0000 (10:38 -0700)]
Disable HugeArray test in GCStress modes

This test takes too long under GCStress, and causes timeout failures.
It was already disabled for x86. Disable it for all platforms, to
avoid unexpected failures in the CI. E.g., especially for ARM, which
is slow.

6 years agoJIT: finally cloning -- handle fall through out of try (#18416)
Andy Ayers [Tue, 12 Jun 2018 16:49:36 +0000 (09:49 -0700)]
JIT: finally cloning -- handle fall through out of try (#18416)

When searching for a handler to clone, handle the case where
control can fall out of the try into a callfinally pair.

Closes #18353.

6 years agoUnify struct arg handling (#18358)
Carol Eidt [Tue, 12 Jun 2018 15:38:56 +0000 (08:38 -0700)]
Unify struct arg handling (#18358)

* Unify struct arg handling

Eliminate unnecessary struct copies, especially on Linux, and reduce code duplication.
Across all targets, use GT_FIELD_LIST to pass promoted structs on stack, and avoid
requiring a copy and/or marking `lvDoNotEnregister` for those cases.

Unify the specification of multi-reg args:
- numRegs now indicates the actual number of reg args (not the size in pointer-size units)
- regNums contains all the arg register numbers

6 years agoFix unwinding of funclet with no epilog on x86/Linux (#17458)
Igor Kulaychuk [Tue, 12 Jun 2018 09:10:25 +0000 (12:10 +0300)]
Fix unwinding of funclet with no epilog on x86/Linux (#17458)

6 years agoAdding containment support to more x86 HWIntrinsics (#18349)
Tanner Gooding [Tue, 12 Jun 2018 02:58:34 +0000 (19:58 -0700)]
Adding containment support to more x86 HWIntrinsics (#18349)

* Adding containment support for the Sse42.Crc32 intrinsic

* Adding containment support for the x86 Compare*OrderedScalar and Compare*UnorderedScalar HWIntrinsics

* Adding containment support to several intrinsics that were marked NoContainment

6 years agoFix Decimal.NearNegativeZero/NearPositiveZero (#18424)
Pent Ploompuu [Tue, 12 Jun 2018 01:01:14 +0000 (04:01 +0300)]
Fix Decimal.NearNegativeZero/NearPositiveZero (#18424)

6 years agoReword invalid program exception message (#18409)
Dan Moseley [Mon, 11 Jun 2018 21:42:35 +0000 (14:42 -0700)]
Reword invalid program exception message (#18409)

* Reword invalid program exception message

* Reword

* Update msg

6 years agoskip empty regMask in verifyRegistersUsed (#18415)
Sergey Andreenko [Mon, 11 Jun 2018 21:29:17 +0000 (14:29 -0700)]
skip empty regMask in verifyRegistersUsed (#18415)

6 years agoStandardize on PLATFORM_WINDOWS instead of PLATFORM_UNIX (#18411)
Stephen Toub [Mon, 11 Jun 2018 19:41:49 +0000 (15:41 -0400)]
Standardize on PLATFORM_WINDOWS instead of PLATFORM_UNIX (#18411)

There are a bunch of uses of PLATFORM_WINDOWS in System.Private.CoreLib, and just a few uses of PLATFORM_UNIX.  Standardize on the former, removing all occurrences of the latter.

6 years agoFix UTF8 encoding fallback index (#18387)
Tarek Mahmoud Sayed [Mon, 11 Jun 2018 19:23:26 +0000 (12:23 -0700)]
Fix UTF8 encoding fallback index (#18387)

* Fix UTF8 encoding fallback index

When falling back in UTF8 decoding, we’ll call the DecoderFallbackBuffer.InternalFallback method which takes a pointer to the source bytes pointer which point to where we have progressed inside the source bytes. The problem is before calling DecoderFallbackBuffer.InternalFallback we call GetBytesUnknown which can adjust the source byte pointer and DecoderFallbackBuffer.InternalFallback need to be called with the pointer before the adjustment. The fix is simply storing the original pointer value of the source byte pointer before calling GetBytesUnknown and then pass the stored original pointer to DecoderFallbackBuffer.InternalFallback instead of the adjusted source byte pointer

* Fix the comment

6 years agoWinRT attribute Cleanup (#18412)
Luqun Lou [Mon, 11 Jun 2018 19:22:50 +0000 (12:22 -0700)]
WinRT attribute Cleanup (#18412)

6 years agoRemove WinRTSynchronizationContextFactoryBase (#18385)
Luqun Lou [Mon, 11 Jun 2018 18:29:46 +0000 (11:29 -0700)]
Remove WinRTSynchronizationContextFactoryBase (#18385)

6 years ago(Re)Enable NativeVarargs for CoreCLR (#18373)
Jarret Shook [Mon, 11 Jun 2018 18:28:26 +0000 (11:28 -0700)]
(Re)Enable NativeVarargs for CoreCLR (#18373)

* Enable NativeVarargs for CoreCLR

This will allow coreclr run programs which have native varargs.
It also re-enables the ArgIterator type for managed to managed native
vararg calls. This will allow the use of the __arglist keyword.

Limitations:

NYI statements have been added for all Unix Targets.

With this change __arglist (native varargs) will be supported, but not
yet tested on:

Amd64 Windows
x86 Windows
Arm32 Windows
Arm64 Windows

This change does not re-enable native vararg tests. This will be done
in a separate change.

6 years agoAdds the CoreLib IL to packages (#18372)
Paulo Janotti [Mon, 11 Jun 2018 18:22:12 +0000 (11:22 -0700)]
Adds the CoreLib IL to packages (#18372)

* Adds the CoreLib IL to packages

The purpose of this is to enable code coverage runs to include CoreLib in CI - for that it is necessary to make the IL version available.

6 years agoFix PCODE not having thumb bit set when comparing two addresses (#18247)
Chris Sienkiewicz [Mon, 11 Jun 2018 18:12:44 +0000 (11:12 -0700)]
Fix PCODE not having thumb bit set when comparing two addresses (#18247)

6 years agoRemoved length restrictions on named synchronization primitives lengths on Windows...
Anirudh Agnihotry [Mon, 11 Jun 2018 14:29:58 +0000 (07:29 -0700)]
Removed length restrictions on named synchronization primitives lengths on Windows (#18402)

* Removed Path Length check

* waitHandleNameMax removed

6 years agoUpdate Buildtools (#18380)
William Godbe [Sun, 10 Jun 2018 01:11:09 +0000 (18:11 -0700)]
Update Buildtools (#18380)

6 years agoAvoid NativeOverlapped pinning by allocating unmanaged memory for it (#18360)
Jan Kotas [Sat, 9 Jun 2018 20:39:58 +0000 (13:39 -0700)]
Avoid NativeOverlapped pinning by allocating unmanaged memory for it (#18360)

It makes PinnableBufferCache unnecessary

6 years agoUse nameof of Encoding classes (#18395)
Stephen Toub [Sat, 9 Jun 2018 20:34:46 +0000 (16:34 -0400)]
Use nameof of Encoding classes (#18395)

6 years agoMerge pull request #18394 from BruceForstall/Fix10115
Bruce Forstall [Sat, 9 Jun 2018 19:12:37 +0000 (12:12 -0700)]
Merge pull request #18394 from BruceForstall/Fix10115

Re-enable tests for Windows arm64

6 years agoMerge pull request #18363 from sdmaclea/PR-waitany-debug
Bruce Forstall [Sat, 9 Jun 2018 06:08:54 +0000 (23:08 -0700)]
Merge pull request #18363 from sdmaclea/PR-waitany-debug

Waitany test debug and cleanup

6 years agoSome extra changes needed in shared
Maryam Ariyan [Thu, 7 Jun 2018 21:24:29 +0000 (14:24 -0700)]
Some extra changes needed in shared

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoRemove Substring in TimeZoneInfo parsing (#18378)
Eric Erhardt [Sat, 9 Jun 2018 03:09:04 +0000 (22:09 -0500)]
Remove Substring in TimeZoneInfo parsing (#18378)

* Remove Substring in TimeZoneInfo parsing

Convert Substring to Slice to eliminate string allocations while parsing Posix daylight savings rules.

6 years agoUse cached strings for values 0 to 9 (#18383)
Stephen Toub [Sat, 9 Jun 2018 02:53:52 +0000 (22:53 -0400)]
Use cached strings for values 0 to 9 (#18383)

When doing ToString on single-digit integers, just return a cached string.  This helps avoid string allocation/formatting costs for this very common case, while only costing one comparison for other cases.

6 years agoRemove ConcurrentDictionary from CoreLib (#18308)
Stephen Toub [Sat, 9 Jun 2018 02:41:27 +0000 (22:41 -0400)]
Remove ConcurrentDictionary from CoreLib (#18308)

6 years agoRe-enable tests for Windows arm64
Bruce Forstall [Sat, 9 Jun 2018 01:39:02 +0000 (18:39 -0700)]
Re-enable tests for Windows arm64

These tests don't fail anymore. Re-enable them.

Fixes #10115

6 years agoMerge pull request #18382 from BruceForstall/MakeArmGcStress3Clean
Bruce Forstall [Sat, 9 Jun 2018 01:23:57 +0000 (18:23 -0700)]
Merge pull request #18382 from BruceForstall/MakeArmGcStress3Clean

Disable 3 tests incompatible with GCStress=3

6 years agoFix EventPipe EventHandle Caching for TraceLogging (#18355)
Brian Robbins [Sat, 9 Jun 2018 00:44:11 +0000 (17:44 -0700)]
Fix EventPipe EventHandle Caching for TraceLogging (#18355)

6 years agoFix coredistools download script now that Packages layout has changed
Russ Keldorph [Fri, 8 Jun 2018 17:58:18 +0000 (10:58 -0700)]
Fix coredistools download script now that Packages layout has changed

Fixes #18321

6 years agoMoved Mutex.cs From src to shared (#18320)
Anirudh Agnihotry [Fri, 8 Jun 2018 21:51:10 +0000 (14:51 -0700)]
Moved Mutex.cs From src to shared (#18320)

* Moved Mutex.cs to shared

* Reduced #ifdef in mutex.cs

* Moved windows specific Implementation and renamed mincore to kernal32

* safeWaitHandle changed to _waitHandle

* moved using statement out of buffer namespace

6 years agoExpose public implementation AsyncCausalitySupport to S.R.WindowsRuntime (#18376)
Luqun Lou [Fri, 8 Jun 2018 21:41:24 +0000 (14:41 -0700)]
Expose public implementation AsyncCausalitySupport to S.R.WindowsRuntime (#18376)

6 years agoMerge pull request #18287 from sdmaclea/TryClearGCStressInstructionUpdate
Bruce Forstall [Fri, 8 Jun 2018 21:27:18 +0000 (14:27 -0700)]
Merge pull request #18287 from sdmaclea/TryClearGCStressInstructionUpdate

Use atomic ops in CommitGCStressInstructionUpdate()

6 years agoDisable 3 tests incompatible with GCStress=3
Bruce Forstall [Fri, 8 Jun 2018 20:50:16 +0000 (13:50 -0700)]
Disable 3 tests incompatible with GCStress=3

The following fail in CI with arm Windows GCStress=3, and are now marked
`GCStressIncompatible`.

1. GC\Coverage\smalloom\smalloom.cmd
2. Issue #17480: tracing\tracevalidation\rundown\rundown\rundown.cmd, tracing\tracevalidation\jittingstarted\JittingStarted\JittingStarted.cmd

6 years agoFix threading gcStress fails
Steve MacLean [Fri, 8 Jun 2018 19:46:31 +0000 (15:46 -0400)]
Fix threading gcStress fails

Mark GCStressIncompatible ond/or fix synchronization logic

6 years agoMerge pull request #18326 from acmyu/gc
Amy [Fri, 8 Jun 2018 19:14:11 +0000 (12:14 -0700)]
Merge pull request #18326 from acmyu/gc

R2RDump - GcInfo and slot table

6 years agoWorkaround for compiler.hpp (1848) - Assertion failed 'lvRefCnt' (#18292)
Sergey Andreenko [Fri, 8 Jun 2018 17:30:43 +0000 (10:30 -0700)]
Workaround for  compiler.hpp (1848) - Assertion failed 'lvRefCnt' (#18292)

* add test

* clean fgRemoveStmt a bit

* fix the issue (more like a workaround).

6 years agoDisable failing CoreFx tests on Windows/arm and Linux/arm (#18347)
Egor Chesakov [Fri, 8 Jun 2018 16:32:32 +0000 (09:32 -0700)]
Disable failing CoreFx tests on Windows/arm and Linux/arm (#18347)

* System.Dynamic.Runtime.Tests on Windows/arm and Linux/arm

* System.Linq.Expressions.Tests on Windows/arm (JitStress=2)

* System.Runtime.Numerics.Tests on Windows/arm (JitStress=1/JitStress=2)

6 years agoJIT: Fix bug in finally cloning caused by unsound callfinally reordering (#18348)
Andy Ayers [Fri, 8 Jun 2018 06:16:56 +0000 (23:16 -0700)]
JIT: Fix bug in finally cloning caused by unsound callfinally reordering (#18348)

We need to make sure that if we reorder a callfinally during finally cloning
that the callfinally is actually the one being targeted by the last block in
the try range.

Closes #18332. Linked issue has some more detailed notes.

6 years agoFixed and optimized Decimal.GetHashCode (#18288)
Pent Ploompuu [Fri, 8 Jun 2018 00:47:44 +0000 (03:47 +0300)]
Fixed and optimized Decimal.GetHashCode (#18288)

6 years agoAdd missing #ifdef.
Brian Robbins [Thu, 7 Jun 2018 20:44:49 +0000 (13:44 -0700)]
Add missing #ifdef.

Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
6 years agoInterop Copy tests now all return 101 during fail rather than crash (#18310)
Aaron Robinson [Fri, 8 Jun 2018 00:23:08 +0000 (17:23 -0700)]
Interop Copy tests now all return 101 during fail rather than crash (#18310)

* Interop Copy tests now all return 101 during fail rather than crash

* Remove unused Assert APIs

6 years agoMerge pull request #18354 from sdmaclea/PR-eventsourcetrace
Bruce Forstall [Fri, 8 Jun 2018 00:03:30 +0000 (17:03 -0700)]
Merge pull request #18354 from sdmaclea/PR-eventsourcetrace

Mark eventsourcetrace GCStressIncompatible

6 years agoMerge pull request #18340 from mikedn/ins-desc
Bruce Forstall [Thu, 7 Jun 2018 23:58:03 +0000 (16:58 -0700)]
Merge pull request #18340 from mikedn/ins-desc

Increase instrDesc::_idIns width on XARCH

6 years agoMerge pull request #18356 from CarolEidt/Fix_GT_START_NONGC
Carol Eidt [Thu, 7 Jun 2018 23:53:45 +0000 (16:53 -0700)]
Merge pull request #18356 from CarolEidt/Fix_GT_START_NONGC

GT_START_NONGC has no kill set

6 years agoGcInfo belongs to method, not runtime function
Amy Yu [Thu, 7 Jun 2018 23:38:10 +0000 (16:38 -0700)]
GcInfo belongs to method, not runtime function

6 years agoWaitany test debug and cleanup
Steve MacLean [Thu, 7 Jun 2018 22:59:31 +0000 (18:59 -0400)]
Waitany test debug and cleanup

6 years agoSkip old time zones adjustments with offsets higher than 14h (#18305)
Krzysztof Wicher [Thu, 7 Jun 2018 22:55:54 +0000 (15:55 -0700)]
Skip old time zones adjustments with offsets higher than 14h (#18305)

* Skip old time zones with offsets higher than 14h

* apply offline feedback

* fix braces

6 years agoGT_START_NONGC has no kill set
Carol Eidt [Thu, 7 Jun 2018 20:58:22 +0000 (13:58 -0700)]
GT_START_NONGC has no kill set

It was mistakenly added to the `GT_PROF_HOOK` case in the recent LSRA changes.

6 years agoMark eventsourcetrace GCStressIncompatible
Steve MacLean [Thu, 7 Jun 2018 20:31:10 +0000 (16:31 -0400)]
Mark eventsourcetrace GCStressIncompatible

6 years agoAllow ILCodeVersion to fallback to default IL (#18322)
Noah Falk [Thu, 7 Jun 2018 19:53:08 +0000 (12:53 -0700)]
Allow ILCodeVersion to fallback to default IL (#18322)

For compat with profilers that used our APIs in unexpected ways we can allow
the ILCodeVersion to fallback to the default IL code when no IL was explicitly
given.

6 years agoMoves CurrentSystemTimeZone, ICastable, RegistryView and RegistryValueKind to shared...
Maryam Ariyan [Thu, 7 Jun 2018 19:40:40 +0000 (12:40 -0700)]
Moves CurrentSystemTimeZone, ICastable, RegistryView and RegistryValueKind to shared (#18337)

* Moves CurrentSystemTimeZone to shared completely

* Moves ICastable to shared

* Moves RegistryView and RegistryValueKind to shared

* Moves ICastableHelpers to its own file

6 years agoForce short date pattern to use yyyy on Linux (#18316)
Tarek Mahmoud Sayed [Thu, 7 Jun 2018 18:01:26 +0000 (11:01 -0700)]
Force short date pattern to use yyyy on Linux (#18316)

* Force short date pattern to use yyyy on Linux

The default pattern we get is using yy which causes the years  to be displayed  as 2 digits. This is not acceptable for many users. The fix here is to force 4-digit year as a default and still keep the original pattern which has 2-digits year in the optional list

* Address the review feedback

6 years agoRemove dead case from string.Compare (#18345)
Stephen Toub [Thu, 7 Jun 2018 17:24:11 +0000 (13:24 -0400)]
Remove dead case from string.Compare (#18345)

6 years agoGuard Windows code under PLATFORM_WINDOWS (#18344)
Marek Safar [Thu, 7 Jun 2018 17:07:47 +0000 (10:07 -0700)]
Guard Windows code under PLATFORM_WINDOWS (#18344)

6 years agoUse atomic ops in CommitGCStressInstructionUpdate()
Steve MacLean [Mon, 4 Jun 2018 17:55:34 +0000 (13:55 -0400)]
Use atomic ops in CommitGCStressInstructionUpdate()

6 years agoIncrease instrDesc::_idIns width on XARCH
Mike Danes [Thu, 7 Jun 2018 15:17:04 +0000 (18:17 +0300)]
Increase instrDesc::_idIns width on XARCH

XARCH exceeded the 512 instruction limit but it still has room for instruction formats (only 77 at the moment) so a bit was taken from _idInsFmt.

Also, cleaned up some tiny while instrDesc traces while trying to fix "Space taken up to here:" kind of comments.

6 years agoFixed a couple of comments about ArgumentException on timeout parameters (#18335)
Alfred Myers [Thu, 7 Jun 2018 07:06:45 +0000 (04:06 -0300)]
Fixed a couple of comments about ArgumentException on timeout parameters (#18335)

6 years agoRemove a dead branch from __DTString (#18334)
Stephen Toub [Thu, 7 Jun 2018 07:06:09 +0000 (03:06 -0400)]
Remove a dead branch from __DTString (#18334)

All call sites to the ctor validate that the DateTimeFormatInfo has been created.

6 years agoDelete FormatterConverter from CoreLib (#18336)
Stephen Toub [Thu, 7 Jun 2018 07:04:30 +0000 (03:04 -0400)]
Delete FormatterConverter from CoreLib (#18336)

It's not used in the library.  The type is implemented/exposed from corefx.

6 years agoCross-bitness support in JitInterface (#18329)
Egor Chesakov [Thu, 7 Jun 2018 06:49:48 +0000 (23:49 -0700)]
Cross-bitness support in JitInterface (#18329)

* Replace sizeof(tailCallType) / sizeof(tailCallType[0]) with _countof(tailCallType)

* Remove TransparentProxyObject and RealProxyObject

* InlinedCallFrame::GetEEInfo should not be used for R2R compilation

* Hardcode constants used in CEEInfo::getEEInfo

* Thread fields should not be used for R2R compilation

* Zero pEEInfoOut->inlinedCallFrameInfo when compiling R2R code

* Rename OFFSETOF__PtrArray__m_Array to avoid compilation conflicts with asmconstants

* Add assertions enabled in every non-crossbitness scenario

* Define and use CROSSBITNESS_COMPILE macro

6 years agoFix ARM cast codegen (#18063)
mikedn [Thu, 7 Jun 2018 05:18:59 +0000 (08:18 +0300)]
Fix ARM cast codegen (#18063)

* Fix ARM cast codegen

ARM cast codegen is rather convoluted and sometimes does the wrong thing by applying GTF_UNSIGNED to the destination type even though this flag is only about the source type.

* Add more conversion tests

These tests are intended to support casts with contained operands. They're also useful to catch issues caused by load nodes having small types and generally improve test coverage for casts.

6 years agoAdding containment support for more x86 hardware intrinsics (#18297)
Tanner Gooding [Thu, 7 Jun 2018 01:24:04 +0000 (18:24 -0700)]
Adding containment support for more x86 hardware intrinsics (#18297)

* Adding containment support to one-operand scalar HWIntrinsics (x86)

* Adding containment support to two-operand imm HWIntrinsics (x86)

* Adding containment support to three-operand imm HWIntrinsics (x86)

* Updating hwintrinsiccodegenxarch to properly mask Sse41.Insert for TYP_FLOAT

* Updating the Sse41.Insert tests for TYP_FLOAT

* Adding containment support for Sse2.CompareLessThan and BlendVariable (Sse41/Avx/Avx2)

* Fixing `genHWIntrinsic_R_RM_I` to call `emitIns_SIMD_R_R_I`, rather than `emitIns_R_R_I`

* Updating emitOutputSV to not modify the code for IF_RWR_RRD_SRD_CNS

* Cleaning up some of the emitxarch code.

* Moving roundps and roundpd into the IsDstSrcImm check

6 years agoRefactoring gcInfo, added verbose option to cli
Amy Yu [Wed, 6 Jun 2018 23:57:33 +0000 (16:57 -0700)]
Refactoring gcInfo, added verbose option to cli

6 years agoFix error cause by merge
Amy Yu [Wed, 6 Jun 2018 22:05:46 +0000 (15:05 -0700)]
Fix error cause by merge

6 years agoFix unwindInfo bug caused by missing alignmentPad, dump raw byes of unwindInfo and...
Amy Yu [Wed, 6 Jun 2018 21:42:16 +0000 (14:42 -0700)]
Fix unwindInfo bug caused by missing alignmentPad, dump raw byes of unwindInfo and gcInfo

6 years agoUse single variable for multiple tabs
Amy Yu [Wed, 6 Jun 2018 17:56:06 +0000 (10:56 -0700)]
Use single variable for multiple tabs

6 years agoRead slot table, dump GcInfo
Amy Yu [Wed, 6 Jun 2018 17:38:57 +0000 (10:38 -0700)]
Read slot table, dump GcInfo

6 years agoExtract other fields from gcinfo
Amy Yu [Tue, 5 Jun 2018 19:11:11 +0000 (12:11 -0700)]
Extract other fields from gcinfo

6 years agoExtract gcinfo header, return kind and code length. Use code length as size of the...
Amy Yu [Mon, 4 Jun 2018 23:01:13 +0000 (16:01 -0700)]
Extract gcinfo header, return kind and code length. Use code length as size of the runtime function

6 years agoExtract gcinfo from image
Amy Yu [Sat, 2 Jun 2018 00:04:48 +0000 (17:04 -0700)]
Extract gcinfo from image

6 years agoAvoid passing R2RReader to R2RMethod and RuntimeFunction constructors
Amy Yu [Mon, 4 Jun 2018 23:59:42 +0000 (16:59 -0700)]
Avoid passing R2RReader to R2RMethod and RuntimeFunction constructors

6 years agoUse typeDef.Namespace to get full namespace, move to separate function
Amy Yu [Mon, 4 Jun 2018 20:49:13 +0000 (13:49 -0700)]
Use typeDef.Namespace to get full namespace, move to separate function

6 years agoR2RDump - Unwind Info (#18248)
Amy [Wed, 6 Jun 2018 21:19:56 +0000 (14:19 -0700)]
R2RDump - Unwind Info (#18248)

* Extract unwind info from image

* Use typeDef.Namespace to get full namespace, move to separate function

* Avoid passing R2RReader to R2RMethod and RuntimeFunction constructors

* Dump unwind info

* Changes to unwindInfo output format

6 years agoFix issue in Compiler::impImportStaticFieldAccess (#18328)
Jan Vorlicek [Wed, 6 Jun 2018 20:39:47 +0000 (22:39 +0200)]
Fix issue in Compiler::impImportStaticFieldAccess (#18328)

When CORINFO_FIELD_STATIC_SHARED_STATIC_HELPER accessor is being processed for
structs, the method creates a GT_IND node instead of GT_OBJ node. For structs
that can be normalized to a specific type (like TYP_SIMD8), it causes an assert
in Compiler::impNormStructVal in the switch case for GT_IND.

This change modifies the node creation to work the same way as in the default
case for accessors, creating GT_OBJ for structs and GT_IND otherwise.

6 years agoJIT: implement assembly name dissassembly filtering (#18306)
Andy Ayers [Wed, 6 Jun 2018 19:37:09 +0000 (12:37 -0700)]
JIT: implement assembly name dissassembly filtering (#18306)

Add `COMPlus_JitDisasmAssemblies` to specify a whitelist of assemblies
whose methods will be disassembled (also filters out order, EH, GC, and
unwind info dumps too).

Intended use is for PMI asm diffing. Since PMI runs in process, current
disassembly will dissassemble various methods in PMI itself as well
as framework methods that did not get prejitted.

With this new config option we can restrict disassembly to just the assemblies
that we're processing via PMI.

6 years agoMoves FastResourceComparer and TaskAwaiter to shared (#18283)
Maryam Ariyan [Wed, 6 Jun 2018 17:15:19 +0000 (10:15 -0700)]
Moves FastResourceComparer and TaskAwaiter to shared (#18283)

* Reduces diff in BinaryReader

* Moves FastResourceComparer to shared

* Reduces diff in FileBasedResourceGroveler

* Minor comment diff in ManifestBasedResourceGroveler

* Reducing diff by removing extra blank lines in ResourceReader

* Reduces diff by renaming private fields in AssemblyName

* String to string and Object to object in AssemblyName

* Reduces diff in TaskAwaiter

* Moves TaskAwaiter to shared

* Apply code review feedback

* Fixes failure in corert

* Revert Renaming fields in AssemblyName

6 years agoIncrease timeout and log the result for some WaitAny tests that expect AbandonedMutex...
Koundinya Veluri [Wed, 6 Jun 2018 17:09:29 +0000 (10:09 -0700)]
Increase timeout and log the result for some WaitAny tests that expect AbandonedMutexException (#18312)

Follow-up to https://github.com/dotnet/coreclr/pull/13298, missed a few cases.

6 years agoAdd instructions for making idl file changes (#18188)
Noah Falk [Wed, 6 Jun 2018 03:40:12 +0000 (20:40 -0700)]
Add instructions for making idl file changes (#18188)