danmosemsft [Mon, 23 Jan 2017 04:29:22 +0000 (20:29 -0800)]
Remove FEATURE_EXCEPTIONDISPATCHINFO
Commit migrated from https://github.com/dotnet/coreclr/commit/
b22d638a79c93fad06ad30f49cd74c69e25deefe
danmosemsft [Mon, 23 Jan 2017 04:27:03 +0000 (20:27 -0800)]
Remove FEATURE_CORRUPTING_EXCEPTIONS
Commit migrated from https://github.com/dotnet/coreclr/commit/
3a9b7218e6ea266463c7338099d6662d2bf7d439
danmosemsft [Mon, 23 Jan 2017 04:15:12 +0000 (20:15 -0800)]
remove FEATURE_CORESYSTEM
Commit migrated from https://github.com/dotnet/coreclr/commit/
47b0ebb1983c2a407e33f07b5a2af30e54b564ae
danmosemsft [Mon, 23 Jan 2017 04:08:05 +0000 (20:08 -0800)]
remove FEATURE_CORECLR (not used in cs)
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a5523c0c04427ed872af85c5d155926cf55e1b8
danmosemsft [Tue, 17 Jan 2017 23:46:45 +0000 (15:46 -0800)]
Remove FEATURE_COLLECTIBLE_TYPES symbol
Commit migrated from https://github.com/dotnet/coreclr/commit/
4aa0b8d6ec28ce759effe64c6babd4ae74018bce
danmosemsft [Fri, 13 Jan 2017 00:26:06 +0000 (16:26 -0800)]
remove FEATURE_APPDOMAIN_RESOURCEMONITORING from corelib
Commit migrated from https://github.com/dotnet/coreclr/commit/
9c6de0b7af3716eea3fc16a91ab8b7c2c92e6e98
Jan Vorlicek [Sat, 21 Jan 2017 09:46:27 +0000 (10:46 +0100)]
Remove __GNUC__ version checks (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a870919addaf32de0e6b89e4bf23a893cb42085
James Ko [Sat, 21 Jan 2017 04:02:54 +0000 (23:02 -0500)]
Delete unused AppDomain{Setup} types/members (dotnet/coreclr#8768)
* Delete unused AppDomain members
* Delete unused AppDomainSetup members
Commit migrated from https://github.com/dotnet/coreclr/commit/
d13392a9ffa262952d34374621308d0a878cf21e
Joseph Tremoulet [Sat, 21 Jan 2017 03:36:31 +0000 (22:36 -0500)]
Merge pull request dotnet/coreclr#9027 from JosephTremoulet/Comment
Fix incorrect comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
de6944f696883e5550ce3816c1de9aa0e4bc685f
Mike McLaughlin [Sat, 21 Jan 2017 01:46:06 +0000 (17:46 -0800)]
Fix debugger launch race hitting breakpoints in startup code. (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3d768880d8034fe285849684abc044553e5d77f8
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1082757a43da09c22018a5457649b121b64a2d64
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 (dotnet/coreclr#9028)
- Reorder methods, adjust comments and formatting to make it easier to see the diff with corefx
- Delete extra implicit conversion operator
Commit migrated from https://github.com/dotnet/coreclr/commit/
bb4fd8fcf84d2e777d7b8bee4e5fc475ab2397d7
Jan Vorlicek [Fri, 20 Jan 2017 23:32:12 +0000 (00:32 +0100)]
Remove PLATFORM_UNIX and FEATURE_PAL checks in PAL (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e210622d2b4bb3f77333fca635d7b621e5cd7c2a
Carol Eidt [Fri, 20 Jan 2017 21:53:17 +0000 (13:53 -0800)]
Merge pull request dotnet/coreclr#8814 from YongseopKim/impl_genIntToIntCast
[RyuJIT/ARM32]Implement NYI("Cast")
Commit migrated from https://github.com/dotnet/coreclr/commit/
4946558e0dcbe82b4f6beb31a3052426856a3f32
Gaurav Khanna [Fri, 20 Jan 2017 20:45:07 +0000 (12:45 -0800)]
Merge pull request dotnet/coreclr#9008 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-24920-03, beta-24919-06, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
627b2786b48753a898565cdeeff966a3946539d0
dotnet-bot [Fri, 20 Jan 2017 17:25:57 +0000 (17:25 +0000)]
Update CoreClr, CoreFx to beta-24920-03, beta-24919-06, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
f51ec6d1993f1bacd413b98af8b69c795a56a6ef
Joseph Tremoulet [Fri, 20 Jan 2017 12:20:09 +0000 (07:20 -0500)]
Merge pull request dotnet/coreclr#9004 from JosephTremoulet/MoreLessKillHeap
More heap liveness fixes
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b198314362c12b5cd82545c51de18ae884522f3
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 (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
4ac7fe064c2e57c818f565ba2c5192bc73250bf4
Jonghyun Park [Fri, 20 Jan 2017 10:34:16 +0000 (19:34 +0900)]
[x86/Linux] Allow push/pop in funclet prolog and epilog (dotnet/coreclr#9001)
* [x86/Linux] Allow Push/Pop in Funclet Prolog and Epilog
Commit migrated from https://github.com/dotnet/coreclr/commit/
d17e8c5f587fd8971dd61c2f282d98d395b5e4fc
Jonghyun Park [Fri, 20 Jan 2017 10:33:06 +0000 (19:33 +0900)]
[x86/Linux] Port 'TransitionFrame::UpdateRegDisplay' (dotnet/coreclr#8964)
* [x86/Linux] Port 'TransitionFrame::UpdateRegDisplay'
* Use different ControlPC/Esp values for WIN64EXCEPTIONS
Commit migrated from https://github.com/dotnet/coreclr/commit/
9743c40692687d6ad0bb43046d88b3bbf021f3f2
Jonghyun Park [Fri, 20 Jan 2017 09:30:49 +0000 (18:30 +0900)]
[x86/Linux] Port 'CallerStackFrame::FromRegDisplay' (dotnet/coreclr#9021)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f31c983e6202541f881c1cfe3ef597447ef7912
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)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c60afc22786d9e5cd1f8344dcdd115e8a6440e64
Justin Van Patten [Fri, 20 Jan 2017 04:23:39 +0000 (23:23 -0500)]
Cleanup uses of string.Split (dotnet/coreclr#9010)
Commit migrated from https://github.com/dotnet/coreclr/commit/
83d4632e32e5759acd0a711f7a013afe30b8bdb7
Carol Eidt [Fri, 20 Jan 2017 02:24:45 +0000 (18:24 -0800)]
Merge pull request dotnet/coreclr#8402 from CarolEidt/Fix7508
Enable promotion of SIMD fields of structs
Commit migrated from https://github.com/dotnet/coreclr/commit/
26a6391c6e05c41bf48beaf529684ad44f3b3fa6
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 dotnet/coreclr#7508
Commit migrated from https://github.com/dotnet/coreclr/commit/
e40595edb2c9cba2864a7e39690575cee7af94f4
Jarret Shook [Fri, 20 Jan 2017 00:35:07 +0000 (16:35 -0800)]
Merge pull request dotnet/coreclr#9013 from jashook/arm32_build_fix
Fix arm32 build break
Commit migrated from https://github.com/dotnet/coreclr/commit/
3243366c41c0f80deddc72101c50932954e7a001
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d0305399e59d81dc210f2ebe56fc9d314ff2bd0
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a58a4fd513a584cb6f92f0504a142327de6390e8
Gaurav Khanna [Thu, 19 Jan 2017 19:34:20 +0000 (11:34 -0800)]
Merge pull request dotnet/coreclr#9005 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-24919-03, beta-24919-02, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
36e6306e6e6015f48b90d529eb47038911c02763
Pat Gavlin [Thu, 19 Jan 2017 18:33:24 +0000 (18:33 +0000)]
Merge pull request dotnet/coreclr#8992 from seanshpark/remlegacyjit
[x86/Linux] Remove legacyjit and compatjit build
Commit migrated from https://github.com/dotnet/coreclr/commit/
39bc5ca53f936b83c1d380cb6076570ec43abcea
Pat Gavlin [Thu, 19 Jan 2017 18:32:36 +0000 (18:32 +0000)]
Merge pull request dotnet/coreclr#8731 from mskvortsov/arm32-set-reg-to-cond
RyuJIT/ARM32: genSetRegToCond implementation
Commit migrated from https://github.com/dotnet/coreclr/commit/
63858068aa77bd5080bb5b589a4a9a8d7a73437b
Pat Gavlin [Thu, 19 Jan 2017 18:30:08 +0000 (18:30 +0000)]
Merge pull request dotnet/coreclr#8715 from mskvortsov/fix-icon-str-hdl-disp
Fix gtDispConst for GTF_ICON_STR_HDL.
Commit migrated from https://github.com/dotnet/coreclr/commit/
281b2042e1dcce1786aaad485bf48a42acc50668
Pat Gavlin [Thu, 19 Jan 2017 18:29:48 +0000 (18:29 +0000)]
Merge pull request dotnet/coreclr#8725 from mskvortsov/fix-gtdisp-spacing
Fix gtDispLIRNode space alignment.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0b5d908617ebaa6ad97297d9b3f363d271340a01
Drew Scoggins [Thu, 19 Jan 2017 18:27:43 +0000 (10:27 -0800)]
Merge pull request dotnet/coreclr#8996 from DrewScoggins/LinuxCorefxNativeFix
Fix Linux perf run script
Commit migrated from https://github.com/dotnet/coreclr/commit/
51cfb793c340f2b8158d7ad667753b279afd0e52
Drew Scoggins [Thu, 19 Jan 2017 18:27:22 +0000 (10:27 -0800)]
Merge pull request dotnet/coreclr#8997 from DrewScoggins/HttpsFix
Change Http to Https
Commit migrated from https://github.com/dotnet/coreclr/commit/
87a93b53c393faeb139dd241ad95ac92f65e67e3
dotnet-bot [Thu, 19 Jan 2017 17:33:45 +0000 (17:33 +0000)]
Update CoreClr, CoreFx to beta-24919-03, beta-24919-02, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
fa3b1186468417416d0c2c730bddd21a8c3eaff5
Jonghyun Park [Thu, 19 Jan 2017 12:10:45 +0000 (21:10 +0900)]
[x86/Linux] Port 'FaultingExceptionFrame::UpdateRegDisplay' (dotnet/coreclr#8993)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0d04afc8f5919edcbb371c1e0c4f832f76aed09f
Jonghyun Park [Thu, 19 Jan 2017 12:05:51 +0000 (21:05 +0900)]
[x86/Linux] Port 'HelperMethodFrame::UpdateRegDisplay' (dotnet/coreclr#8914)
* [x86/Linux] Port 'HelperMethodFrame::UpdateRegDisplay'
* Reduce code duplication
Commit migrated from https://github.com/dotnet/coreclr/commit/
eecb1b6c08e1990499aa33ed6423726c7259b78c
Michelle McDaniel [Thu, 19 Jan 2017 04:57:50 +0000 (20:57 -0800)]
Fix PInvoke Inline decision (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
49ead290c1b26bc07d1108cf1eaca16e171694da
Stephen Toub [Thu, 19 Jan 2017 03:17:04 +0000 (22:17 -0500)]
Merge pull request dotnet/coreclr#8994 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-24919-01, beta-24918-13, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9b777f78c83aa1ef08bcf251e10a48c9b710ed46
dotnet-bot [Thu, 19 Jan 2017 01:45:52 +0000 (01:45 +0000)]
Update CoreClr, CoreFx to beta-24919-01, beta-24918-13, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
eb92bee205efa29230fb876736f755d21cba002f
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ff773e9e2e8c66d7bdc85f826645a0afc0b84c0b
Jonghyun Park [Thu, 19 Jan 2017 00:56:56 +0000 (09:56 +0900)]
Fix an error in build-test.cmd (dotnet/coreclr#8890)
* Fix an error in CMake Probe
* Add double qutation around %__ProjectDir
* Revert "Fix an error in CMake Probe"
This reverts commit dotnet/coreclr@
78be1c0a2909d633023758fdebcc558bf07e3a4c.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e7369c506a5b5698b581ab2046838ccb8b482f92
Carol Eidt [Thu, 19 Jan 2017 00:38:12 +0000 (16:38 -0800)]
Merge pull request dotnet/coreclr#8991 from CarolEidt/Arm64ArrOffConsume
Fix consumeReg order for ArrOffs on arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
07f6010c63920ad814b2dcc24ce354d7e05d29f9
Jonghyun Park [Thu, 19 Jan 2017 00:22:50 +0000 (09:22 +0900)]
[x86/Linux] Fix RtlRestoreContext (dotnet/coreclr#8916)
* [x86/Linux] Fix RtlRestoreContext
* Use mov instead of push/pop
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6dccc87ca1042c51d6067f6b870962bac51efad
mikedn [Wed, 18 Jan 2017 23:49:36 +0000 (01:49 +0200)]
Remove ILDASM GUI cruft (dotnet/coreclr#8954)
Commit migrated from https://github.com/dotnet/coreclr/commit/
69e9c8a6b5bbacaa85b4b7953796364cca02a6a5
Jonghyun Park [Wed, 18 Jan 2017 23:35:46 +0000 (08:35 +0900)]
[x86/Linux] Do NOT use Shadow SP (dotnet/coreclr#8913)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e312e9ab50322b522060fa121d9ed0ddd3a8f4d9
Gaurav Khanna [Wed, 18 Jan 2017 22:27:10 +0000 (14:27 -0800)]
Merge pull request dotnet/coreclr#8977 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-24918-03, beta-24918-07, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d5a60ee061e074ecee0f81d62843f3bfc4b0c022
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
c16bc375a17d89db32fd69382d337f7a93274a85
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6cd32023394a6f99b8e8618de3e28c9bba4ce163
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
46cede629db5e914bea42e1ebc01a5231b528942
Joseph Tremoulet [Wed, 18 Jan 2017 18:10:11 +0000 (13:10 -0500)]
Merge pull request dotnet/coreclr#8986 from JosephTremoulet/Unreachable
Refactor GT_IND value-numbering
Commit migrated from https://github.com/dotnet/coreclr/commit/
5b84229d8e244556df5d736227f3d259738713fc
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 dotnet/coreclr#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).
Commit migrated from https://github.com/dotnet/coreclr/commit/
2db8230de17b541b082aa5c27bce5eaf3a6163e3
Stephen Toub [Wed, 18 Jan 2017 18:08:39 +0000 (13:08 -0500)]
Merge pull request dotnet/coreclr#8987 from stephentoub/remove_serialization_compat_workaround
Remove EnumEqualityComparer serialization compat workarounds
Commit migrated from https://github.com/dotnet/coreclr/commit/
c39e3535e1ae36b458b4c1c1b9963f1c6372f219
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 dotnet/coreclr#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`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e1c3cc187b35090318b3338efd5cca420de45999
dotnet-bot [Wed, 18 Jan 2017 17:36:17 +0000 (17:36 +0000)]
Update CoreClr, CoreFx to beta-24918-03, beta-24918-07, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
e6f21d790a137f083489a44cd421b569a41ced21
Jan Kotas [Wed, 18 Jan 2017 16:58:03 +0000 (08:58 -0800)]
Rollback parameter name change to fix failing corefx tests (dotnet/coreclr#8985)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d3c7ce0c11eb79e33195ab9c1bee94bfe2f6738e
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ab80746225595c702cad990623ad5d0d5439a6d
Stephen Toub [Wed, 18 Jan 2017 15:49:47 +0000 (10:49 -0500)]
Merge pull request dotnet/coreclr#8984 from stephentoub/fix_dtfi_serialization
Fix DateTimeFormatInfo serialization on Unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
03843c68df2db72d2a1bc0dcceb64f3b0c87211d
Stephen Toub [Wed, 18 Jan 2017 15:23:42 +0000 (10:23 -0500)]
Merge pull request dotnet/coreclr#8970 from stephentoub/cwt_enum
Add ConditionalWeakTable.Clear and IEnumerable implementation
Commit migrated from https://github.com/dotnet/coreclr/commit/
396b9b9c37d0ebbb7db32a48dd556f2473b907d5
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f178e60b6c7d41698eeb4f04962307803f78137b
Stephen Toub [Wed, 18 Jan 2017 13:31:56 +0000 (08:31 -0500)]
Address PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
c5d3327251d5cd08e64b192cb740c410f5e0c1cf
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
33b5d299b62ab2d631221967112844e7cda2d5fc
Jonghyun Park [Wed, 18 Jan 2017 09:45:09 +0000 (18:45 +0900)]
[x86/Linux] Port RtlVirtualUnwind (dotnet/coreclr#8911)
* [x86/Linux] (Partially) port RtlVirtualUnwind
* Rewrite x86 Unwinder using UnwindStackFrame
* Extract UnwindStackFrame from EECodeManager
* Port 'InlinedCallFrame::UpdateRegDisplay'
Commit migrated from https://github.com/dotnet/coreclr/commit/
009697370b7dd9a155601842360633d2fd2ba286
Bruce Forstall [Wed, 18 Jan 2017 01:36:58 +0000 (17:36 -0800)]
Merge pull request dotnet/coreclr#8851 from parjong/fix/JIT32_GCENCODER_build_error
Fix JIT32_GCENCODER-related build errors
Commit migrated from https://github.com/dotnet/coreclr/commit/
1f8cfb92e098fd4e132d94bd5bdb12dca1d6e911
Bruce Forstall [Wed, 18 Jan 2017 01:26:46 +0000 (17:26 -0800)]
Merge pull request dotnet/coreclr#8886 from YongseopKim/impl_gt_div
[RyuJIT/ARM32]Impl GT_DIV in genCodeForTreeNode
Commit migrated from https://github.com/dotnet/coreclr/commit/
42ab0d0322a1e6b4845ce6a33fa784f40586b934
Jan Vorlicek [Wed, 18 Jan 2017 00:49:55 +0000 (01:49 +0100)]
Remove obsolete platforms ifdefs from PAL (dotnet/coreclr#8971)
There were many ifdefs for obsolete platforms and processors like AIX, HPUX,
SPARC, ALPHA etc. This change is a cleanup that removes them.
Commit migrated from https://github.com/dotnet/coreclr/commit/
968b13576d3ef2bb585e860f012a7eedb97ab808
Andy Ayers [Wed, 18 Jan 2017 00:49:15 +0000 (16:49 -0800)]
Merge pull request dotnet/coreclr#8952 from AndyAyersMS/FixEndLFinAssert
JIT: fix bad assumption in non-funclet EH models
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c10d232f1cb15161e5c098d0ceddec9773ef4d5
Jan Vorlicek [Wed, 18 Jan 2017 00:48:48 +0000 (01:48 +0100)]
Add generic instantion argument passing description on x86 (dotnet/coreclr#8940)
This change adds missing information on generic instantion argument
passing description on x86 to the CLR ABI document.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f22db8ccbbcfdc0a6f79d6a3130014742d537433
Pat Gavlin [Tue, 17 Jan 2017 23:37:33 +0000 (23:37 +0000)]
Merge pull request dotnet/coreclr#8972 from pgavlin/ExactSizeSIMD
GS checkes: only set lVExactSize for SIMD vars.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c822e69038faf8690165ed7b18f923db2e88dee
Stephen Toub [Tue, 17 Jan 2017 23:16:04 +0000 (18:16 -0500)]
Merge pull request dotnet/coreclr#8942 from stephentoub/fix_tpl_event
Fix TplEventSource diagnostic error due to mismatched signature
Commit migrated from https://github.com/dotnet/coreclr/commit/
774e488a7d4d0c67d84dfa38edfab0d33e659b5f
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a4b338f26bcaf081ab116fdc0e6e412e1c105b92
Gaurav Khanna [Tue, 17 Jan 2017 20:28:29 +0000 (12:28 -0800)]
Merge pull request dotnet/coreclr#8936 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-24917-03, beta-24917-02, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
702541e4601371d879394b2b40511da1fee8919b
Carol Eidt [Tue, 17 Jan 2017 19:50:54 +0000 (11:50 -0800)]
Merge pull request dotnet/coreclr#8678 from hqueue/arm/ryujit/lowerrotate
Ryujit/ARM32: Implement Lowering::LowerRotate
Commit migrated from https://github.com/dotnet/coreclr/commit/
a014d5ba88a6b1a5e94b3d88aaa49a377f4be06c
Stephen Toub [Tue, 17 Jan 2017 19:03:54 +0000 (14:03 -0500)]
Add ConditionalWeakTable.Clear and IEnumerable implementation
Commit migrated from https://github.com/dotnet/coreclr/commit/
d9980b9202cd2c913b7bc6165e69fc2774b0077e
Pat Gavlin [Tue, 17 Jan 2017 17:36:11 +0000 (09:36 -0800)]
Merge pull request dotnet/coreclr#8925 from pgavlin/HeapVerifyIncompatibleTests
Mark a small number of tests heap-verify-incompatible.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9fdd43ad023c138f39f29490c65f67002d0f14e7
dotnet-bot [Tue, 17 Jan 2017 17:30:07 +0000 (17:30 +0000)]
Update CoreClr, CoreFx to beta-24917-03, beta-24917-02, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
d04738a899425ce5b6ab432d94f6cc3954e8852e
Carol Eidt [Tue, 17 Jan 2017 16:59:59 +0000 (08:59 -0800)]
Merge pull request dotnet/coreclr#8908 from CarolEidt/Contained
Don't treat spill temps as contained
Commit migrated from https://github.com/dotnet/coreclr/commit/
2538e231e90c730aeb16caaba89bfa4d26215b19
Toni Solarin-Sodara [Tue, 17 Jan 2017 16:39:38 +0000 (17:39 +0100)]
Use nameof in place of hardcoded variable names (dotnet/coreclr#8968)
Fixes dotnet/coreclr#8967
Commit migrated from https://github.com/dotnet/coreclr/commit/
411da7488a89a00eed6f2501ea5d5a073ba4c757
chunseoklee [Tue, 17 Jan 2017 14:48:00 +0000 (23:48 +0900)]
Fix armel toolchain setting (dotnet/coreclr#8961)
This PR fixes build fail for armel(debian)
Signed-off-by: chunseoklee <chunseok.lee@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
03da0073707c0a4231080e41332838adbc2f3dc0
Hyung-Kyu Choi [Tue, 17 Jan 2017 14:45:38 +0000 (23:45 +0900)]
Update description related to ARM rootfs (dotnet/coreclr#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>
Commit migrated from https://github.com/dotnet/coreclr/commit/
c73f3a1a5b2616d039a9bf69803fe9942976410e
Hyeongseok Oh [Tue, 17 Jan 2017 12:41:58 +0000 (21:41 +0900)]
[ARM32/Linx] cross-architecture build: restrict build project list (dotnet/coreclr#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 dotnet/coreclr#8866 and dotnet/coreclr#8917. (release build)
- crossgen
- clrjit
- protojit
* modify crosscomponents.cmake
Add list items when not Linux, instead remove in Linux
Commit migrated from https://github.com/dotnet/coreclr/commit/
69c55380c1c611388b8c9e3668f41ed099bdd5f1
Jonghyun Park [Mon, 16 Jan 2017 11:59:00 +0000 (20:59 +0900)]
[x86/Linux] Port ''ExceptionTracker::UpdateNonvolatileRegisters' (dotnet/coreclr#8915)
Commit migrated from https://github.com/dotnet/coreclr/commit/
bc63a8b9a7e899c2ed46e0fad8ec4564faefb8c1
mikedn [Mon, 16 Jan 2017 04:49:52 +0000 (06:49 +0200)]
Remove unused mscoree files and code (dotnet/coreclr#8956)
Commit migrated from https://github.com/dotnet/coreclr/commit/
094a2a0d9935afaf603a99c971bef76f61f4ed57
mikedn [Mon, 16 Jan 2017 04:49:18 +0000 (06:49 +0200)]
Remove mscorpe cruft (dotnet/coreclr#8957)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c2db15331291324573d752fb3b6a3a9dae73b31
Jan Kotas [Sat, 14 Jan 2017 08:33:15 +0000 (00:33 -0800)]
Merge pull request dotnet/coreclr#8953 from kouvel/InterruptInFinally
Enable thread interrupt in finally blocks, remove some invalid asserts
Commit migrated from https://github.com/dotnet/coreclr/commit/
496c33f0b5c6ad87257dd1ff1c42ea8db0a53ae0
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4367c8d5205f233ddf9db2c0d23a330d4b72d05c
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0df4892d1d7e04fc817beb7f10be4faae0dfaf82
Sean Gillespie [Sat, 14 Jan 2017 03:06:05 +0000 (19:06 -0800)]
Enable Standalone GC builds in the CI on OSX and Linux (dotnet/coreclr#8950)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6870583bfe5ed18b827194665e8150ae9d633efb
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
626a286433b6e3ed040744746c9b851361ea9546
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 (dotnet/coreclr#8939)
* Check if xsave is enabled by OS before calling xgetbv in XmmYmmStateSupport. Fix dotnet/coreclr#8903
* Add ebx to clobbered registers.
Commit migrated from https://github.com/dotnet/coreclr/commit/
590ff450b982e73782286ff3da80cd5665457de9
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
751bc601e5f7fc9debaeb19d5b6bba7c11b5c0d8
Matt Ellis [Fri, 13 Jan 2017 22:15:21 +0000 (14:15 -0800)]
Merge pull request dotnet/coreclr#8938 from ellismg/fix-corefx-hash-and-artifacts-for-ci
Use a fixed version of CoreFX for testing
Commit migrated from https://github.com/dotnet/coreclr/commit/
de31af90a6d9c1f1d36cff03ed0ab5a628b716ad
Jan Vorlicek [Fri, 13 Jan 2017 22:11:54 +0000 (23:11 +0100)]
Fixes to make runtime work on ARM64 Linux (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d2d4a792e306097a7c7e8afd954eeb50f2d2f23e
William Godbe [Fri, 13 Jan 2017 22:06:17 +0000 (14:06 -0800)]
Merge pull request dotnet/coreclr#8934 from wtgodbe/localpkg
Stop build from leaving localpkg cache in src
Commit migrated from https://github.com/dotnet/coreclr/commit/
b3136bb3281058e162bd072bdb7433663d3d456f
wtgodbe [Fri, 13 Jan 2017 00:35:45 +0000 (16:35 -0800)]
Stop build from leaving localpkg cache in src
Commit migrated from https://github.com/dotnet/coreclr/commit/
0ee3c2676b79c15370d3ae30b62fd4ed5bbbafd3
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 dotnet/coreclr#8937
Commit migrated from https://github.com/dotnet/coreclr/commit/
396c9577f1a947224d73d12d95c45c5b2c624306
Andy Ayers [Fri, 13 Jan 2017 18:21:44 +0000 (10:21 -0800)]
Merge pull request dotnet/coreclr#8935 from AndyAyersMS/FixSmAssert
JIT: remove match accounting from inliner state machine
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d01c0e02ea49a2cc12ddfb520964285402a775c
Koundinya Veluri [Fri, 13 Jan 2017 16:45:57 +0000 (08:45 -0800)]
Fix Mutex.ReleaseMutex exception type for compatibility (dotnet/coreclr#8941)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0ee13af5321bd7340133e2beae14cf3664d5fb90
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
afc76a84848bcf81edd6556dec407a61c07e3c6d