platform/upstream/coreclr.git
7 years agoSupport devirtulization of Encoders (#10229)
Ben Adams [Fri, 17 Mar 2017 01:36:22 +0000 (01:36 +0000)]
Support devirtulization of Encoders (#10229)

* Seal more final inherited internal types

7 years agoneed to account for the allocated bytes correctly for the following: (#10162)
Maoni Stephens [Fri, 17 Mar 2017 00:57:49 +0000 (17:57 -0700)]
need to account for the allocated bytes correctly for the following: (#10162)

need to account for the allocated bytes accurately for the following cases

7 years agoMerge pull request #10235 from dotnet/mirror-merge-9050192
Alex Perovich [Fri, 17 Mar 2017 00:44:20 +0000 (19:44 -0500)]
Merge pull request #10235 from dotnet/mirror-merge-9050192

Mirror changes from dotnet/corert

7 years agoMove the MemberInfo-derived Info classes to the shared partition. (#10236)
Atsushi Kanamori [Fri, 17 Mar 2017 00:23:51 +0000 (17:23 -0700)]
Move the MemberInfo-derived Info classes to the shared partition. (#10236)

* Copy over CoreRt prose member by member.

* Transplant the CoreRt version of the files.

This is now just a reordering. Verified
by sorting the old and new versions of the
file and diffin.

* Move to shared partition.

* Looks like the #if FEATURE_COMINTEROP wasn't just for show...

Take EventInfo.cs back to unshared status for now...

7 years ago[Local GC] Break EE dependency on GC's generation table and alloc lock in single...
Sean Gillespie [Fri, 17 Mar 2017 00:18:28 +0000 (17:18 -0700)]
[Local GC] Break EE dependency on GC's generation table and alloc lock in single-proc scenarios (#10065)

* Remove usage of the generation table from the EE by introducing an
EE-owned GC alloc context used for allocations on single-proc machines.

* Move the GC alloc lock to the EE side of the interface

* Repair the Windows ARM build

* Move the decision to use per-thread alloc contexts to the EE

* Rename the lock used by StartNoGCRegion and EndNoGCRegion to be more indicative of what it is protecting

* Address code review feedback 2 (enumerate the global alloc context as a part of GCToEEInterface)

* Code review feedback (3)

* Address code review feedback (move some GC-internal globals to gcimpl.h and gc.cpp)

* g_global_alloc_lock is a dword, not a qword - fixes a deadlock

* Move GlobalAllocLock to gchelpers.cpp and switch to preemptive mode when spinning

* Repair the Windows x86 build

7 years agoMerge pull request #10240 from pgavlin/fixerrorlevel
Pat Gavlin [Fri, 17 Mar 2017 00:08:05 +0000 (17:08 -0700)]
Merge pull request #10240 from pgavlin/fixerrorlevel

Fix test failure detection when dumps are enabled.

7 years agoFix test failure detection when dumps are enabled.
Pat Gavlin [Thu, 16 Mar 2017 23:37:16 +0000 (16:37 -0700)]
Fix test failure detection when dumps are enabled.

7 years agoAdd a lab job for Coreclr testing via ILLINK (#10200)
Swaroop Sridhar [Thu, 16 Mar 2017 23:12:46 +0000 (16:12 -0700)]
Add a lab job for Coreclr testing via ILLINK (#10200)

This commit adds a job that:
1) Clones https://github.com/mono/linker
2) Builds the linker for netcoreapp2.0
3) Builds CoreCLR and tests using the IlLinker built above

The job is run daily, and can be reqested from PRs as necessary.

7 years agoAdd IBC support to managed build (#10180)
Daniel Podder [Thu, 16 Mar 2017 21:37:07 +0000 (14:37 -0700)]
Add IBC support to managed build (#10180)

Add a new build switch, `ibcinstrument`, that adds `/Tuning` on the `crossgen`
command line when building System.Private.CoreLib and its peers. Automatically
consume IBC optdata during builds when these conditions are met:

1. `ibcinstrument` is *not* passed to the build,
2. optdata is available
3. ibcmerge is available

Note that `optdata` will not yet be restored with this change; once packages for
master are made available, a new package reference will still need to be added.
This PR attempts to unblock manually testing IBC, as well as surrounding
CI/infrastructure work.

To help produce an IBC-optimized build using manually generated profile data,
run the newly added `tests/scripts/optdata/bootstrap.py` script. It will
configure the build to consume IBC data from a path automatically, and print out
that path where profile data can be copied.

7 years agoFix CoreCLR build break in shared corelib partition (#2997)
Jan Kotas [Thu, 16 Mar 2017 19:47:52 +0000 (12:47 -0700)]
Fix CoreCLR build break in shared corelib partition (#2997)

Move RelocatedTypeAttribute under PROJECTN ifdef

7 years agoEnable FileStream in ProjectN build, use CreateFile2 instead of CreateFile.
Jeremy Kuhne [Thu, 16 Mar 2017 01:38:22 +0000 (18:38 -0700)]
Enable FileStream in ProjectN build, use CreateFile2 instead of CreateFile.

[tfs-changeset: 1651001]

7 years agoRemoved check for the maximum quantity of arguments (#10232)
Buyduck [Thu, 16 Mar 2017 20:24:17 +0000 (23:24 +0300)]
Removed check for the maximum quantity of arguments (#10232)

7 years agoUpdate CoreClr to beta-25116-01 (#10163)
dotnet bot [Thu, 16 Mar 2017 20:16:01 +0000 (13:16 -0700)]
Update CoreClr to beta-25116-01 (#10163)

7 years agoFixing more file-class correspondence violations. (#10231)
Atsushi Kanamori [Thu, 16 Mar 2017 19:27:56 +0000 (12:27 -0700)]
Fixing more file-class correspondence violations. (#10231)

* Cloned files.

* Reduce each file to its namesake class.

* Cleanup

* Fix build break.

7 years agoMerge pull request #10214 from pgavlin/TimeoutCrashDumps
Pat Gavlin [Thu, 16 Mar 2017 18:49:26 +0000 (11:49 -0700)]
Merge pull request #10214 from pgavlin/TimeoutCrashDumps

Take crash dumps for timed-out tests.

7 years agoTake crash dumps for timed-out tests.
Pat Gavlin [Thu, 16 Mar 2017 00:28:42 +0000 (17:28 -0700)]
Take crash dumps for timed-out tests.

This change updates the test infrastructure to collect crash dumps for
tests that time out. We've been seeing a number of tests that only time
out in CI (e.g. #10076); hopefully this will help us root-cause the
timeouts.

7 years agoMerge pull request #10164 from stephentoub/fs_pipe_crash
Stephen Toub [Thu, 16 Mar 2017 16:46:19 +0000 (12:46 -0400)]
Merge pull request #10164 from stephentoub/fs_pipe_crash

Ignore FileStream.FlushWriteBuffer failures during finalization

7 years agoDelete mscorlib facade (#10157)
Jan Kotas [Thu, 16 Mar 2017 14:32:12 +0000 (07:32 -0700)]
Delete mscorlib facade (#10157)

Fixes #7607

7 years agoMerge pull request #10177 from eerhardt/TZPosixNames
Eric Erhardt [Thu, 16 Mar 2017 12:45:32 +0000 (07:45 -0500)]
Merge pull request #10177 from eerhardt/TZPosixNames

Support bracket enclosed names in TZ POSIX rules

7 years agoHide types which are now public in corefx (#10142)
Rahul Kumar [Thu, 16 Mar 2017 07:51:50 +0000 (00:51 -0700)]
Hide types which are now public in corefx (#10142)

7 years agoMinor fix to address ?: VC conformance improvement. (#10208)
Yuriy Solodkyy [Thu, 16 Mar 2017 04:55:53 +0000 (21:55 -0700)]
Minor fix to address ?: VC conformance improvement. (#10208)

Visual C++ has made some conformance changes to conditional operator
that will be available under /permissive- and which make the inference of
result type of the conditional operator in these 2 places ambiguous. This
happens because the class type in one of the arguments provides both: the
constructor from and the conversion operator to T - LCWSTR here.

7 years agoTemporarily disable flaky sleep test (#10221)
Matt Mitchell [Thu, 16 Mar 2017 04:55:25 +0000 (21:55 -0700)]
Temporarily disable flaky sleep test (#10221)

7 years agoFix Convert.FromBase64CharArray with empty array (#10224)
Stephen Toub [Thu, 16 Mar 2017 04:55:11 +0000 (00:55 -0400)]
Fix Convert.FromBase64CharArray with empty array (#10224)

7 years ago[x86/Linux] Fix NativeCallableTest (#10060)
Evgeny Pavlov [Thu, 16 Mar 2017 04:30:37 +0000 (07:30 +0300)]
[x86/Linux] Fix NativeCallableTest (#10060)

* [x86/Linux] Fix NativeCallableTest

* Move m_cbActualArgSize adjustment outside if statement

* [x86/Linux] Adjust m_cbActualArgSize in case pStubMD == NULL

* [x86/Linux] Move m_cbActualArgSize calculation to #else part of '#ifdef _TARGET_X86_'

* [x86/Linux] Remove redundant computations, add comments for m_cbActualArgSize meaning

7 years agoMerge pull request #10168 from eerhardt/PortablePDBs
Eric Erhardt [Thu, 16 Mar 2017 04:25:55 +0000 (23:25 -0500)]
Merge pull request #10168 from eerhardt/PortablePDBs

Make portable PDBs on Unix instead of no symbols at all.

7 years agoEnable use of Volatile<T> on arm64 to get correct memory consistency (#10212)
Rahul Kumar [Thu, 16 Mar 2017 04:11:22 +0000 (21:11 -0700)]
Enable use of Volatile<T> on arm64 to get correct memory consistency (#10212)

7 years agoClean up fcall.h (#10158)
Jonghyun Park [Thu, 16 Mar 2017 04:05:56 +0000 (13:05 +0900)]
Clean up fcall.h (#10158)

7 years agoReorder stack arguments on reverse P/Invoke (#10217)
Jonghyun Park [Thu, 16 Mar 2017 04:05:30 +0000 (13:05 +0900)]
Reorder stack arguments on reverse P/Invoke (#10217)

7 years ago[x86/Linux] Fix IL_STUB_PInvoke with RetBuf (#10144)
Hanjoung Lee [Thu, 16 Mar 2017 03:29:34 +0000 (12:29 +0900)]
[x86/Linux] Fix IL_STUB_PInvoke with RetBuf (#10144)

* [x86/Linux] Fix IL_STUB_PInvoke with RetBuf

Fix calling convention and IL_STUB_PInvoke for native functions
which was problematic for native functions that has
a RetBuf argument(struct size <= 8) on x86/Linux.

Fix #10027

7 years agoMerge pull request #10218 from dotnet/revert-10213-buildType
William Godbe [Thu, 16 Mar 2017 01:16:25 +0000 (18:16 -0700)]
Merge pull request #10218 from dotnet/revert-10213-buildType

Revert "Add BuildType to helixpublish.proj"

7 years agoMerge pull request #10219 from dotnet/revert-10210-distroRid
William Godbe [Thu, 16 Mar 2017 01:16:06 +0000 (18:16 -0700)]
Merge pull request #10219 from dotnet/revert-10210-distroRid

Revert "Make user specify RID for publishing test native bins into"

7 years agoRevert "Make user specify RID for publishing test native bins into"
William Godbe [Thu, 16 Mar 2017 01:15:56 +0000 (18:15 -0700)]
Revert "Make user specify RID for publishing test native bins into"

7 years agoRevert "Add BuildType to helixpublish.proj"
William Godbe [Thu, 16 Mar 2017 01:15:28 +0000 (18:15 -0700)]
Revert "Add BuildType to helixpublish.proj"

7 years agoMerge pull request #9876 from sdmaclea/PR-ARM64-ForeignThreadExceptionsNative
Rahul Kumar [Thu, 16 Mar 2017 00:46:48 +0000 (17:46 -0700)]
Merge pull request #9876 from sdmaclea/PR-ARM64-ForeignThreadExceptionsNative

[Arm64] Enable building ForeignThreadExceptionsNative

7 years agoFix ToTitleCase Functionality for Dutch Cultures (#10195)
Rion Williams [Thu, 16 Mar 2017 00:38:04 +0000 (19:38 -0500)]
Fix ToTitleCase Functionality for Dutch Cultures (#10195)

* Add Methods to Handle Dutch Titlecasing

Added the `IsDutchCulture` and `IsIjAtCurrentPosition` methods to handle
resolving a special-case for Dutch titlecasing, which should properly
capitalize any instances of "IJ" at the beginning of a titlecased word.

* Moved `IsDutchCase()` Call Into Local Variable

Moved the check for Dutch culture outside of the title-loop to avoid unnecessary evaluations.

* Performance Changes and Improvements to Dutch Titlecasing

Removed `IsDutchCulture()` method in favor of an inline approach relying
on the `StartsWith()` method; Remove the `IsIjAtCurrentPosition()`
method in favor of another inline approach to improve performance.

* Minor Formatting Change

Added space for `isDutchCulture` line, as it managed to disappear somewhere along the way.

7 years agoMerge pull request #10213 from wtgodbe/buildType
William Godbe [Thu, 16 Mar 2017 00:27:03 +0000 (17:27 -0700)]
Merge pull request #10213 from wtgodbe/buildType

Add BuildType to helixpublish.proj

7 years agoAdd BuildType to helixpublish.proj
wtgodbe [Thu, 16 Mar 2017 00:26:47 +0000 (17:26 -0700)]
Add BuildType to helixpublish.proj

7 years agoChange CoreCLR to use Sierra (#10173)
Matt Mitchell [Thu, 16 Mar 2017 00:06:54 +0000 (17:06 -0700)]
Change CoreCLR to use Sierra (#10173)

* Switch to full 10.12
* Disable query performance counter test

7 years agoMerge pull request #10210 from wtgodbe/distroRid
William Godbe [Wed, 15 Mar 2017 23:06:35 +0000 (16:06 -0700)]
Merge pull request #10210 from wtgodbe/distroRid

Make user specify RID for publishing test native bins into

7 years agoMerge pull request #10206 from wtgodbe/MultiQueue
William Godbe [Wed, 15 Mar 2017 23:04:47 +0000 (16:04 -0700)]
Merge pull request #10206 from wtgodbe/MultiQueue

Add support for Multiqueing jobs in Helix

7 years agoMigrate MethodBase.cs over to the shared partition. (#10202)
Atsushi Kanamori [Wed, 15 Mar 2017 22:52:05 +0000 (15:52 -0700)]
Migrate MethodBase.cs over to the shared partition. (#10202)

* Replace each member with CoreRt prose.

* Lightup IsConstructedGenericMethod

* Copy over CoreRt MethodBase.cs (this is now just a reordering)

* Move MethodBase.cs verbative over to shared partition.

* AAAAND.... it looks like this exercise exposed a bug in CoreRt.

* Resolved merge conflict

7 years agoMake user specify RID for publishing test native bins into
wtgodbe [Wed, 15 Mar 2017 22:49:20 +0000 (15:49 -0700)]
Make user specify RID for publishing test native bins into

7 years agoMove System.Convert code to shared partition (#10178)
Alex Perovich [Wed, 15 Mar 2017 22:42:02 +0000 (17:42 -0500)]
Move System.Convert code to shared partition (#10178)

* Move System.Convert code to shared partition
* Use ReferenceEquals for type equality

7 years agoAdd support for Multiqueing jobs in Helix
wtgodbe [Wed, 15 Mar 2017 21:39:41 +0000 (14:39 -0700)]
Add support for Multiqueing jobs in Helix

7 years agoMerge pull request #10196 from wtgodbe/fixHelix
William Godbe [Wed, 15 Mar 2017 21:35:19 +0000 (14:35 -0700)]
Merge pull request #10196 from wtgodbe/fixHelix

Build Targeting Pack after restoring packages

7 years agoPrepare MethodBase.cs for migration to shared partition. (#10194)
Atsushi Kanamori [Wed, 15 Mar 2017 19:55:21 +0000 (12:55 -0700)]
Prepare MethodBase.cs for migration to shared partition. (#10194)

* Clone the files w/out changes.

* Distill each file to its intended subset.

* Minimize usings.

* Renamed to *.CoreClr.cs - extended free car wash to fix the nits.

7 years agoBuild Targeting Pack after restoring packages
wtgodbe [Wed, 15 Mar 2017 19:05:21 +0000 (12:05 -0700)]
Build Targeting Pack after restoring packages

7 years agoMerge pull request #10166 from alpencolt/ryu-arm-arr-tests
Bruce Forstall [Wed, 15 Mar 2017 18:01:56 +0000 (11:01 -0700)]
Merge pull request #10166 from alpencolt/ryu-arm-arr-tests

Added Array tests to CodeGenBringUpTests

7 years agoAdd support for testing via ILLINK
Swaroop Sridhar [Wed, 15 Mar 2017 17:40:25 +0000 (10:40 -0700)]
Add support for testing via ILLINK

Add support for testing via ILLINK

This commit has the following changes:
1) Setup the testing infrastructure to run the CoreCLR tests after linking through ILLinker
    `runtest.cmd /link <path-to-illink.exe>`
2) The linker is taken as an argument for runtest.cmd, typically the corebuild of
    https://github.com/mono/linker
3) Tests are run by linking the test binaries and all libraries except `System.Private.Corelib.dll`
4) For tests that use reflection, setup Reflection roots in source directories as `<test>.reflect.xml`

7 years agoSupport bracket enclosed names in TZ POSIX rules
Eric Erhardt [Tue, 14 Mar 2017 17:49:43 +0000 (12:49 -0500)]
Support bracket enclosed names in TZ POSIX rules

The POSIX time zone rules at the end of a tzfile have been updated to allow digits, plus signs and minus signs in the time zone names by enclosing the name in `<` and `>` characters. TimeZoneInfo's parsing logic was written using an older version of the spec, so it didn't have support for this format.

Fix https://github.com/dotnet/corefx/issues/16962

7 years agoReplace MemberInfo.cs with the CoreRt version and move to shared partition. (#10167)
Atsushi Kanamori [Wed, 15 Mar 2017 13:40:24 +0000 (06:40 -0700)]
Replace MemberInfo.cs with the CoreRt version and move to shared partition. (#10167)

* Move file verbatim.

* Port over CoreRT style sans reordering.

* Final replacement with CoreRt file.

7 years agoAdded Array tests to CodeGenBringUpTests
Alexander Soldatov [Tue, 14 Mar 2017 13:34:39 +0000 (16:34 +0300)]
Added Array tests to CodeGenBringUpTests

7 years agoMerge pull request #10145 from hqueue/arm/ryujit/shiftrotate_decomposed_long
Bruce Forstall [Wed, 15 Mar 2017 04:27:57 +0000 (21:27 -0700)]
Merge pull request #10145 from hqueue/arm/ryujit/shiftrotate_decomposed_long

[Ryujit/ARM32] Support shift and rotate for decomposed long

7 years agoJIT: preliminaries to improve types (#10172)
Andy Ayers [Wed, 15 Mar 2017 02:45:10 +0000 (19:45 -0700)]
JIT: preliminaries to improve types (#10172)

Refactor the logic in `impDevirtualizeCall` so that the part that determines
the type of a tree for ref types is now a new utility method that can be called
elsewhere.

Update the utility to examine calls more closely. For inline candidates that
return shared types, try and use the context to get to the unshared version of the
type. For calls that are not inline candidates, look at the type in the signature
available to the jit w/o context.

Call the utility when we've created a temp for an inlinee's argument and the
argument is not modified in the inlinee body. If we already thought we knew the
type of the temp exactly, ensure that this new information agrees.

Rework the logic in `impDevirtualizeCall` in anticipation of interface call
devirtualization. Update the diagnostic stream to indicate the kind of call
devirtualized and the primary reason why devirtualization happened.
Avoid fetching class and method names unless they're going to be used. Likewise
try not to fetch attributes if we already have them on hand.

7 years agoMerge pull request #9276 from benaadams/sealed-encodings
Stephen Toub [Tue, 14 Mar 2017 23:59:24 +0000 (19:59 -0400)]
Merge pull request #9276 from benaadams/sealed-encodings

Support Encoding devirtualization

7 years agoMerge pull request #10152 from jashook/assert_pcodes_pcodesstart_lt_256
Jarret Shook [Tue, 14 Mar 2017 23:27:28 +0000 (16:27 -0700)]
Merge pull request #10152 from jashook/assert_pcodes_pcodesstart_lt_256

[Arm64] Always add UWC_END

7 years agoMerge pull request #10023 from parjong/fix/clr_abi
Bruce Forstall [Tue, 14 Mar 2017 23:07:35 +0000 (16:07 -0700)]
Merge pull request #10023 from parjong/fix/clr_abi

Update CLR ABI PSPSym Section

7 years agoMerge pull request #10171 from pgavlin/TestWrapperTimeouts
Pat Gavlin [Tue, 14 Mar 2017 21:12:56 +0000 (14:12 -0700)]
Merge pull request #10171 from pgavlin/TestWrapperTimeouts

Do not wait on std{out,err} when a test times out.

7 years agoMerge pull request #10176 from wtgodbe/BuildToolsAgain
William Godbe [Tue, 14 Mar 2017 20:49:08 +0000 (13:49 -0700)]
Merge pull request #10176 from wtgodbe/BuildToolsAgain

Update Buildtools Version

7 years agoMerge pull request #10175 from wtgodbe/NonWindowsTargetingPack
William Godbe [Tue, 14 Mar 2017 20:48:46 +0000 (13:48 -0700)]
Merge pull request #10175 from wtgodbe/NonWindowsTargetingPack

Copy Targeting Pack files into Core_Root for Non-Windows

7 years agoFix tz rules (#10169)
Tarek Mahmoud Sayed [Tue, 14 Mar 2017 19:12:04 +0000 (12:12 -0700)]
Fix tz rules (#10169)

* Fix the TZ Rule data on Linux

On Linux when the caller ask for the TZ adjustment rules we convert the internal stored rule data from UTC to local time. we used to TZI.Convert which is wrong because calculating the start the daylight start time should always not include the daylight delta because we didn't start the daylight saving yet. and calculating the end of daylight should always include the daylight delta because we were in the daylight saving period.

The fix here is manually calculating the start and end of the daylight saving inside the rule

* Revert the comment change

* Add a comment

7 years agoUpdate Buildtools Version
wtgodbe [Tue, 14 Mar 2017 19:10:29 +0000 (12:10 -0700)]
Update Buildtools Version

7 years agoCopy Targeting Pack files into Core_Root for Non-Windows
wtgodbe [Tue, 14 Mar 2017 19:01:57 +0000 (12:01 -0700)]
Copy Targeting Pack files into Core_Root for Non-Windows

7 years agoDo not wait on std{out,err} when a test times out.
Pat Gavlin [Tue, 14 Mar 2017 17:05:26 +0000 (10:05 -0700)]
Do not wait on std{out,err} when a test times out.

The test wrapper currently waits on each of the process, stdout copy,
and stderr copy in turn. This makes it difficult to determine whether
or not the test did in fact time out, as the time in which it may
write to its output streams is effectively twice or thrice the
time used to determine success or failure (i.e. the process wait
timeout). This can cause situations like what we've seen in #10076,
where the harness reports that the process timed out but the test's
output indicates a successful run.

This change only waits on stdout/stderr if the process completes within
the time allotted; otherwise it cancels the copies and promptly reports
the timeout.

7 years agoFix #9457
jashook [Mon, 13 Mar 2017 23:15:10 +0000 (16:15 -0700)]
Fix #9457

To optimize code size we only added a UWC_END code if the last code in
uecMem does not equal UWC_END. However, the uec codes are variable sized
and allow any value to follow the code. Therefore, the value has the
small possibility to equal the value of UWC_END (0x4e on arm64
and 0xFF on arm32). Which incorrectly leaves the unwind array
unterminated.

7 years agoMake portable PDBs on Unix instead of no symbols at all.
Eric Erhardt [Tue, 14 Mar 2017 15:34:08 +0000 (10:34 -0500)]
Make portable PDBs on Unix instead of no symbols at all.

7 years agoIgnore FileStream.FlushWriteBuffer failures during finalization
Stephen Toub [Tue, 14 Mar 2017 12:30:24 +0000 (08:30 -0400)]
Ignore FileStream.FlushWriteBuffer failures during finalization

7 years agoMerge pull request #10147 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Tue, 14 Mar 2017 04:56:44 +0000 (21:56 -0700)]
Merge pull request #10147 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-25113-03, beta-25114-01, respectively (master)

7 years agoMerge pull request #9853 from hqueue/arm/ci_legs
Gaurav Khanna [Tue, 14 Mar 2017 04:56:31 +0000 (21:56 -0700)]
Merge pull request #9853 from hqueue/arm/ci_legs

[ARM/CI] Add manual triggering CI for arm and armel

7 years agoOptimize Span.Clear() on AMD64 (#10110)
Xiangyang (Mark) Guo [Tue, 14 Mar 2017 03:23:32 +0000 (20:23 -0700)]
Optimize Span.Clear() on AMD64 (#10110)

* optimize Span.Clear() by using initblk

7 years agoUpdate CoreClr, CoreFx to beta-25113-03, beta-25114-01, respectively
dotnet-bot [Tue, 14 Mar 2017 02:18:16 +0000 (02:18 +0000)]
Update CoreClr, CoreFx to beta-25113-03, beta-25114-01, respectively

7 years agoMerge pull request #10155 from BruceForstall/CallMorphDoc
Bruce Forstall [Tue, 14 Mar 2017 02:06:40 +0000 (19:06 -0700)]
Merge pull request #10155 from BruceForstall/CallMorphDoc

Add documentation on RyuJIT call morphing

7 years agoMerge pull request #10153 from adityamandaleeka/remove_stress_thread
Aditya Mandaleeka [Tue, 14 Mar 2017 01:53:34 +0000 (18:53 -0700)]
Merge pull request #10153 from adityamandaleeka/remove_stress_thread

Remove STRESS_THREAD

7 years agoMerge pull request #10073 from adityamandaleeka/handle_types_to_enum_1
Aditya Mandaleeka [Tue, 14 Mar 2017 01:42:57 +0000 (18:42 -0700)]
Merge pull request #10073 from adityamandaleeka/handle_types_to_enum_1

Replace HNDTYPE defines with enum

7 years agoAdd documentation on RyuJIT call morphing
Bruce Forstall [Tue, 14 Mar 2017 01:33:43 +0000 (18:33 -0700)]
Add documentation on RyuJIT call morphing

7 years agoImprove LIR dumping (#10140)
Bruce Forstall [Tue, 14 Mar 2017 01:33:06 +0000 (18:33 -0700)]
Improve LIR dumping (#10140)

1. Use the LIR node dumper to display nodes to be generated by
codegen, since we're in LIR form at that point. Add a new
"prefix message" argument to allow "Generating: " to prefix all
such lines.
2. Fix off-by-one error in LIR dump due to `#ifdef` versus `#if`.
3. Remove extra trailing line for each LIR node. This interfered
with #1. But I always thought it was unnecessarily verbose; I don't
believe there is any ambiguity without that extra space.
4. Add dTreeLIR()/cTreeLIR() functions for use in the debugger.

7 years agoMerge pull request #10074 from wtgodbe/ProjectJson
William Godbe [Tue, 14 Mar 2017 01:26:46 +0000 (18:26 -0700)]
Merge pull request #10074 from wtgodbe/ProjectJson

Pick up new CoreFX packages and abandon old ones

7 years agoSystem.Diagnostics.Debugger.Break() should NOT be inlined. (#10151)
Mike McLaughlin [Tue, 14 Mar 2017 01:17:43 +0000 (18:17 -0700)]
System.Diagnostics.Debugger.Break() should NOT be inlined. (#10151)

Breaks debugger tests.

7 years agoAdd changes to emitMaxStackDepth and fgPtrArgCntMax to JitDump (#10130)
Bruce Forstall [Tue, 14 Mar 2017 00:42:39 +0000 (17:42 -0700)]
Add changes to emitMaxStackDepth and fgPtrArgCntMax to JitDump (#10130)

It is useful to see when these are changing.

7 years agoConvert GenTree* to GenTreeCall* as much as possible (#10132)
Bruce Forstall [Tue, 14 Mar 2017 00:42:08 +0000 (17:42 -0700)]
Convert GenTree* to GenTreeCall* as much as possible (#10132)

This simplifies reading the code, and improves the debugging experience.

7 years agoMerge pull request #10113 from briansull/ibc-readytorun
Brian Sullivan [Tue, 14 Mar 2017 00:22:00 +0000 (17:22 -0700)]
Merge pull request #10113 from briansull/ibc-readytorun

Support for IBC profiling for ReadyToRun images

7 years agoReplace HNDTYPE defines with enum in gcinterface header.
Aditya Mandaleeka [Thu, 9 Mar 2017 02:40:12 +0000 (18:40 -0800)]
Replace HNDTYPE defines with enum in gcinterface header.

7 years agoRemove STRESS_THREAD.
Aditya Mandaleeka [Mon, 13 Mar 2017 23:17:24 +0000 (16:17 -0700)]
Remove STRESS_THREAD.

7 years agoBuild Linux altjit for x86 and amd64 (#10120)
Bruce Forstall [Mon, 13 Mar 2017 23:32:15 +0000 (16:32 -0700)]
Build Linux altjit for x86 and amd64 (#10120)

Enable Windows hosted, Linux target amd64 altjit

With this change, we build a JIT that runs on Windows amd64
and targets Linux amd64, as an altjit named linuxnonjit.dll.
This is useful for debugging, or generating asm code or diffs.
You can even easily create Windows/non-Windows asm diffs
(either to compare the asm, or compare the generated code size).

For this to work, the JIT-EE interface method
getSystemVAmd64PassStructInRegisterDescriptor() was changed
to always be built in, by defining `FEATURE_UNIX_AMD64_STRUCT_PASSING_ITF`
in all AMD64 builds. The `_ITF` suffix indicates that this is
functionality specific to implementing the JIT-EE interface
contract. There were many places in the VM that used this
interchangeably with `FEATURE_UNIX_AMD64_STRUCT_PASSING`. Now,
`FEATURE_UNIX_AMD64_STRUCT_PASSING` means code in the VM needed
to implement this feature, but not required to implement the
JIT-EE interface contract. In particular, MethodTables compute
and cache the "eightbyte" info of structs when loading a type.
This is not done when only `FEATURE_UNIX_AMD64_STRUCT_PASSING_ITF`
is set, to avoid altering MethodTable behavior on non-Unix
AMD64 builds. Instead, if `getSystemVAmd64PassStructInRegisterDescriptor()`
is called on a non-Unix build (by the altjit), the `ClassifyEightBytes()`
function is called, and nothing is cached. Hopefully (though it was
hard for me to guarantee by observation), calling `ClassifyEightBytes()`
does not have any side effects on MethodTables. It doesn't really matter,
since if called for altjit, we don't care too much about running.

The previously used `PLATFORM_UNIX` define is now insufficient.
I introduced the `#define` macros `_HOST_UNIX_` to indicate the
JIT being built will run on Unix, and `_TARGET_UNIX_` to indicate
the JIT is generating code targeting Unix. Some things were
converted to use the `UNIX_AMD64_ABI` define, which makes more
sense.

7 years agoMerge pull request #10129 from BruceForstall/AdjustStackLevel
Bruce Forstall [Mon, 13 Mar 2017 23:17:18 +0000 (16:17 -0700)]
Merge pull request #10129 from BruceForstall/AdjustStackLevel

Move adjustments to genStackLevel into functions

7 years agoMerge pull request #10150 from wtgodbe/SupplementalPayload
William Godbe [Mon, 13 Mar 2017 23:13:00 +0000 (16:13 -0700)]
Merge pull request #10150 from wtgodbe/SupplementalPayload

Re-insert Supplemental Payload into Helix payload

7 years agoPick up new CoreFX packages and abandon old ones
wtgodbe [Wed, 22 Feb 2017 20:35:27 +0000 (12:35 -0800)]
Pick up new CoreFX packages and abandon old ones

7 years agoRe-insert Supplemental Payload into Helix payload
wtgodbe [Mon, 13 Mar 2017 21:51:39 +0000 (14:51 -0700)]
Re-insert Supplemental Payload into Helix payload

7 years agoMerge pull request #10072 from pgavlin/gh10022
Pat Gavlin [Mon, 13 Mar 2017 19:59:49 +0000 (12:59 -0700)]
Merge pull request #10072 from pgavlin/gh10022

Fix some cross-thread memory accesses in a JIT test.

7 years agoWork for IBC profiling with ReadyToRun images
Brian Sullivan [Wed, 8 Mar 2017 02:58:11 +0000 (18:58 -0800)]
Work for IBC profiling with ReadyToRun images

Incremented ReadyToRun version to 2.2
Implemented caching for IsInstrumented using IS_INSTRUMENTED_UNSET
Added method Module::InitializeForProfiling()
Added full support for method profile counts in ReadyToRun image

7 years agoMerge pull request #10092 from tannergooding/vs2017
Tanner Gooding [Mon, 13 Mar 2017 19:08:20 +0000 (12:08 -0700)]
Merge pull request #10092 from tannergooding/vs2017

Updating tests/runtest.cmd to use delayed expansion for instances of `_msbuildexe`

7 years agoAdd 3PN entry (#10146)
Rich Lander [Mon, 13 Mar 2017 18:35:35 +0000 (11:35 -0700)]
Add 3PN entry (#10146)

7 years agoMerge pull request #10090 from adiaaida/crossgenAllAssemblies
Michelle McDaniel [Mon, 13 Mar 2017 18:09:48 +0000 (11:09 -0700)]
Merge pull request #10090 from adiaaida/crossgenAllAssemblies

Crossgen all assemblies for throughput perf

7 years agoMerge pull request #10083 from hqueue/arm/ryujit/decomposed_long_fix
Bruce Forstall [Mon, 13 Mar 2017 16:38:39 +0000 (09:38 -0700)]
Merge pull request #10083 from hqueue/arm/ryujit/decomposed_long_fix

[Ryujit/ARM32] Fix wrong comparion

7 years agoMerge pull request #10095 from jashook/update_arm64_exclusions
Jarret Shook [Mon, 13 Mar 2017 16:26:16 +0000 (09:26 -0700)]
Merge pull request #10095 from jashook/update_arm64_exclusions

Update arm64 exclusions

7 years agoMerge pull request #10125 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Mon, 13 Mar 2017 16:18:51 +0000 (09:18 -0700)]
Merge pull request #10125 from dotnet-bot/master-UpdateDependencies

Update CoreClr to beta-25113-01 (master)

7 years agoUpdating tests/runtest.cmd to use delayed expansion for instances of `_msbuildexe`
Tanner Gooding [Fri, 10 Mar 2017 18:11:23 +0000 (10:11 -0800)]
Updating tests/runtest.cmd to use delayed expansion for instances of `_msbuildexe`

7 years ago[Ryujit/ARM32] Support shift and rotate for decomposed long
Hyung-Kyu Choi [Mon, 13 Mar 2017 13:24:00 +0000 (22:24 +0900)]
[Ryujit/ARM32] Support shift and rotate for decomposed long

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
7 years agoMerge pull request #10067 from mikedn/oak-no-throw-equals
Joseph Tremoulet [Mon, 13 Mar 2017 14:15:18 +0000 (10:15 -0400)]
Merge pull request #10067 from mikedn/oak-no-throw-equals

Fix AssertionDsc::Equals OAK_NO_THROW's handling

7 years agoMerge pull request #10105 from JonHanna/corefx16566
Atsushi Kanamori [Mon, 13 Mar 2017 13:58:28 +0000 (06:58 -0700)]
Merge pull request #10105 from JonHanna/corefx16566

Rename Type.IsSzArray to Type.IsSZArray and make public.