platform/upstream/coreclr.git
7 years ago[ARM32/Linux] cross-architecture build errro: stub for crossgen (#8917)
Hyeongseok Oh [Mon, 23 Jan 2017 11:19:43 +0000 (20:19 +0900)]
[ARM32/Linux] cross-architecture build errro: stub for crossgen (#8917)

Fix union name in T_CONTEXT used by arm/stubs.cpp

7 years ago[x86/Linux] Enable FEATURE_EH_FUNCLETS (#8889)
Jonghyun Park [Mon, 23 Jan 2017 10:46:37 +0000 (19:46 +0900)]
[x86/Linux] Enable FEATURE_EH_FUNCLETS (#8889)

* [x86/Linux] (Partially) Enable FEATURE_EH_FUNCLETS

* Update CLR ABI Document

* Add TODO (for Funclet Prolog/Epilog Gen)

7 years agoReport by-ref-like types to the GC (SpanOfT) (#9034)
Koundinya Veluri [Mon, 23 Jan 2017 07:10:14 +0000 (23:10 -0800)]
Report by-ref-like types to the GC (SpanOfT) (#9034)

Report by-ref-like types to the GC (SpanOfT)

Fixes #8517

7 years agoRemove __GNUC__ version checks (#8978)
Jan Vorlicek [Sat, 21 Jan 2017 09:46:27 +0000 (10:46 +0100)]
Remove __GNUC__ version checks (#8978)

This change removes obsolete `__GNUC__` version checks at several places.
The minimum supported clang version is 3.5 and that generates __GNUC__
value of 4.

7 years agoDelete unused AppDomain{Setup} types/members (#8768)
James Ko [Sat, 21 Jan 2017 04:02:54 +0000 (23:02 -0500)]
Delete unused AppDomain{Setup} types/members (#8768)

* Delete unused AppDomain members
* Delete unused AppDomainSetup members

7 years agoMerge pull request #9027 from JosephTremoulet/Comment
Joseph Tremoulet [Sat, 21 Jan 2017 03:36:31 +0000 (22:36 -0500)]
Merge pull request #9027 from JosephTremoulet/Comment

Fix incorrect comment

7 years agoFix debugger launch race hitting breakpoints in startup code. (#8951)
Mike McLaughlin [Sat, 21 Jan 2017 01:46:06 +0000 (17:46 -0800)]
Fix debugger launch race hitting breakpoints in startup code. (#8951)

The attached flag was been set asynchronously relative to the DebugActiveProcess
returning.  This could cause a race where the initial module load notification being
missed/not sent to the debugger.

This fix sets the attached flag before any notifications sent during launch if the runtime was
launched/attached using the startup handshake after dbgshim tells the runtime to "continue"
when the runtime startup API callback returns.

Also fixes another race condition in dbgshim where EnumerateCLRs returns a NULL continue event
handle because the coreclr module was loaded but the g_hContinueStartupEvent wasn't initialized
on the runtime side yet. Changed the static initialization of g_hContinueStartupEvent to
INVALID_HANDLE_VALUE and the InternalEnumerateCLRs sleep/retry loop to retry when any of the
handles are INVALID_HANDLE_VALUE. This fixes the race only when you have the latest dbgshim
and coreclr binaries and the old/new mixes still function but don't fix the race.

7 years agoFix incorrect comment
Joseph Tremoulet [Fri, 20 Jan 2017 21:42:28 +0000 (16:42 -0500)]
Fix incorrect comment

Rewrite bogus reference to nonexistsent `m_HeapDef` to correctly refer to
`block->bbHeapDef`.  Also change "doesn't kill heap" to "doesn't kill heap
liveness" (since it still kills availability).

Also add clarifying comments where `bbHeapUse` and `bbHeapDef` are
declared.

7 years agoFixup Span<T> implementation to be more similar to the corefx one (#9028)
Jan Kotas [Sat, 21 Jan 2017 01:13:50 +0000 (17:13 -0800)]
Fixup Span<T> implementation to be more similar to the corefx one (#9028)

- Reorder methods, adjust comments and formatting to make it easier to see the diff with corefx
- Delete extra implicit conversion operator

7 years agoRemove PLATFORM_UNIX and FEATURE_PAL checks in PAL (#8982)
Jan Vorlicek [Fri, 20 Jan 2017 23:32:12 +0000 (00:32 +0100)]
Remove PLATFORM_UNIX and FEATURE_PAL checks in PAL (#8982)

This change removes all ifdefs for PLATFORM_UNIX and FEATURE_PAL
from PAL and also removes dead code that was never compiled in PAL
due to both of them being always defined for PAL.

7 years agoMerge pull request #8814 from YongseopKim/impl_genIntToIntCast
Carol Eidt [Fri, 20 Jan 2017 21:53:17 +0000 (13:53 -0800)]
Merge pull request #8814 from YongseopKim/impl_genIntToIntCast

[RyuJIT/ARM32]Implement NYI("Cast")

7 years agoMerge pull request #9008 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Fri, 20 Jan 2017 20:45:07 +0000 (12:45 -0800)]
Merge pull request #9008 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24920-03, beta-24919-06, respectively (master)

7 years agoUpdate CoreClr, CoreFx to beta-24920-03, beta-24919-06, respectively
dotnet-bot [Fri, 20 Jan 2017 17:25:57 +0000 (17:25 +0000)]
Update CoreClr, CoreFx to beta-24920-03, beta-24919-06, respectively

7 years agoMerge pull request #9004 from JosephTremoulet/MoreLessKillHeap
Joseph Tremoulet [Fri, 20 Jan 2017 12:20:09 +0000 (07:20 -0500)]
Merge pull request #9004 from JosephTremoulet/MoreLessKillHeap

More heap liveness fixes

7 years ago[GDB-JIT][Linux] Fix incorrect displaying of (s)byte and char in lldb (#9022)
Evgeny Pavlov [Fri, 20 Jan 2017 11:59:34 +0000 (14:59 +0300)]
[GDB-JIT][Linux] Fix incorrect displaying of (s)byte and char in lldb (#9022)

* [GDB-JIT] Initial support of typedef for correct displaying 'byte' and 'sbyte'

* [GDB-JIT] Add char typedef to show correct type in lldb

* Code cleanup

7 years ago[x86/Linux] Allow push/pop in funclet prolog and epilog (#9001)
Jonghyun Park [Fri, 20 Jan 2017 10:34:16 +0000 (19:34 +0900)]
[x86/Linux] Allow push/pop in funclet prolog and epilog (#9001)

* [x86/Linux] Allow Push/Pop in Funclet Prolog and Epilog

7 years ago[x86/Linux] Port 'TransitionFrame::UpdateRegDisplay' (#8964)
Jonghyun Park [Fri, 20 Jan 2017 10:33:06 +0000 (19:33 +0900)]
[x86/Linux] Port 'TransitionFrame::UpdateRegDisplay' (#8964)

* [x86/Linux] Port 'TransitionFrame::UpdateRegDisplay'

* Use different ControlPC/Esp values for WIN64EXCEPTIONS

7 years ago[x86/Linux] Port 'CallerStackFrame::FromRegDisplay' (#9021)
Jonghyun Park [Fri, 20 Jan 2017 09:30:49 +0000 (18:30 +0900)]
[x86/Linux] Port 'CallerStackFrame::FromRegDisplay' (#9021)

7 years agoImplement NYI(Cast) of codegen for Ryujit ARM32
Yongseop Kim [Wed, 4 Jan 2017 07:43:24 +0000 (16:43 +0900)]
Implement NYI(Cast) of codegen for Ryujit ARM32

Implement genIntToIntCast(), genFloatToFloatCast(),
genIntToFloatCast() and genFloatToIntCast() in codegenarm.cpp.
This commit bases upon ARM64 code.
(Code for int64/uint64 is marked as NYI_ARM)

7 years agoCleanup uses of string.Split (#9010)
Justin Van Patten [Fri, 20 Jan 2017 04:23:39 +0000 (23:23 -0500)]
Cleanup uses of string.Split (#9010)

7 years agoMerge pull request #8402 from CarolEidt/Fix7508
Carol Eidt [Fri, 20 Jan 2017 02:24:45 +0000 (18:24 -0800)]
Merge pull request #8402 from CarolEidt/Fix7508

Enable promotion of SIMD fields of structs

7 years agoEnable promotion of SIMD fields of structs
Carol Eidt [Tue, 29 Nov 2016 17:18:31 +0000 (09:18 -0800)]
Enable promotion of SIMD fields of structs

Only look for SIMD fields if a SIMD type has been found.
Also, since more cases of local struct values are no longer marked GTF_GLOB_REF, adjust the heuristics for allocating a temporary for a struct arrRef.

Fix #7508

7 years agoMerge pull request #9013 from jashook/arm32_build_fix
Jarret Shook [Fri, 20 Jan 2017 00:35:07 +0000 (16:35 -0800)]
Merge pull request #9013 from jashook/arm32_build_fix

Fix arm32 build break

7 years agoFix arm32 build break
jashook [Thu, 19 Jan 2017 22:15:43 +0000 (14:15 -0800)]
Fix arm32 build break

fgClearFinallyTargetBit requires computePreds to have happened in order
to sucessfully leave the bit unset for cases where there are multiple
CALLFINALLY / BBJ_ALWAYS pairs that point to the same finally target on
ARM.

The change adds an assertion to fgClearFinallyTargetBit in addition
to disabling the optimization on ARM.

7 years agoAdd mkdir for CoreFx directory
Drew Scoggins [Thu, 19 Jan 2017 18:57:26 +0000 (10:57 -0800)]
Add mkdir for CoreFx directory

In PR 8997 I accidentally removed the mkdir that creates the corefx
directory for us to copy the test zip into.  I did this when I was
adding Https to the URLs that we use to download the information from
Jenkins.  This adds back that bit.

7 years agoMerge pull request #9005 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Thu, 19 Jan 2017 19:34:20 +0000 (11:34 -0800)]
Merge pull request #9005 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24919-03, beta-24919-02, respectively (master)

7 years agoMerge pull request #8992 from seanshpark/remlegacyjit
Pat Gavlin [Thu, 19 Jan 2017 18:33:24 +0000 (18:33 +0000)]
Merge pull request #8992 from seanshpark/remlegacyjit

[x86/Linux] Remove legacyjit and compatjit build

7 years agoMerge pull request #8731 from mskvortsov/arm32-set-reg-to-cond
Pat Gavlin [Thu, 19 Jan 2017 18:32:36 +0000 (18:32 +0000)]
Merge pull request #8731 from mskvortsov/arm32-set-reg-to-cond

RyuJIT/ARM32: genSetRegToCond implementation

7 years agoMerge pull request #8715 from mskvortsov/fix-icon-str-hdl-disp
Pat Gavlin [Thu, 19 Jan 2017 18:30:08 +0000 (18:30 +0000)]
Merge pull request #8715 from mskvortsov/fix-icon-str-hdl-disp

Fix gtDispConst for GTF_ICON_STR_HDL.

7 years agoMerge pull request #8725 from mskvortsov/fix-gtdisp-spacing
Pat Gavlin [Thu, 19 Jan 2017 18:29:48 +0000 (18:29 +0000)]
Merge pull request #8725 from mskvortsov/fix-gtdisp-spacing

Fix gtDispLIRNode space alignment.

7 years agoMerge pull request #8996 from DrewScoggins/LinuxCorefxNativeFix
Drew Scoggins [Thu, 19 Jan 2017 18:27:43 +0000 (10:27 -0800)]
Merge pull request #8996 from DrewScoggins/LinuxCorefxNativeFix

Fix Linux perf run script

7 years agoMerge pull request #8997 from DrewScoggins/HttpsFix
Drew Scoggins [Thu, 19 Jan 2017 18:27:22 +0000 (10:27 -0800)]
Merge pull request #8997 from DrewScoggins/HttpsFix

Change Http to Https

7 years agoUpdate CoreClr, CoreFx to beta-24919-03, beta-24919-02, respectively
dotnet-bot [Thu, 19 Jan 2017 17:33:45 +0000 (17:33 +0000)]
Update CoreClr, CoreFx to beta-24919-03, beta-24919-02, respectively

7 years ago[x86/Linux] Port 'FaultingExceptionFrame::UpdateRegDisplay' (#8993)
Jonghyun Park [Thu, 19 Jan 2017 12:10:45 +0000 (21:10 +0900)]
[x86/Linux] Port 'FaultingExceptionFrame::UpdateRegDisplay' (#8993)

7 years ago[x86/Linux] Port 'HelperMethodFrame::UpdateRegDisplay' (#8914)
Jonghyun Park [Thu, 19 Jan 2017 12:05:51 +0000 (21:05 +0900)]
[x86/Linux] Port 'HelperMethodFrame::UpdateRegDisplay' (#8914)

* [x86/Linux] Port 'HelperMethodFrame::UpdateRegDisplay'

* Reduce code duplication

7 years agoFix PInvoke Inline decision (#8975)
Michelle McDaniel [Thu, 19 Jan 2017 04:57:50 +0000 (20:57 -0800)]
Fix PInvoke Inline decision (#8975)

Originally, the condition was !impCanPInvokeInline, but when change
1e63ca0 pulled out impCanPInvokeInlineCall, the condition was flipped.
This was exposed by an internal debugger test.

Fixes DevDiv 366669.

7 years agoMerge pull request #8994 from dotnet-bot/master-UpdateDependencies
Stephen Toub [Thu, 19 Jan 2017 03:17:04 +0000 (22:17 -0500)]
Merge pull request #8994 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24919-01, beta-24918-13, respectively (master)

7 years agoUpdate CoreClr, CoreFx to beta-24919-01, beta-24918-13, respectively
dotnet-bot [Thu, 19 Jan 2017 01:45:52 +0000 (01:45 +0000)]
Update CoreClr, CoreFx to beta-24919-01, beta-24918-13, respectively

7 years agoChange Http to Https
Drew Scoggins [Wed, 18 Jan 2017 19:19:22 +0000 (11:19 -0800)]
Change Http to Https

When we download things from Jenkins we used to use http for the
address we need to change this to https.

7 years agoFix an error in build-test.cmd (#8890)
Jonghyun Park [Thu, 19 Jan 2017 00:56:56 +0000 (09:56 +0900)]
Fix an error in build-test.cmd (#8890)

* Fix an error in CMake Probe

* Add double qutation around %__ProjectDir

* Revert "Fix an error in CMake Probe"

This reverts commit 78be1c0a2909d633023758fdebcc558bf07e3a4c.

7 years agoMerge pull request #8991 from CarolEidt/Arm64ArrOffConsume
Carol Eidt [Thu, 19 Jan 2017 00:38:12 +0000 (16:38 -0800)]
Merge pull request #8991 from CarolEidt/Arm64ArrOffConsume

Fix consumeReg order for ArrOffs on arm64

7 years ago[x86/Linux] Fix RtlRestoreContext (#8916)
Jonghyun Park [Thu, 19 Jan 2017 00:22:50 +0000 (09:22 +0900)]
[x86/Linux] Fix RtlRestoreContext (#8916)

* [x86/Linux] Fix RtlRestoreContext

* Use mov instead of push/pop

7 years agoRemove ILDASM GUI cruft (#8954)
mikedn [Wed, 18 Jan 2017 23:49:36 +0000 (01:49 +0200)]
Remove ILDASM GUI cruft (#8954)

7 years ago[x86/Linux] Do NOT use Shadow SP (#8913)
Jonghyun Park [Wed, 18 Jan 2017 23:35:46 +0000 (08:35 +0900)]
[x86/Linux] Do NOT use Shadow SP (#8913)

7 years agoMerge pull request #8977 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Wed, 18 Jan 2017 22:27:10 +0000 (14:27 -0800)]
Merge pull request #8977 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24918-03, beta-24918-07, respectively (master)

7 years ago[x86/Linux] Remove legacyjit and compatjit build
SaeHie Park [Wed, 18 Jan 2017 22:11:42 +0000 (07:11 +0900)]
[x86/Linux] Remove legacyjit and compatjit build

Enable legacyjit and compatjit build on i386 for Win32 but disable for Linux

7 years agoFix consumeReg order for ArrOffs on arm64
Carol Eidt [Wed, 18 Jan 2017 20:39:29 +0000 (12:39 -0800)]
Fix consumeReg order for ArrOffs on arm64

The change in operand order for GenTreeArrOffs was not reflected in code generation for arm64. This fixes that.

7 years agoFix Linux perf run script
Drew Scoggins [Wed, 18 Jan 2017 18:53:16 +0000 (10:53 -0800)]
Fix Linux perf run script

We rely on the build of CoreFX that we grab from the Corefx runs on the
main Jenkins instance.  With the recent changes the name of one of the
folders as been changed from "Native" to "native".  The checking that we
were doing was not case insensitive and as a result we started failing.
I have made that check now look for both the upper case and lower case
version of the word.

7 years agoMerge pull request #8986 from JosephTremoulet/Unreachable
Joseph Tremoulet [Wed, 18 Jan 2017 18:10:11 +0000 (13:10 -0500)]
Merge pull request #8986 from JosephTremoulet/Unreachable

Refactor GT_IND value-numbering

7 years agoUnsuppress heap use marking for legacy codegen
Joseph Tremoulet [Wed, 18 Jan 2017 18:09:29 +0000 (13:09 -0500)]
Unsuppress heap use marking for legacy codegen

This change extends the same fix from #8757 to legacy-codegen.cpp; a prior
heap def in a block is not sufficient to avoid marking a subsequent heap
use in that block upwards-exposed (without proof that the def writes the
same memory read by the use).

7 years agoMerge pull request #8987 from stephentoub/remove_serialization_compat_workaround
Stephen Toub [Wed, 18 Jan 2017 18:08:39 +0000 (13:08 -0500)]
Merge pull request #8987 from stephentoub/remove_serialization_compat_workaround

Remove EnumEqualityComparer serialization compat workarounds

7 years agoFix inter-block heap-live-in calculation
Joseph Tremoulet [Tue, 17 Jan 2017 19:42:24 +0000 (14:42 -0500)]
Fix inter-block heap-live-in calculation

Similar to the intra-block case fixed in #8757, without proving that a
heap def completely covers a subsequent heap use, we must propagate heap
liveness up past the heap def.  Fix failure to so propagate liveness in
`LiveVarAnalysis::PerBlockAnalysis`.

7 years agoUpdate CoreClr, CoreFx to beta-24918-03, beta-24918-07, respectively
dotnet-bot [Wed, 18 Jan 2017 17:36:17 +0000 (17:36 +0000)]
Update CoreClr, CoreFx to beta-24918-03, beta-24918-07, respectively

7 years agoRollback parameter name change to fix failing corefx tests (#8985)
Jan Kotas [Wed, 18 Jan 2017 16:58:03 +0000 (08:58 -0800)]
Rollback parameter name change to fix failing corefx tests (#8985)

7 years agoRemove EnumEqualityComparer serialization compat workaround
Stephen Toub [Wed, 18 Jan 2017 15:51:01 +0000 (10:51 -0500)]
Remove EnumEqualityComparer serialization compat workaround

This code exists to support serialization roundtrip between .NET 4 and .NET 4.5, which we don't need for .NET Core.

7 years agoMerge pull request #8984 from stephentoub/fix_dtfi_serialization
Stephen Toub [Wed, 18 Jan 2017 15:49:47 +0000 (10:49 -0500)]
Merge pull request #8984 from stephentoub/fix_dtfi_serialization

Fix DateTimeFormatInfo serialization on Unix

7 years agoMerge pull request #8970 from stephentoub/cwt_enum
Stephen Toub [Wed, 18 Jan 2017 15:23:42 +0000 (10:23 -0500)]
Merge pull request #8970 from stephentoub/cwt_enum

Add ConditionalWeakTable.Clear and IEnumerable implementation

7 years agoRefactor GT_IND value-numbering
Joseph Tremoulet [Wed, 18 Jan 2017 14:59:53 +0000 (06:59 -0800)]
Refactor GT_IND value-numbering

Method `fgValueNumberTree` had two pieces of code each attempting to
assume responsibility for `GT_IND` and some block ops.  The one later in
the function wasn't reachable because those ops would always take the
first path.  This change moves the special logic for `GTF_IND_ARR_LEN`,
which was only present in the unreachable code, up to the reachable code,
and removes the unreachable code.

7 years agoAddress PR feedback
Stephen Toub [Wed, 18 Jan 2017 13:31:56 +0000 (08:31 -0500)]
Address PR feedback

7 years agoFix DateTimeFormatInfo serialization on Unix
Stephen Toub [Wed, 18 Jan 2017 13:22:54 +0000 (08:22 -0500)]
Fix DateTimeFormatInfo serialization on Unix

The Unix copy of the src is missing some [NonSerialized] attribution on a few of its fields, one of which is for a field of type TokenHashValue, which isn't [Serializable].  This is causing DateTimeFormatInfo to itself fail to serialize.

7 years ago[x86/Linux] Port RtlVirtualUnwind (#8911)
Jonghyun Park [Wed, 18 Jan 2017 09:45:09 +0000 (18:45 +0900)]
[x86/Linux] Port RtlVirtualUnwind (#8911)

* [x86/Linux] (Partially) port RtlVirtualUnwind

* Rewrite x86 Unwinder using UnwindStackFrame

* Extract UnwindStackFrame from EECodeManager

* Port 'InlinedCallFrame::UpdateRegDisplay'

7 years agoMerge pull request #8851 from parjong/fix/JIT32_GCENCODER_build_error
Bruce Forstall [Wed, 18 Jan 2017 01:36:58 +0000 (17:36 -0800)]
Merge pull request #8851 from parjong/fix/JIT32_GCENCODER_build_error

Fix JIT32_GCENCODER-related build errors

7 years agoMerge pull request #8886 from YongseopKim/impl_gt_div
Bruce Forstall [Wed, 18 Jan 2017 01:26:46 +0000 (17:26 -0800)]
Merge pull request #8886 from YongseopKim/impl_gt_div

[RyuJIT/ARM32]Impl GT_DIV in genCodeForTreeNode

7 years agoRemove obsolete platforms ifdefs from PAL (#8971)
Jan Vorlicek [Wed, 18 Jan 2017 00:49:55 +0000 (01:49 +0100)]
Remove obsolete platforms ifdefs from PAL (#8971)

There were many ifdefs for obsolete platforms and processors like AIX, HPUX,
SPARC, ALPHA etc. This change is a cleanup that removes them.

7 years agoMerge pull request #8952 from AndyAyersMS/FixEndLFinAssert
Andy Ayers [Wed, 18 Jan 2017 00:49:15 +0000 (16:49 -0800)]
Merge pull request #8952 from AndyAyersMS/FixEndLFinAssert

JIT: fix bad assumption in non-funclet EH models

7 years agoAdd generic instantion argument passing description on x86 (#8940)
Jan Vorlicek [Wed, 18 Jan 2017 00:48:48 +0000 (01:48 +0100)]
Add generic instantion argument passing description on x86 (#8940)

This change adds missing information on generic instantion argument
passing description on x86 to the CLR ABI document.

7 years agoMerge pull request #8972 from pgavlin/ExactSizeSIMD
Pat Gavlin [Tue, 17 Jan 2017 23:37:33 +0000 (23:37 +0000)]
Merge pull request #8972 from pgavlin/ExactSizeSIMD

GS checkes: only set lVExactSize for SIMD vars.

7 years agoMerge pull request #8942 from stephentoub/fix_tpl_event
Stephen Toub [Tue, 17 Jan 2017 23:16:04 +0000 (18:16 -0500)]
Merge pull request #8942 from stephentoub/fix_tpl_event

Fix TplEventSource diagnostic error due to mismatched signature

7 years agoGS checkes: only set lVExactSize for SIMD vars.
Pat Gavlin [Tue, 17 Jan 2017 21:58:06 +0000 (13:58 -0800)]
GS checkes: only set lVExactSize for SIMD vars.

Copying this field for non-SIMD variables causes a later call to
`lvaSetStruct` to skip critical initialization steps. Skipping these
steps led to failures in GC stress due to uninitialized frame variables
that contained GC pointers.

7 years agoMerge pull request #8936 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Tue, 17 Jan 2017 20:28:29 +0000 (12:28 -0800)]
Merge pull request #8936 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24917-03, beta-24917-02, respectively (master)

7 years agoMerge pull request #8678 from hqueue/arm/ryujit/lowerrotate
Carol Eidt [Tue, 17 Jan 2017 19:50:54 +0000 (11:50 -0800)]
Merge pull request #8678 from hqueue/arm/ryujit/lowerrotate

Ryujit/ARM32: Implement Lowering::LowerRotate

7 years agoAdd ConditionalWeakTable.Clear and IEnumerable implementation
Stephen Toub [Tue, 17 Jan 2017 19:03:54 +0000 (14:03 -0500)]
Add ConditionalWeakTable.Clear and IEnumerable implementation

7 years agoMerge pull request #8925 from pgavlin/HeapVerifyIncompatibleTests
Pat Gavlin [Tue, 17 Jan 2017 17:36:11 +0000 (09:36 -0800)]
Merge pull request #8925 from pgavlin/HeapVerifyIncompatibleTests

Mark a small number of tests heap-verify-incompatible.

7 years agoUpdate CoreClr, CoreFx to beta-24917-03, beta-24917-02, respectively
dotnet-bot [Tue, 17 Jan 2017 17:30:07 +0000 (17:30 +0000)]
Update CoreClr, CoreFx to beta-24917-03, beta-24917-02, respectively

7 years agoMerge pull request #8908 from CarolEidt/Contained
Carol Eidt [Tue, 17 Jan 2017 16:59:59 +0000 (08:59 -0800)]
Merge pull request #8908 from CarolEidt/Contained

Don't treat spill temps as contained

7 years agoUse nameof in place of hardcoded variable names (#8968)
Toni Solarin-Sodara [Tue, 17 Jan 2017 16:39:38 +0000 (17:39 +0100)]
Use nameof in place of hardcoded variable names (#8968)

Fixes #8967

7 years agoFix armel toolchain setting (#8961)
chunseoklee [Tue, 17 Jan 2017 14:48:00 +0000 (23:48 +0900)]
Fix armel toolchain setting (#8961)

This PR fixes build fail for armel(debian)

Signed-off-by: chunseoklee <chunseok.lee@samsung.com>
7 years agoUpdate description related to ARM rootfs (#8962)
Hyung-Kyu Choi [Tue, 17 Jan 2017 14:45:38 +0000 (23:45 +0900)]
Update description related to ARM rootfs (#8962)

Update description in script and documentation related to ARM rootfs.

1. Change arm-softfp to armel to apply recent changes.

2. Change UbuntuCodeName to LinuxCodeName
For arm and armel, rootfs are available from three different Linux distro.
    For arm, Ubuntu is available.
    For armel, Debian and Tizen are available.

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
7 years ago[ARM32/Linx] cross-architecture build: restrict build project list (#8918)
Hyeongseok Oh [Tue, 17 Jan 2017 12:41:58 +0000 (21:41 +0900)]
[ARM32/Linx] cross-architecture build: restrict build project list (#8918)

* [ARM32/Linx] cross-architecture build: restrict build project list

Restrict build project for ARM32/Linux cross-architecture
We can build these projects with PR #8866 and #8917. (release build)
- crossgen
- clrjit
- protojit

* modify crosscomponents.cmake

Add list items when not Linux, instead remove in Linux

7 years ago[x86/Linux] Port ''ExceptionTracker::UpdateNonvolatileRegisters' (#8915)
Jonghyun Park [Mon, 16 Jan 2017 11:59:00 +0000 (20:59 +0900)]
[x86/Linux] Port ''ExceptionTracker::UpdateNonvolatileRegisters' (#8915)

7 years agoRemove unused mscoree files and code (#8956)
mikedn [Mon, 16 Jan 2017 04:49:52 +0000 (06:49 +0200)]
Remove unused mscoree files and code (#8956)

7 years agoRemove mscorpe cruft (#8957)
mikedn [Mon, 16 Jan 2017 04:49:18 +0000 (06:49 +0200)]
Remove mscorpe cruft (#8957)

7 years agoMerge pull request #8953 from kouvel/InterruptInFinally
Jan Kotas [Sat, 14 Jan 2017 08:33:15 +0000 (00:33 -0800)]
Merge pull request #8953 from kouvel/InterruptInFinally

Enable thread interrupt in finally blocks, remove some invalid asserts

7 years agoRemove invalid asserts in threads.cpp, DoAppropriateWaitWorker(int, ...)
Koundinya Veluri [Sat, 14 Jan 2017 05:18:34 +0000 (21:18 -0800)]
Remove invalid asserts in threads.cpp, DoAppropriateWaitWorker(int, ...)

These cases are actually possible because Windows APIs are inconsistent in their behavior when invalid handles are concerned. Depending on the invalid handle's value, a multi-wait can error with ERROR_INVALID_HANDLE, and a single-wait on an invalid handle could return WAIT_TIMEOUT.

7 years agoJIT: fix bad assumption in non-funclet EH models
Andy Ayers [Sat, 14 Jan 2017 03:28:30 +0000 (19:28 -0800)]
JIT: fix bad assumption in non-funclet EH models

The newly added finally optimizations mistakenly assumed that in
non-fuclet EH models the GT_END_LFIN in the continuation block would
be the last statement. The test case added below provides an example
where this is not so.

Relax the assumption and instead search the continuation for the
GT_END_LFIN. Assert that there is exactly one.

7 years agoEnable Standalone GC builds in the CI on OSX and Linux (#8950)
Sean Gillespie [Sat, 14 Jan 2017 03:06:05 +0000 (19:06 -0800)]
Enable Standalone GC builds in the CI on OSX and Linux (#8950)

7 years agoEnable thread interrupt in finally blocks
Koundinya Veluri [Sat, 14 Jan 2017 00:34:36 +0000 (16:34 -0800)]
Enable thread interrupt in finally blocks

Thread abort was not allowed in finally blocks, but the same logic was being applied to thread interrupt as well. There is nothing special about thread interrupt that requires it to not work in finally blocks.

7 years agoCheck if xsave is enabled by OS before calling xgetbv in XmmYmmStateSupport (#8939)
Cesar Blum Silveira [Sat, 14 Jan 2017 00:09:46 +0000 (16:09 -0800)]
Check if xsave is enabled by OS before calling xgetbv in XmmYmmStateSupport (#8939)

* Check if xsave is enabled by OS before calling xgetbv in XmmYmmStateSupport. Fix #8903

* Add ebx to clobbered registers.

7 years agoDon't treat spill temps as contained
Carol Eidt [Fri, 9 Dec 2016 19:22:41 +0000 (11:22 -0800)]
Don't treat spill temps as contained

Make Contained refer only to whether code is only generated for a node as part of its parent.
Spill temps that are used from memory are not contained, as code is generated for them.
Add methods to indicate whether an operand is used from register, memory (including spill),
or spill specifically, for use by codegen in distinguishing these cases.

7 years agoMerge pull request #8938 from ellismg/fix-corefx-hash-and-artifacts-for-ci
Matt Ellis [Fri, 13 Jan 2017 22:15:21 +0000 (14:15 -0800)]
Merge pull request #8938 from ellismg/fix-corefx-hash-and-artifacts-for-ci

Use a fixed version of CoreFX for testing

7 years agoFixes to make runtime work on ARM64 Linux (#8947)
Jan Vorlicek [Fri, 13 Jan 2017 22:11:54 +0000 (23:11 +0100)]
Fixes to make runtime work on ARM64 Linux (#8947)

This is a result of attempt to bring up CoreCLR on ARM64 Android.
The bring up is on hold now, but I want to check in the changes
that added ARM64 asm helpers and fixed general Linux ARM64 issues.

7 years agoMerge pull request #8934 from wtgodbe/localpkg
William Godbe [Fri, 13 Jan 2017 22:06:17 +0000 (14:06 -0800)]
Merge pull request #8934 from wtgodbe/localpkg

Stop build from leaving localpkg cache in src

7 years agoStop build from leaving localpkg cache in src
wtgodbe [Fri, 13 Jan 2017 00:35:45 +0000 (16:35 -0800)]
Stop build from leaving localpkg cache in src

7 years agoUse a fixed version of CoreFX for testing
Matt Ellis [Fri, 13 Jan 2017 01:37:15 +0000 (17:37 -0800)]
Use a fixed version of CoreFX for testing

CoreFX is going to be merging changes soon that will break how we
consume them to do our testing. To give us time to react, we'll fix
the version of the repository we build to a commit before the
changes. We'll also download artifacts from a saved build (produced
before the change took place) so the layout is as we expect.

The issue tracking cleaning this up is #8937

7 years agoMerge pull request #8935 from AndyAyersMS/FixSmAssert
Andy Ayers [Fri, 13 Jan 2017 18:21:44 +0000 (10:21 -0800)]
Merge pull request #8935 from AndyAyersMS/FixSmAssert

JIT: remove match accounting from inliner state machine

7 years agoFix Mutex.ReleaseMutex exception type for compatibility (#8941)
Koundinya Veluri [Fri, 13 Jan 2017 16:45:57 +0000 (08:45 -0800)]
Fix Mutex.ReleaseMutex exception type for compatibility (#8941)

7 years agoFix TplEventSource diagnostic error due to mismatched signature
Stephen Toub [Fri, 13 Jan 2017 16:07:22 +0000 (11:07 -0500)]
Fix TplEventSource diagnostic error due to mismatched signature

The TplEventSource TaskWaitBegin event is defined to take an int appDomain parameter, but it's not tracing that out, resulting in EventSource generating diagnostic events about 6 parameters being expected but only getting 5 arguments.

I've fixed it by removing the appDomain parameter, since it's not relevant to coreclr.

7 years agoARM: genSetRegToCond implementation.
Mikhail Skvortcov [Mon, 26 Dec 2016 15:52:41 +0000 (18:52 +0300)]
ARM: genSetRegToCond implementation.

7 years agoRemove #if false blocks (#8933)
Dan Moseley [Fri, 13 Jan 2017 04:39:03 +0000 (20:39 -0800)]
Remove #if false blocks (#8933)

7 years agoJIT: remove match accounting from inliner state machine
Andy Ayers [Fri, 13 Jan 2017 00:59:00 +0000 (16:59 -0800)]
JIT: remove match accounting from inliner state machine

The inliner's code-size estimating state machine keeps count of
matches, but the count was only used in an assert that checked
that the count did not overflow.

The assert fired when jit stress drove the inliner to evaluate a
huge method as a potential inline candidate and the count reached
the overflow value.

This change removes the counting and the related assert.

Closes #8932.