Tanner Gooding [Mon, 25 Dec 2017 02:39:57 +0000 (18:39 -0800)]
Adding tests for the SSE Set, SetAll, and SetZero intrinsics
Tanner Gooding [Mon, 25 Dec 2017 01:15:54 +0000 (17:15 -0800)]
Adding support for the SSE Set, SetAll, and SetZero intrinsics
Tanner Gooding [Sun, 24 Dec 2017 04:45:49 +0000 (20:45 -0800)]
Adding tests for the SSE Reciprocal, ReciprocalSqrt, and Sqrt intrinsics
Tanner Gooding [Sun, 24 Dec 2017 04:38:29 +0000 (20:38 -0800)]
Adding support for the SSE Reciprocal, ReciprocalSqrt, and Sqrt intrinsics
Tanner Gooding [Fri, 15 Dec 2017 06:08:23 +0000 (22:08 -0800)]
Adding tests for the SSE compare eq, gt, ge, lt, le, ne, ord, and unord intrinsics
Adding tests for the SSE compare gt, and gte intrinsics
Tanner Gooding [Fri, 15 Dec 2017 05:41:03 +0000 (21:41 -0800)]
Adding support for the SSE compare eq, gt, ge, lt, le, ne, ord, and unord intrinsics
Tanner Gooding [Fri, 15 Dec 2017 05:11:48 +0000 (21:11 -0800)]
Adding tests for the And, AndNot, Divide, Max, Min, MoveHighToLow, MoveLowToHigh, Multiply, Or, Subtract, UnpackHigh, UnpackLow, and Xor SSE intrinsics.
Tanner Gooding [Fri, 15 Dec 2017 03:05:15 +0000 (19:05 -0800)]
Adding support for the SSE And, AndNot, Divide, Max, Min, MoveHighToLow, MoveLowToHigh, Multiply, Or, Subtract, UnpackHigh, UnpackLow, and Xor instructions.
Tanner Gooding [Fri, 15 Dec 2017 02:50:23 +0000 (18:50 -0800)]
Adding the remaining SSE intrinsics to hwintrinsiclistxarch.h
Tanner Gooding [Wed, 17 Jan 2018 00:02:38 +0000 (16:02 -0800)]
Merge pull request #14736 from tannergooding/roundsx
Enable CORINFO_INTRINSIC Round, Ceiling, and Floor to generate ROUNDSS and ROUNDSD
Steve MacLean [Wed, 17 Jan 2018 00:00:52 +0000 (19:00 -0500)]
[Arm64] Add arm64-intrinsics.md (#15343)
* [Arm64] Add arm64-intrinsics.md
* Revise arm64-intrinsics
Respond to feedback
Revise namespace recommendations
Add goals
Fix namespace vs. class issues
Add API review details
* Revise arm64-intrinsics doc
Respond to feedback
Add specific class table
Clean up typos and whitespace
* Revise review process proposal
* [Arm64] Add 8.2 extensions and cleanup
* Add Jscvt, Lrcpc ...
* Revise doc based on feedback
* Further doc revisions
* More review fixes
Tanner Gooding [Tue, 16 Jan 2018 23:06:28 +0000 (15:06 -0800)]
Merge pull request #15880 from tannergooding/hwintrin-containment
Mark emitIns_R_A and emitIns_R_R_A to be not defined for legacy backend
Jan Vorlicek [Tue, 16 Jan 2018 23:05:52 +0000 (00:05 +0100)]
Fix one missing check for NULL after malloc (#15877)
When making the last change to the numa.cpp, I have made a
mistake and forgotten to check return value of one of the mallocs.
This change fixes that and also changes the code pattern to use
goto for the cleanup purposes instead of the nested ifs.
Atsushi Kanamori [Tue, 16 Jan 2018 21:39:15 +0000 (13:39 -0800)]
Small fix to underlying CoreCLR support for new string slicing overloads (#15876)
https://github.com/dotnet/corefx/issues/24072
Add the parameter name to the exceptions like other "Slice"-like apis do.
Tanner Gooding [Tue, 16 Jan 2018 21:12:39 +0000 (13:12 -0800)]
Mark emitIns_R_A and emitIns_R_R_A to be not defined for legacy backend
dotnet-maestro-bot [Tue, 16 Jan 2018 18:19:53 +0000 (12:19 -0600)]
Update CoreClr, CoreFx, PgoData to preview1-26116-03, preview1-26116-03, master-
20180116-0045, respectively (#15859)
Jan Vorlicek [Tue, 16 Jan 2018 04:24:45 +0000 (05:24 +0100)]
Fix mismatch between new and free in numa.cpp (#15870)
* Fix mismatch between new and free in numa.cpp
One of the allocations in the numa.cpp uses new to allocate an array,
but it incorrectly uses free to free the memory. This change fixes it.
Jan Vorlicek [Tue, 16 Jan 2018 04:20:41 +0000 (05:20 +0100)]
Fix Android build (#15868)
There were the following issues:
* The current versions of packages available at the termux site were obsolete.
* The libintl.h was removed from the Android SDK, so the dgettext and bindtextdomain
are not available. But they were dummy implementations before anyways, so we can remove
their usage on Android.
* The detection of the ucol_setMaxVariable needs to be done using the
check_cxx_symbol_exists instead of check_symbol_exists, since on Android, the
ICU libraries now depend on C++ runtime.
* The SIZE_T_MAX is already defined in Android headers, so the definition in cgroup.cpp was
colliding with it.
* The pthread_condattr_setclock detection was using pthread library, but on Android, it is
located in the "c" library instead. So it was not being detected.
Jan Kotas [Tue, 16 Jan 2018 03:43:07 +0000 (19:43 -0800)]
Delete BasicSpanTest.cs (#15860)
It is redundant with CoreFX Span tests now
Tanner Gooding [Wed, 6 Dec 2017 03:49:20 +0000 (19:49 -0800)]
Add tests for Math.Ceiling, Floor, and Round.
Tanner Gooding [Sat, 28 Oct 2017 16:35:28 +0000 (09:35 -0700)]
Adding SSE4.1 intrinsic support for Round, Ceiling, and Floor.
dotnet-maestro-bot [Mon, 15 Jan 2018 01:07:19 +0000 (19:07 -0600)]
Update CoreClr, CoreFx, PgoData to preview1-26114-02, preview1-26114-03, master-
20180114-0044, respectively (#15856)
Jan Kotas [Sat, 13 Jan 2018 22:13:38 +0000 (14:13 -0800)]
Merge pull request #15855 from jkotas/revert
Revert "Remove relocations for MethodTable::m_pParentMethodTable for Linux ARM"
dotnet-maestro-bot [Sat, 13 Jan 2018 18:13:02 +0000 (12:13 -0600)]
Update CoreClr, CoreFx, PgoData to preview1-26113-02, preview1-26113-03, master-
20180113-0045, respectively (#15853)
Jan Kotas [Sat, 13 Jan 2018 08:40:45 +0000 (00:40 -0800)]
Revert "Remove relocations for MethodTable::m_pParentMethodTable for Linux ARM"
This reverts commit
cf1fb9e17fc8b6ee849edab5a696d0ec5c6eadd2.
Jan Kotas [Sat, 13 Jan 2018 02:30:38 +0000 (18:30 -0800)]
Mark legacy ByRef-like types as ref in sources (#15846)
Delete special casing in the type loader
Bruce Forstall [Sat, 13 Jan 2018 01:56:10 +0000 (17:56 -0800)]
Merge pull request #15850 from BruceForstall/FastGCStress
Do fast GC stress on some extreme tests
Bruce Forstall [Sat, 13 Jan 2018 01:53:52 +0000 (17:53 -0800)]
Merge pull request #15822 from BruceForstall/FixWriteBarrierHelperKills
Fix ARM GCStress hole with byref write barrier helper
Anirudh Agnihotry [Sat, 13 Jan 2018 01:40:05 +0000 (17:40 -0800)]
Added Append(Stringbuilder,int,int) and Append(StringBuilder) overlaod apis (#15786)
Added Append(Stringbuilder,int,int) and Append(StringBuilder) overlaod apis
Bruce Forstall [Fri, 12 Jan 2018 23:12:48 +0000 (15:12 -0800)]
Do fast GC stress on some extreme tests
Set COMPlus_FastGCStress=1 to avoid GC in the
`CoreCLR!JIT_Stelem_Ref => CoreCLR!ArrayStoreCheck` path.
Tanner Gooding [Fri, 12 Jan 2018 22:56:20 +0000 (14:56 -0800)]
Merge pull request #15804 from tannergooding/hwintrin-containment
Adding basic containment support to the x86 HWIntrinsics
Adam Sitnik [Fri, 12 Jan 2018 21:54:38 +0000 (22:54 +0100)]
updated docs: how to run against local core clr build (#15841)
* updated docs: how to run against local core clr build
* split the running docs into 3 files to make it simpler to understand
Konstantin Baladurin [Fri, 12 Jan 2018 16:11:05 +0000 (19:11 +0300)]
LoaderHeap: remove LHF_ZEROINIT option.
This option was used for UMEntryThunkCode::Poison. Now we use own free list
to store freed thunks and don't return allocated memory to the LoaderHeap.
So reused thunks are always uninitialized.
Konstantin Baladurin [Fri, 12 Jan 2018 08:46:48 +0000 (11:46 +0300)]
dllimportcallback: remove code for CallbackOnCollectedDelegate MDA
Konstantin Baladurin [Fri, 12 Jan 2018 15:55:10 +0000 (18:55 +0300)]
UMEntryThunk: store freed thunks into FIFO free list
Use free list to delay reusing deleted thunks. It improves
collected delegate calls diagnostic.
Konstantin Baladurin [Wed, 10 Jan 2018 15:26:01 +0000 (18:26 +0300)]
Improve UMEntryThunkCode::Poison method.
Improve UMEntryThunkCode::Poison to produce diagnostic message
when collected delegate was called.
dotnet-maestro-bot [Fri, 12 Jan 2018 20:38:25 +0000 (14:38 -0600)]
Update CoreClr, CoreFx, PgoData to preview1-26112-01, preview1-26112-01, master-
20180112-0034, respectively (#15837)
Tanner Gooding [Fri, 12 Jan 2018 01:53:32 +0000 (17:53 -0800)]
Fixing the hwintrin codgen containment checks
Tanner Gooding [Thu, 11 Jan 2018 22:03:39 +0000 (14:03 -0800)]
Adding asserts that values are as expected for certain containment checks
Tanner Gooding [Tue, 9 Jan 2018 17:51:40 +0000 (09:51 -0800)]
Adding basic containment support to the x86 HWIntrinsics
Jarret Shook [Fri, 12 Jan 2018 15:36:03 +0000 (07:36 -0800)]
Merge pull request #15815 from jashook/fix_helix_publish
Fix overwriting os/arch when publishing to helix
jashook [Wed, 10 Jan 2018 18:52:27 +0000 (10:52 -0800)]
Fix overwriting os/arch when publishing to helix
Michelle McDaniel [Fri, 12 Jan 2018 15:31:56 +0000 (07:31 -0800)]
Convert run-xunit-perf to py script (#15568)
* Convert run-xunit-perf to python script
This change merges the two run-xunit-perf scripts (.sh and .cmd) into
one unified python script and updates the pipeline job to use the
pythong script. This change also updates the linux jobs to use the new
build-tests.sh generatelayoutonly command so that we don't need to pull
down corefx from the cloud anymore. The unified python script enables us
to more easily update both linux scripting and windows scripting at the
same time so that one does not lag behind the other (such as when we add
new configurations or options like slicing). This change also turns
linux testing back on by default for PRs.
Bruce Forstall [Fri, 12 Jan 2018 07:27:20 +0000 (23:27 -0800)]
Merge pull request #15835 from BruceForstall/FixGCKeepAlive
Fix GC.KeepAlive test case
Bruce Forstall [Fri, 12 Jan 2018 07:26:02 +0000 (23:26 -0800)]
Merge pull request #15832 from BruceForstall/DisableNoGCInStress
Disable NoGC test in GCStress test runs
dotnet-maestro-bot [Fri, 12 Jan 2018 02:01:15 +0000 (20:01 -0600)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02411-04, preview1-26111-02, preview1-26111-02, master-
20180111-0041, respectively (#15807)
Sean Gillespie [Fri, 12 Jan 2018 00:43:03 +0000 (16:43 -0800)]
[Local GC] Introduce standalone eventing design document (#15570)
* Typing
* First draft
* Update the doc based on feedback
* Next iteration based on feedback
* Iteration feedback
Bruce Forstall [Fri, 12 Jan 2018 00:22:55 +0000 (16:22 -0800)]
Fix GC.KeepAlive test case
In the test, as written, a GC could sneak in between the GC.KeepAlive()
call and the subsequent line that checks whether the finalizer
has run, especially in GC stress modes. Simply move the GC.KeepAlive()
call down.
Bruce Forstall [Thu, 11 Jan 2018 23:28:52 +0000 (15:28 -0800)]
Disable NoGC test in GCStress test runs
Carol Eidt [Thu, 11 Jan 2018 18:19:40 +0000 (10:19 -0800)]
Merge pull request #15791 from dotnetrt/dstdstsrc
Refactor emitter::IsDstDstSrcAVXInstruction and emitter::IsDstSrcSrcAVXInstruction
Jacek Blaszczynski [Thu, 11 Jan 2018 17:33:32 +0000 (18:33 +0100)]
[Infrastructure/Win] Add C++ header files to Visual Studio clrjit project (#15775)
* Add C++ header files to Visual Studio clrjit project
* Add comment about script change impact and usage
Jacek Blaszczynski [Thu, 11 Jan 2018 12:29:26 +0000 (13:29 +0100)]
movhlps categorized as dstdstsrc
Ben Adams [Thu, 11 Jan 2018 09:10:35 +0000 (09:10 +0000)]
Allow CALLEE_IS_FORCE_INLINE precedent over CALLEE_DOES_NOT_RETURN (#14586)
Allow CALLEE_IS_FORCE_INLINE precedent over CALLEE_DOES_NOT_RETURN
dotnet bot [Thu, 11 Jan 2018 08:56:01 +0000 (00:56 -0800)]
Keep LowLevelDictionary for CoreRT for now (#15824)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Ben Adams [Thu, 11 Jan 2018 07:58:00 +0000 (07:58 +0000)]
Improve performance for Math.Abs (#15823)
* Improve perf for Math.Abs
* Inline Math.Abs
Bruce Forstall [Thu, 11 Jan 2018 07:12:02 +0000 (23:12 -0800)]
Fix non-Windows compile error
Jan Kotas [Thu, 11 Jan 2018 06:06:28 +0000 (22:06 -0800)]
Fix Obsolete on ReadOnlySpan Equals and GetHashCode methods (#15820)
* Fix Obsolete on ReadOnlySpan Equals and GetHashCode methods
* Delete unnecessary CLSCompliant attribute
Carol Eidt [Thu, 11 Jan 2018 03:57:16 +0000 (19:57 -0800)]
Merge pull request #15814 from CarolEidt/FixObj
Fix change to fgMorphBlockOperand
Bruce Forstall [Thu, 11 Jan 2018 00:24:31 +0000 (16:24 -0800)]
Fix ARM GCStress hole with byref write barrier helper
When unrolling a STOREOBJ, we can generate multiple consecutive
byref helper calls. This helper has a unique calling convention
where the dst and src addresses are modified by adding pointer
size to their original value (thus allowing consecutive helper
calls without reloading the dst/src addresses). So, for liveness
purposes, the helper call kills the dst/src values. However, for
GC purposes, it does not, as the registers still contain byref
pointers. We were, in the ARM case, reporting the r0/r1 registers
dead after the first call, so a GC didn't update them, and a
second call updated garbage.
In fixing this, I cleaned up the helper call kill handling a bit.
I also fixed and improved RyuJIT/x86 write barrier kill modeling.
Carol Eidt [Tue, 9 Jan 2018 23:56:25 +0000 (15:56 -0800)]
Fix change to fgMorphBlockOperand
My recent fix broke the `DYN_BLK` case. In addition to checking that types match, we *still* need to check that the sizes match.
This was caught by desktop testing. The test cases are somewhat complex, so I created a smaller repro.
Victor "Nate" Graf [Wed, 10 Jan 2018 23:25:34 +0000 (15:25 -0800)]
Fix incremental build by preventing nonchanging writes (#15817)
Fix incremental build by preventing non-changing writes in generated ETW source code
Jarret Shook [Wed, 10 Jan 2018 21:06:39 +0000 (13:06 -0800)]
Merge pull request #15784 from fiigii/hwci
Add new CI mode for Intel HW intrinsics
Atsushi Kanamori [Wed, 10 Jan 2018 20:32:07 +0000 (12:32 -0800)]
Underlying CoreCLR support for new string slicing overloads (#15811)
* Underlying CoreCLR support for new string slicing overloads
https://github.com/dotnet/corefx/issues/25254
These add the underlying support for the fast versions of
these extension methods.
* Underlying CoreCLR support for new string slicing overloads
https://github.com/dotnet/corefx/issues/24072
These add the underlying support for the fast versions of
these extension methods.
chcosta [Wed, 10 Jan 2018 19:48:17 +0000 (11:48 -0800)]
Add privaterun properties (#15816)
Jan Kotas [Wed, 10 Jan 2018 13:35:39 +0000 (05:35 -0800)]
Move System.Globalization.CultureData to shared CoreLib partition (#15805)
dotnet-maestro-bot [Wed, 10 Jan 2018 05:45:09 +0000 (23:45 -0600)]
Update CoreClr, CoreFx, PgoData to preview1-26109-03, preview1-26110-01, master-
20180109-0023, respectively (#15788)
Tarek Mahmoud Sayed [Wed, 10 Jan 2018 05:08:34 +0000 (21:08 -0800)]
Port servicing fix (#15802)
* Port the servicing fix
This is porting the servcing fix https://github.com/dotnet/coreclr/commit/
8ce622d569fae9feb160399db03dc2b86577be1b with a small change to get rid of unsafe code in CultureData per Jan recommendation
* remove un-needed lines
* rename the variable name as it is not a pointer anymore
Fei Peng [Wed, 10 Jan 2018 00:57:07 +0000 (16:57 -0800)]
Add new CI mode for Intel HW intrinsics
Jan Kotas [Wed, 10 Jan 2018 00:37:42 +0000 (16:37 -0800)]
Update the document for netcoreapp2.1
Jan Kotas [Wed, 10 Jan 2018 00:22:19 +0000 (16:22 -0800)]
Update links to nightly .NET Core SDK builds (#15799)
Carol Eidt [Wed, 10 Jan 2018 00:00:14 +0000 (16:00 -0800)]
Merge pull request #15724 from sdmaclea/PR-ARM64-VECTOR64
[Arm64] Add Vector64 HW Intrinsic support
Anirudh Agnihotry [Tue, 9 Jan 2018 23:30:29 +0000 (15:30 -0800)]
Adds StringBuilder.Equals(ReadOnlySpan<char>) Api (#15759)
Adds StringBuilder.Equals(ReadOnlySpan<char>) Api
Jacek Blaszczynski [Tue, 9 Jan 2018 21:58:00 +0000 (22:58 +0100)]
Address review feedback
Fei Peng [Tue, 9 Jan 2018 19:58:53 +0000 (11:58 -0800)]
fix corefx/#26230 (#15792)
José Rivero [Tue, 9 Jan 2018 15:46:39 +0000 (07:46 -0800)]
Fixing https://github.com/aspnet/JitBench/issues/80 (#15764)
- Issue was fixed with this: https://github.com/aspnet/JitBench/pull/82
- Set the UseSharedCompilation=false to avoid that the `VBCSCompiler.exe` stays running.
Jacek Blaszczynski [Tue, 9 Jan 2018 14:31:46 +0000 (15:31 +0100)]
Refactor emitter::IsDstDstSrcAVXInstruction function implementation
dotnet-maestro-bot [Tue, 9 Jan 2018 05:53:35 +0000 (23:53 -0600)]
Update CoreClr, CoreFx, PgoData to preview1-26108-06, preview1-26109-01, master-
20180108-1624, respectively (#15785)
dotnet-maestro-bot [Tue, 9 Jan 2018 00:33:25 +0000 (18:33 -0600)]
Update BuildTools, CoreClr, CoreFx to prerelease-02408-01, preview1-26108-02, preview1-26108-02, respectively (#15763)
Mike McLaughlin [Tue, 9 Jan 2018 00:13:27 +0000 (16:13 -0800)]
Fixed superpmi JIT debugging on desktop build. (#15773)
Fei Peng [Mon, 8 Jan 2018 20:40:24 +0000 (12:40 -0800)]
Update Intel hardware intrinsic APIs (#15601)
- add missing APIs
- fix generic names
- fix comments
- disambiguate with `using static`
Andy Ayers [Mon, 8 Jan 2018 16:44:14 +0000 (08:44 -0800)]
JIT: improve return types in cases with spill temps (#15766)
If the jit sees that an inlinee has multiple return sites or has gc ref locals
it will choose to return the inline result via a temp. The jit was not assigning
a type to that temp and so losing track of some type information.
So, for inlinees returning ref types, initially type the return spill temp with
the declared return type of the method.
When importing we may discover that particular return sites will return more
specific types. If all discovered return sites agree, we can update the return
type for the spill temp to match the consensus improved type.
This can lead to removal of some type checks and also to devirtualization.
Addresses issues discussed in #9908 and #15743.
Tanner Gooding [Sun, 7 Jan 2018 20:28:14 +0000 (12:28 -0800)]
Merge pull request #15772 from tannergooding/hwintrin-expand
Updating the x86 HWIntrinsic importer to not inline when returning gtNewMustThrowException
Tanner Gooding [Sat, 6 Jan 2018 17:07:08 +0000 (09:07 -0800)]
Updating the x86 HWIntrinsic importer to not inline when returning gtNewMustThrowException
Jan Kotas [Sat, 6 Jan 2018 17:14:22 +0000 (09:14 -0800)]
Move types to shared corelib partition (#15768)
- YieldAwaitable: Fixed readonly mismatch
- Comparer: Made public to fix https://github.com/dotnet/corefx/issues/25973
Justin Van Patten [Sat, 6 Jan 2018 17:12:16 +0000 (09:12 -0800)]
Cleanup Activator (#15767)
Brian Sullivan [Sat, 6 Jan 2018 04:17:25 +0000 (20:17 -0800)]
Merge pull request #15756 from briansull/fix-15671
Fix for 15671
Mike McLaughlin [Sat, 6 Jan 2018 02:14:21 +0000 (18:14 -0800)]
Change just-in-time debugging registry keys. (#15722)
From "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug" to "SOFTWARE\Microsoft\.NETCore\JITDebugging".
Sergey Andreenko [Sat, 6 Jan 2018 02:11:39 +0000 (18:11 -0800)]
ARM r2r fix. (#15758)
Do not trash CALLEE_SAVED register r4.
Use r12 that is CALLEE_TRASH.
Andy Ayers [Sat, 6 Jan 2018 01:47:09 +0000 (17:47 -0800)]
JIT: fix decompose long left shift for overshift cases (#15704)
Need to reduce the shift amount modulo 64 to match the helper and
`gtFoldExpr` behavior. Since reduced amount must be less than 64
we can remove handling for that case.
Also updating the arm LLSH helper.
Re-enable the test case disabled by #15567 and also enable for arm/arm64.
Closes #15566.
Brian Sullivan [Sat, 6 Jan 2018 01:34:21 +0000 (17:34 -0800)]
Proposed fix for 15671
If we are fetching an Array Length for an array ref that came from global memory
then for CSE safety we must use the conservative value number for both
Jan Kotas [Sat, 6 Jan 2018 01:14:09 +0000 (17:14 -0800)]
Simplify and unify EnumCalendars interop (#15762)
Windows was not allocating GCHandles, switch Unix to do the same.
Tanner Gooding [Sat, 6 Jan 2018 00:51:01 +0000 (16:51 -0800)]
Merge pull request #15639 from tannergooding/expand-hwintrin
Updating Compiler::impIntrinsic to always expand hardware intrinsics.
Andy Ayers [Sat, 6 Jan 2018 00:41:02 +0000 (16:41 -0800)]
JIT: fix issue with inline observations (#15713)
In DEBUG/CHECK builds the jit tries to keep track of failed inlines.
Because inlines can be rejected "early" (when the parent method
is being imported) as well as "late" (when their call site is encountered
by the inliner) there is a tracking mechanism to convey the early observations
that cause failures to be resurrected later on.
These observations sometimes didn't end up in the inline context, leading
to assertions when dumping methods.
Fix is to add a new way to propagate the earlier observation to the context
that bypasses some of the policy sanity checks and simply record the reason
that the inline failed.
Brian Sullivan [Sat, 6 Jan 2018 00:38:04 +0000 (16:38 -0800)]
Merge pull request #15760 from briansull/fix-budget
Fix issue where the unsigned value used for the the VN map select budget could underflow
Carol Eidt [Sat, 6 Jan 2018 00:22:13 +0000 (16:22 -0800)]
Merge pull request #15716 from CarolEidt/RefactorMinRegCount
Refactor minRegCount and eliminate auto
Carol Eidt [Thu, 4 Jan 2018 02:55:17 +0000 (18:55 -0800)]
Refactor minRegCount and eliminate auto
When building RefPositions in the TreeNodeInfoInit methods, it is very complex and messy to have the setting of the (debug-only) `minRegCandidateCount` spread all over. Instead, set them for all the RefPositions for a given node after they have been created.
This required the ability to create an iterator marking the end of the list, prior to creating the new ones.
In the process, eliminated the use of auto from lsra.cpp in the interest of strong typing, as well as avoiding the confusion of having things with `RefPosition` in their name that are actually iterators.
These changes originally caused failures with JitStressRegs because `getKillSetForNode()` had side effects - generating Kill `RefPosition`s for `MOD` & `DIV`. This is not actually necessary, and causes problems when the debug-only stress code was calling it *after* all the `RefPosition`s had been created. Also, this had the weird (existing) effect that duplicate kill `RefPosition`s were being generated in the stress case!
Brian Sullivan [Fri, 5 Jan 2018 19:43:42 +0000 (11:43 -0800)]
Fix issue where the unsigned value used for the the map select budget could underflow
resulting in an unlimited budget
Changed m_mapSelectBudget and budget to be a signed integer
Added an assert that ensures that the remaining budget is between [0..m_mapSelectBudget]
Change the test for running out of budge to be a <= zero test instead of an equal zero test.
Fixed the bug in the handling of phiArgs in VNForMapSelectWork
by adding a check if we exceeded our budget when processing the first phiArg.
Added a define for DEFAULT_MAP_SELECT_BUDGET
Justin Van Patten [Fri, 5 Jan 2018 22:53:21 +0000 (14:53 -0800)]
Cleanup AppDomain (#15748)
Remove dead code and various cleanup.
Jan Kotas [Fri, 5 Jan 2018 22:44:18 +0000 (14:44 -0800)]
Detect ByRefLike types using attribute (#15745)
* Detect ByRefLike types using attribute and improve error messages for their invalid use
Fixes #11371 and #15458
Sergey Andreenko [Fri, 5 Jan 2018 22:41:40 +0000 (14:41 -0800)]
fix COMPlus_JitHalt for arm32. (#15761)