platform/upstream/dotnet/runtime.git
7 years agoDelete long compare support from ARM32 codegen
Mike Danes [Wed, 24 May 2017 16:58:28 +0000 (19:58 +0300)]
Delete long compare support from ARM32 codegen

Commit migrated from https://github.com/dotnet/coreclr/commit/cc6286cc7f6d065ee823379a8afdfba25e603ed5

7 years agoEnable long relop lowering for ARM32
Mike Danes [Wed, 24 May 2017 16:53:22 +0000 (19:53 +0300)]
Enable long relop lowering for ARM32

Commit migrated from https://github.com/dotnet/coreclr/commit/19db5d8013eec3a3a3b56361d2f723a54663a018

7 years agoAdd ARM32 support for GT_SETCC/GT_CMP/GTF_SET_FLAGS
Mike Danes [Wed, 24 May 2017 11:17:28 +0000 (14:17 +0300)]
Add ARM32 support for GT_SETCC/GT_CMP/GTF_SET_FLAGS

Commit migrated from https://github.com/dotnet/coreclr/commit/3251d12484f365e1334738808981f0e4ffc2ea94

7 years ago[x64/Linux] Fix FEATURE_INTERPRETER Release build (dotnet/coreclr#12046)
Jonghyun Park [Fri, 2 Jun 2017 05:28:27 +0000 (14:28 +0900)]
[x64/Linux] Fix FEATURE_INTERPRETER Release build (dotnet/coreclr#12046)

Commit migrated from https://github.com/dotnet/coreclr/commit/95db5aa01cf19a6962d7e4d348b17d0821935858

7 years agoFix optdata restore functionality (dotnet/coreclr#11935)
Daniel Podder [Thu, 1 Jun 2017 23:41:50 +0000 (18:41 -0500)]
Fix optdata restore functionality (dotnet/coreclr#11935)

Fix optdata restore functionality (dotnet/coreclr#11935)

Bring back optdata restore functionality following the move to 2.0
BuildTools and csproj-based CLI. Disable a harmless warning that broke
the Linux build when consuming PGO counts due to -Werr.

Fix dotnet/coreclr#11796 for master

Commit migrated from https://github.com/dotnet/coreclr/commit/8f5d775cb4de2b3e765251106991940c09c0859e

7 years agoEnsure that platform is considered for LongPlatformName instead of PackagePlatform...
Karthik Rajasekaran [Thu, 1 Jun 2017 22:59:00 +0000 (15:59 -0700)]
Ensure that platform is considered for LongPlatformName instead of PackagePlatform (dotnet/coreclr#11900)

Commit migrated from https://github.com/dotnet/coreclr/commit/91329ceefd9efbde1f8486b0a098090e9a10adcb

7 years agoSupport msbuildonunsupportedplatform on non-x64 architecture (dotnet/coreclr#11966)
Jonghyun Park [Thu, 1 Jun 2017 22:18:40 +0000 (07:18 +0900)]
Support msbuildonunsupportedplatform on non-x64 architecture (dotnet/coreclr#11966)

Commit migrated from https://github.com/dotnet/coreclr/commit/441f86cd0181864c4fe93ae4f8eaacd392437834

7 years agoFix 11991 (dotnet/coreclr#12013)
Sergey Andreenko [Thu, 1 Jun 2017 21:24:39 +0000 (14:24 -0700)]
Fix 11991 (dotnet/coreclr#12013)

Fix the case when the path doesn't have any '\'.
Fix clean_up.

Commit migrated from https://github.com/dotnet/coreclr/commit/40a6f20696efecf3c5faf3210f369dd3f9d8fdb2

7 years agoMerge pull request dotnet/coreclr#11959 from hqueue/arm/ryujit/11779
Carol Eidt [Thu, 1 Jun 2017 20:16:18 +0000 (13:16 -0700)]
Merge pull request dotnet/coreclr#11959 from hqueue/arm/ryujit/11779

[RyuJIT/ARM32][LSRA] Fix restoring TYP_DOUBLE interval in ARM32

Commit migrated from https://github.com/dotnet/coreclr/commit/cba1fbfae53753b07a6305950c0f7e482c571347

7 years agoMerge pull request dotnet/coreclr#11860 from rartemev/fix_tests_build_4
Roman Artemev [Thu, 1 Jun 2017 19:27:23 +0000 (12:27 -0700)]
Merge pull request dotnet/coreclr#11860 from rartemev/fix_tests_build_4

Fixed tests build on Linux

Commit migrated from https://github.com/dotnet/coreclr/commit/f86fd75c111fc28554f1c846a8abc472cc2f67b6

7 years agoMerge pull request dotnet/coreclr#11876 from hqueue/arm/ryujit/merge_lowerarmarch
Pat Gavlin [Thu, 1 Jun 2017 18:35:33 +0000 (11:35 -0700)]
Merge pull request dotnet/coreclr#11876 from hqueue/arm/ryujit/merge_lowerarmarch

Merge remaining common arm32/arm64 lowering functions

Commit migrated from https://github.com/dotnet/coreclr/commit/148d418dca9045167e1e5b74129faa78d9c5ed73

7 years agogdbjit symbols exported (dotnet/coreclr#11739)
chunseoklee [Thu, 1 Jun 2017 16:51:31 +0000 (01:51 +0900)]
gdbjit symbols exported (dotnet/coreclr#11739)

* multiple export files as input for generate_exports_file

Now, generate_exports_file is able to process multiple input arguments.
This feature is useful when you want to export additional symbols depending on
compile time dependannt feature(-D option.)

* export file for gdbjit added

src/dlls/mscoree/gdbjit_unixexports.src file added
To enable gdbjit feature, libcoreclr.so should have __jit_xxx
symbols.
Current tizen build system removes .symtab section during rpm debuginfo
build. This patch moves __jit_xx symbols into .dynsym section.

Commit migrated from https://github.com/dotnet/coreclr/commit/dde63bc1aa39aabae77fb89aad583483965c523e

7 years ago[Arm64] Use inner shareable for instGen_MemoryBarrier
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Tue, 16 May 2017 17:37:28 +0000 (17:37 +0000)]
[Arm64] Use inner shareable for instGen_MemoryBarrier

Commit migrated from https://github.com/dotnet/coreclr/commit/f68e0e85b7f3caee90481857b67f418d68f3361e

7 years ago[Arm64] Use half barriers for IL Volatile implementation
Steve MacLean [Fri, 12 May 2017 16:44:08 +0000 (12:44 -0400)]
[Arm64] Use half barriers for IL Volatile implementation

Commit migrated from https://github.com/dotnet/coreclr/commit/6179b52eb1d48933675f4bd319448d02c7cef0c4

7 years agoUpdating version of xUnit-Performance-Api (dotnet/coreclr#11987)
José Rivero [Thu, 1 Jun 2017 15:56:27 +0000 (08:56 -0700)]
Updating version of xUnit-Performance-Api (dotnet/coreclr#11987)

- This update contains a fix for this issue: https://github.com/Microsoft/xunit-performance/issues/230
- Consolidate the Api version in two places: `dependencies.prop` and `PerfHarness.csproj`
- Move performance log files to root directory where Jenkins can archive them
- Fixed the output to console, so it is easier to see on the Jenkins job the sccript steps live and get an exact repro step if needed

Commit migrated from https://github.com/dotnet/coreclr/commit/1d2e6f8b131af5c4f684c35418ee6c14b417b316

7 years agoFixes deserializaing TimeZoneInfo by putting back the IDeserializationCallback.OnDese...
Morgan Brown [Thu, 1 Jun 2017 12:09:07 +0000 (05:09 -0700)]
Fixes deserializaing TimeZoneInfo by putting back the IDeserializationCallback.OnDeserialization method. (dotnet/coreclr#12024)

Commit migrated from https://github.com/dotnet/coreclr/commit/beaefc2188a4cf46c99e522f4ed0b57507b07633

7 years ago[x64/Linux] Use correct argument registers in InterpreterStub (dotnet/coreclr#12002)
Jonghyun Park [Thu, 1 Jun 2017 08:49:33 +0000 (17:49 +0900)]
[x64/Linux] Use correct argument registers in InterpreterStub (dotnet/coreclr#12002)

* [x64/Linux] Use correct argument registers in InterpreterStub

* Adjust Linux/Windows ABI difference

* Use macros instead of array

* Follow naming convention

Commit migrated from https://github.com/dotnet/coreclr/commit/567c9aaf4bdb1ce3709decd46105ee7c4c4faf9f

7 years agoMerge pull request dotnet/coreclr#11988 from stephentoub/fix_fds
Stephen Toub [Thu, 1 Jun 2017 03:05:06 +0000 (23:05 -0400)]
Merge pull request dotnet/coreclr#11988 from stephentoub/fix_fds

Ensure several runtime file descriptors are CLOEXEC

Commit migrated from https://github.com/dotnet/coreclr/commit/05732e6e9d79b0f65490c3bac5698cf8fe8ac9a4

7 years agoRemove GCX_PREEMP call when allocating a buffer. (dotnet/coreclr#12016)
Brian Robbins [Wed, 31 May 2017 23:48:56 +0000 (16:48 -0700)]
Remove GCX_PREEMP call when allocating a buffer. (dotnet/coreclr#12016)

Commit migrated from https://github.com/dotnet/coreclr/commit/bdc3f84b47d4cd93b6cc6771a52f9c57249ceddb

7 years agoPost-Serialization cleanup fixes to Reflection (dotnet/coreclr#12010)
Atsushi Kanamori [Wed, 31 May 2017 23:40:04 +0000 (16:40 -0700)]
Post-Serialization cleanup fixes to Reflection (dotnet/coreclr#12010)

This is based on the following principles:

- We should not be making changes to instance/virtual methods
in the abstract base types for Reflection. These are apis
in themselves to third party classes that subclass these types.
Even if the Runtime chooses not to make its own implementations
of these type serializable, third party classes have the right
to make that choice for themselves and build off the base class
serialization infrastructure that was shipped before.

RuntimeAssembly and RuntimeModule still override with PNSE
so we'll get the desired exception for those cases.

- The Runtime's own implementations of these types will not be
serializable. Removing all [Serializable] attributes and
serialization interfaces. Runtime types are internal types and
thus have no duty to implement ISerializable if the public
abstract base type does not.

Commit migrated from https://github.com/dotnet/coreclr/commit/97c58ac4fce27b7796206a59eea0ca27cb49fe1a

7 years agoDelete useless file (dotnet/coreclr#12021)
mikedn [Wed, 31 May 2017 22:57:46 +0000 (01:57 +0300)]
Delete useless file (dotnet/coreclr#12021)

Commit migrated from https://github.com/dotnet/coreclr/commit/b67753b95b8275293bf51ebbb7e0ac6a7fe255e6

7 years agoDisable inheritance of several common file descriptors
Stephen Toub [Wed, 31 May 2017 21:18:24 +0000 (17:18 -0400)]
Disable inheritance of several common file descriptors

Commit migrated from https://github.com/dotnet/coreclr/commit/90d253f65200f1ab46c42a290098b91bf9544535

7 years agoDefault to portable build in dev and official builds (dotnet/coreclr#11985)
Gaurav Khanna [Wed, 31 May 2017 15:53:47 +0000 (08:53 -0700)]
Default to portable build in dev and official builds (dotnet/coreclr#11985)

Commit migrated from https://github.com/dotnet/coreclr/commit/a2abadfe7f67249cbe2b107d0b3f1b8d6f2ee06b

7 years agoFix issues with RelativePointer instead of RelativeFixupPointer (dotnet/coreclr#12004)
gbalykov [Wed, 31 May 2017 15:39:43 +0000 (18:39 +0300)]
Fix issues with RelativePointer instead of RelativeFixupPointer (dotnet/coreclr#12004)

Commit migrated from https://github.com/dotnet/coreclr/commit/3530e3f5751f4b0e12b8f45bf7fe2a2a309cfebb

7 years agoExpose Enumerator members out of EnvironmentAugments. (dotnet/coreclr#11980)
Atsushi Kanamori [Wed, 31 May 2017 15:23:02 +0000 (08:23 -0700)]
Expose Enumerator members out of EnvironmentAugments. (dotnet/coreclr#11980)

Expose Enumerator members out of EnvironmentAugments.

Commit migrated from https://github.com/dotnet/coreclr/commit/38528f6662f24c37e11bac67a56ff7269e8e4f6e

7 years ago[RyuJIT/ARM32] Update restoring TYP_DOUBLE interval
Hyung-Kyu Choi [Wed, 31 May 2017 05:14:59 +0000 (14:14 +0900)]
[RyuJIT/ARM32] Update restoring TYP_DOUBLE interval

- Introduce findAnotherHalfRegRec()
- Restore TYP_DOUBLE interval to valid double register

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/8d209134fb20150c15cf08755d8a12d8654a8ebf

7 years ago[RyuJIT/ARM32] Applying review feedback
Hyung-Kyu Choi [Wed, 31 May 2017 05:56:25 +0000 (14:56 +0900)]
[RyuJIT/ARM32] Applying review feedback

- Group cases for each target to improve readability

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/a94654c90f0b2c203a10063a3248f18d12373411

7 years ago[RyuJIT/ARM32] Applying review feedback
Hyung-Kyu Choi [Wed, 31 May 2017 03:24:19 +0000 (12:24 +0900)]
[RyuJIT/ARM32] Applying review feedback

- Use canRestorePreviousInterval() for all target
- Update condition for restoring TYP_DOUBLE interval

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/f72202cfbb6414f1767f973797c167e77cb82923

7 years agoMerge pull request dotnet/coreclr#11995 from ViktorHofer/SerializationFollowUp
Krzysztof Wicher [Wed, 31 May 2017 03:02:47 +0000 (20:02 -0700)]
Merge pull request dotnet/coreclr#11995 from ViktorHofer/SerializationFollowUp

Internal hashtable serialization attribute removed

Commit migrated from https://github.com/dotnet/coreclr/commit/b2150d5fc16eddec33702fd89168487d76f06108

7 years agoAllowing larger segment size for SOH, in preparation for enabling it for NoGC region...
Maoni Stephens [Wed, 31 May 2017 01:29:29 +0000 (18:29 -0700)]
Allowing larger segment size for SOH, in preparation for enabling it for NoGC region. (dotnet/coreclr#11923)

This is just so that I can test with larger SOH seg size to make sure we are not getting AVs.
More perf changes will happen with the NoGC region changes.

Commit migrated from https://github.com/dotnet/coreclr/commit/984f6719a3c4b0ad35cba6b9d819a33935bc0b3e

7 years agoRemove relocations from SECTION_MethodDesc for ngened images (dotnet/coreclr#11394)
gbalykov [Wed, 31 May 2017 01:25:04 +0000 (04:25 +0300)]
Remove relocations from SECTION_MethodDesc for ngened images (dotnet/coreclr#11394)

Commit migrated from https://github.com/dotnet/coreclr/commit/4ee1c192d1638b4bc69db59c0807a2b8c2b5bd3c

7 years agoInternal hashtable serialization attribute removed
Viktor Hofer [Wed, 31 May 2017 00:46:43 +0000 (02:46 +0200)]
Internal hashtable serialization attribute removed

Commit migrated from https://github.com/dotnet/coreclr/commit/ddeae7ea5fb8ad5374acb4eeb237ea8e688db897

7 years agoCoretype variables renamed back to netfx counterpart for reflection based serializati...
Viktor Hofer [Wed, 31 May 2017 00:16:32 +0000 (02:16 +0200)]
Coretype variables renamed back to netfx counterpart for reflection based serialization (dotnet/coreclr#11910)

* Variables renamed for reflection based serialization

* Make EqualityComparers serialize like desktop

* add missing interfaces

* TimeZone serializable added

* Internal hashtable serializable

* Removed TimeZone as serializable type

* Remove Lazy<T>'s [Serializable] attribute for 2.0

For performance, Lazy was completely rewritten for .NET Core 2.0 and has an entirely different format than desktop; trying to get it to match the desktop serialization format would require either reverting or providing a complicated custom serialization/deserialization implementation to try to match.  Lazy can also wrap an Exception that occurred from trying to instantiate the object, and the only exception types that are serializable as of now in core are the base Exception and AggregateException.  As such, we're cutting it from the list of supported types in 2.0.  An easy workaround is simply to do what the implementation does: serialize lazy.Value instead of lazy.

* tiny fixes to equalitycomparer.cs

Commit migrated from https://github.com/dotnet/coreclr/commit/48d5a81782370f45cb06231ffa707147c6c79fc5

7 years agoMerge pull request dotnet/coreclr#11977 from mskvortsov/FixDoubleRegArgNext
Carol Eidt [Tue, 30 May 2017 23:28:05 +0000 (16:28 -0700)]
Merge pull request dotnet/coreclr#11977 from mskvortsov/FixDoubleRegArgNext

[RyuJIT/arm32] Fix double argument passing

Commit migrated from https://github.com/dotnet/coreclr/commit/e368c0903d0f4952ac8c4676e24d7d86b906b632

7 years agoMerge pull request dotnet/coreclr#11872 from hqueue/arm/ryujit/dodge_lowering_long_cmp
Pat Gavlin [Tue, 30 May 2017 23:06:23 +0000 (16:06 -0700)]
Merge pull request dotnet/coreclr#11872 from hqueue/arm/ryujit/dodge_lowering_long_cmp

[RyuJIT/ARM32] Dodge lowering long compares

Commit migrated from https://github.com/dotnet/coreclr/commit/cf90a2cc552851d6ec7bf7a99e68a9aae7b4b8a1

7 years agoSkip cast nodes for the tail call check. (dotnet/coreclr#11986)
Sergey Andreenko [Tue, 30 May 2017 23:02:20 +0000 (16:02 -0700)]
Skip cast nodes for the tail call check. (dotnet/coreclr#11986)

Fix dotnet/coreclr#11983

Commit migrated from https://github.com/dotnet/coreclr/commit/0e3494f208edb21d40e36374dab718e08a8502c8

7 years agoFix build break
Jan Kotas [Tue, 30 May 2017 16:21:04 +0000 (09:21 -0700)]
Fix build break

Commit migrated from https://github.com/dotnet/coreclr/commit/d67545d8cbd1962221e5bc7ce04bba69abfdfac1

7 years agoMoves windows specific field to Debug.Windows.cs file (dotnet/corertdotnet/coreclr...
Marek Safar [Tue, 30 May 2017 06:29:57 +0000 (08:29 +0200)]
Moves windows specific field to Debug.Windows.cs file (dotnet/corertdotnet/coreclr#3733)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/53ae19db3271dc2511ff5ea34b26e6d12cbe4e7a

7 years agoUse FD_CLOEXEC instead of equivalent 1 in InternalCreatePipe
Stephen Toub [Tue, 30 May 2017 19:49:42 +0000 (15:49 -0400)]
Use FD_CLOEXEC instead of equivalent 1 in InternalCreatePipe

Commit migrated from https://github.com/dotnet/coreclr/commit/a6e1e9a57caa897acd679010edfc13051e7aeceb

7 years agoRemove Debian Armel (dotnet/coreclr#11978)
Gaurav Khanna [Tue, 30 May 2017 19:15:05 +0000 (12:15 -0700)]
Remove Debian Armel (dotnet/coreclr#11978)

Commit migrated from https://github.com/dotnet/coreclr/commit/dc3ca3ece7f1e95d08e534c32c69595e743645a1

7 years agoRyuJIT/arm32: Fix double argument passing
Mikhail Skvortcov [Tue, 30 May 2017 15:47:54 +0000 (18:47 +0300)]
RyuJIT/arm32: Fix double argument passing

Commit migrated from https://github.com/dotnet/coreclr/commit/c25f8454b016bd54f581459832cb855be63d2672

7 years agoFix failures in ETW logging on 4GB aware 32 bit processes (dotnet/coreclr#11941)
Vance Morrison [Tue, 30 May 2017 16:09:29 +0000 (09:09 -0700)]
Fix failures in ETW logging on 4GB aware 32 bit processes (dotnet/coreclr#11941)

We incorrectly cast a 32 bit pointer to a 64 bit poitner using as a SIGNED integer.
If this is a 32 bit process that is using more than 2GB of memory this can result in
sign rather than zero extension.  This makes the poitner invalid at the OS level
and causes the OS API to fail.

We disovered this in Visual Studio when debugging large (Rosyln) scenarios.
There were numerous failures which causes sever slowdowns becasue the
EventSource logged OutputDebugString events when the OS API failed.

The fix is to use unsigned extension.   Note that I have confirmed that casting
from a IntPtr or a void* to a ulong does zero extension (that is it uses the target type
to determine whether to use sign or zero extension).

To be useful for Visual Studio, this needs to be ported to the desktop runtime.

Commit migrated from https://github.com/dotnet/coreclr/commit/fef0f8b9c3a29b291894666f19340d99849ab40b

7 years agoMerge pull request dotnet/coreclr#11972 from hseok-oh/ryujit/issue_11971
Carol Eidt [Tue, 30 May 2017 15:31:47 +0000 (08:31 -0700)]
Merge pull request dotnet/coreclr#11972 from hseok-oh/ryujit/issue_11971

[RyuJIT/ARM32] Fix offset of struct argument when using stack

Commit migrated from https://github.com/dotnet/coreclr/commit/85603db02dee063acd8d6f9f5e853cd407cff134

7 years agoMerge pull request dotnet/coreclr#11973 from hseok-oh/ryujit/issue_11837
Carol Eidt [Tue, 30 May 2017 15:30:15 +0000 (08:30 -0700)]
Merge pull request dotnet/coreclr#11973 from hseok-oh/ryujit/issue_11837

[RyuJIT/ARM32] Fix assertion failed 'remainingSize == TARGET_POINTER_SIZE'

Commit migrated from https://github.com/dotnet/coreclr/commit/e30d6ca6ddd86f03c9b0d84d87de25af4f40e75d

7 years ago[RyuJIT/ARM32] Fix assertion failed 'remainingSize == TARGET_POINTER_SIZE'
Hyeongseok Oh [Tue, 30 May 2017 10:05:35 +0000 (19:05 +0900)]
[RyuJIT/ARM32] Fix assertion failed 'remainingSize == TARGET_POINTER_SIZE'

Fix assertion failed by 'remainingSize == TARGET_POINTER_SIZE'
Fix to check register allocation correctly

Commit migrated from https://github.com/dotnet/coreclr/commit/86454ad75a8fa8619fa21f199a2264c8fbc2d228

7 years ago[RyuJIT/ARM32] Fix offset of struct argument when using stack
Hyeongseok Oh [Tue, 30 May 2017 09:58:33 +0000 (18:58 +0900)]
[RyuJIT/ARM32] Fix offset of struct argument when using stack

Fix offset value when struct argument is passed on stack

Commit migrated from https://github.com/dotnet/coreclr/commit/99cd56e15b8122fdc965f109066105014d25c823

7 years ago[RyuJIT/ARM32] Fix restoring TYP_DOUBLE interval in ARM32
Hyung-Kyu Choi [Mon, 29 May 2017 11:38:01 +0000 (20:38 +0900)]
[RyuJIT/ARM32] Fix restoring TYP_DOUBLE interval in ARM32

- Fix segmentation fault by defining nextRegRec when nextRegRec is not defined yet.

- Introduce canRestorePreviousInterval()
  This helper check whether previous interval can be restored considering TYP_DOUBLE.

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/70f9e1c771707535c32bfef7df435c896438a01a

7 years agoMake linux test build worked
Roman Artemev [Tue, 23 May 2017 22:34:53 +0000 (15:34 -0700)]
Make linux test build worked

Commit migrated from https://github.com/dotnet/coreclr/commit/df8dca2f2f3a5dd22b9db727e581a3c13fbe403a

7 years agoImplement GetCurrentProcessCpuCount for Unix and merge NumberOfProcesors implementati...
Tom Deseyn [Mon, 29 May 2017 13:46:10 +0000 (15:46 +0200)]
Implement GetCurrentProcessCpuCount for Unix and merge NumberOfProcesors implementations. (dotnet/coreclr#11742)

* Implement GetCurrentProcessCpuCount for Unix and merge NumberOfProcessors implementations.

* Split GetCurrentProcessCpuCount in PAL and non-PAL parts

* gcenv.unix.cpp: GetCurrentProcessAffinityMask: revert, GetCurrentProcessCpuCount: add implementation

* bugfix: #if instead of #ifdef HAVE_SCHED_GETAFFINITY

* Remove PAL_GetCurrentProcessCpuCount

* gcenv.unix: implement GetCurrentProcessAffinityMask, GetCurrentProcessCpuCount

* numa.cpp: initialize g_cpuToAffinity[i].Number when numa.h is missing

* cleanup

* mscorwks_unixexports.src: Add GetProcessAffinityMask

* PR feedback

* Add GetProcessAffinityMask to mscordac_unixexports.src

Commit migrated from https://github.com/dotnet/coreclr/commit/ee454e11d0c73820dde10ab710f9d6eccd4471f1

7 years agoadded DWARF exprloc for static value class fields (dotnet/coreclr#11911)
Buyduck [Mon, 29 May 2017 11:26:41 +0000 (14:26 +0300)]
added DWARF exprloc for static value class fields (dotnet/coreclr#11911)

Commit migrated from https://github.com/dotnet/coreclr/commit/c08d7df65036795bc3284e18624827303a097c88

7 years agoFix build breaks
Morgan Brown [Sat, 27 May 2017 02:13:06 +0000 (19:13 -0700)]
Fix build breaks

* Remove UnitySerializationHolder references
* Remove the fields of StrongNameKeyPair
* Initialize BadImageFormatException._fusionLog
* Remove MemberInfoSerializationHolder references

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/42b5e15d656ac466ece6587005ffb646d4c9e9a3

7 years agoIDeserializationCallback cleanup
Morgan Brown [Sun, 28 May 2017 04:07:32 +0000 (21:07 -0700)]
IDeserializationCallback cleanup

Throws PlatformNotSupportedException from IDeserializationCallback and IObjectReference implementations on types that are no longer serializable.

Commit migrated from https://github.com/dotnet/coreclr/commit/68570e183b2dc53682079d8ab4dac24f893aebfa

7 years agoFix tool initialization detection (dotnet/coreclr#11912)
mikedn [Sat, 27 May 2017 23:09:11 +0000 (02:09 +0300)]
Fix tool initialization detection (dotnet/coreclr#11912)

init-tools.cmd attempts to create a file in a directory that doesn't exist. File creation fails and next time the script is run initialization will be performed again. That wastes a lot of time.

Commit migrated from https://github.com/dotnet/coreclr/commit/a90081b1d83f0447cace40b18ee908117d12b645

7 years agoUpdate CoreClr to preview1-25327-01 (dotnet/coreclr#11949)
dotnet bot [Sat, 27 May 2017 23:07:59 +0000 (16:07 -0700)]
Update CoreClr to preview1-25327-01 (dotnet/coreclr#11949)

Commit migrated from https://github.com/dotnet/coreclr/commit/37c61722c3062d45f8ff3008424e02a759357afb

7 years agoUpdate test coverage statements in workflow doc
Rich Lander [Sat, 27 May 2017 18:46:13 +0000 (11:46 -0700)]
Update test coverage statements in workflow doc

Commit migrated from https://github.com/dotnet/coreclr/commit/76963543e01df297ada420804f71c27977879edc

7 years agoUpdate license links
Rich Lander [Sat, 27 May 2017 05:01:25 +0000 (22:01 -0700)]
Update license links

Commit migrated from https://github.com/dotnet/coreclr/commit/ce8bcb81f993fbdfc8c0a9f36ecec8bc317ce8e1

7 years agoUpdate CoreClr, CoreFx to preview1-25326-02, preview1-25324-02, respectively (dotnet...
dotnet bot [Sat, 27 May 2017 05:00:51 +0000 (22:00 -0700)]
Update CoreClr, CoreFx to preview1-25326-02, preview1-25324-02, respectively (dotnet/coreclr#11932)

Commit migrated from https://github.com/dotnet/coreclr/commit/d71eec734916f75dd05dba986434458ea11e5cd3

7 years agoUpdate contributor docs (dotnet/coreclr#11944)
Rich Lander [Sat, 27 May 2017 04:56:27 +0000 (21:56 -0700)]
Update contributor docs (dotnet/coreclr#11944)

* Update contributor docs

* Update

* Added up-for-grabs and ports

* Update binary licensing

* Update\

* Simplify developer workflow doc

* Update per feedback

Commit migrated from https://github.com/dotnet/coreclr/commit/8ca5a626ec508f75dce2ede92fd7748472a07a08

7 years agoEnable linux perf runs (dotnet/coreclr#11905)
José Rivero [Sat, 27 May 2017 01:01:05 +0000 (18:01 -0700)]
Enable linux perf runs (dotnet/coreclr#11905)

- Removing `[assembly: MeasureInstructionsRetired]` from performance tests.
- Due to this issue: https://github.com/Microsoft/xunit-performance/issues/231, we are blocked from running on performance tests on Linux.
  The tag is not used by infrastructure and it is passed during runtime when profiling on Windows.
- Adding the option to execute CoreRun with the stability prefix.
- Moving file to be archived by Jenkins and updating groovy file.
- Setting the maximum number of iterations.

Commit migrated from https://github.com/dotnet/coreclr/commit/70ea7d4a2379827f55582fd4d3fd57ab767c6fa1

7 years agoISerializable cleanup (dotnet/coreclr#11873)
Morgan Brown [Sat, 27 May 2017 00:45:37 +0000 (17:45 -0700)]
ISerializable cleanup (dotnet/coreclr#11873)

Changes to throw PlatformNotSupportedException from ISerializable.GetObjectData and serialization constructors on non-Serializable types. Also removes private serialization constructors and some unneeded code that was used to support serializing non-serializable types. A few tests testing GetObjectData implementations are also removed. For Exception types, we call base instead of throwing from GetObjectData to be consistent with the many Exceptions that don't override GetObjectData

Commit migrated from https://github.com/dotnet/coreclr/commit/b479cee9fdcee2cb4035fda788d34e724e32a222

7 years agoMove rundown to the same code-site where we do ETW rundown before EEShutdown is marke...
Brian Robbins [Fri, 26 May 2017 21:39:42 +0000 (14:39 -0700)]
Move rundown to the same code-site where we do ETW rundown before EEShutdown is marked as started. (dotnet/coreclr#11937)

Commit migrated from https://github.com/dotnet/coreclr/commit/c1bf59fbe4f0c54020ad9990bad33ccda4ae4519

7 years agoMerge pull request dotnet/coreclr#11920 from briansull/crossgen-tuning
Brian Sullivan [Fri, 26 May 2017 18:08:01 +0000 (11:08 -0700)]
Merge pull request dotnet/coreclr#11920 from briansull/crossgen-tuning

Remove the check that requires an instrumented flags for SPC when collecting IBC data

Commit migrated from https://github.com/dotnet/coreclr/commit/6b837711f8cb1c572aec725a85c83decb00fc4da

7 years agoFix BitSetUint64, clean and improve the surrounding code. (dotnet/coreclr#11721)
Sergey Andreenko [Fri, 26 May 2017 16:13:08 +0000 (09:13 -0700)]
Fix BitSetUint64, clean and improve the surrounding code. (dotnet/coreclr#11721)

1. Add the functions that were not implemented in bitsetasuint64inclass/
2. BitSetUint64: make copy_constructor public
3. delete VARSET_INIT_NOCOPY and ALLVARSET_INIT_NOCOPY
4. delete VARSET_INIT and ALLVARSET_INIT.
5. Use the correct const type for VARSET_TP.

Commit migrated from https://github.com/dotnet/coreclr/commit/d85104ea4e8a6328323f31a06107e3579a098093

7 years agoMerge pull request dotnet/coreclr#11823 from hqueue/arm/ryujit/lsra_gc_helper
Carol Eidt [Fri, 26 May 2017 15:13:27 +0000 (08:13 -0700)]
Merge pull request dotnet/coreclr#11823 from hqueue/arm/ryujit/lsra_gc_helper

[RyuJIT/ARM][LSRA] Update register mask for GC helper

Commit migrated from https://github.com/dotnet/coreclr/commit/6e3aaf4b40ac36f97dd73864851aaffad1280a7f

7 years agoEETypeHashTable lookups can deadlock with GC during comparison with unrestored persis...
Jan Kotas [Fri, 26 May 2017 14:17:51 +0000 (07:17 -0700)]
EETypeHashTable lookups can deadlock with GC during comparison with unrestored persisted TypeHandles (dotnet/coreclr#11922)

Commit migrated from https://github.com/dotnet/coreclr/commit/a3c193780b8e055678feb06b2499cf8e7b41810c

7 years agoFix compile with disabled FEATURE_READYTORUN option (dotnet/coreclr#11875)
Petr Bred [Fri, 26 May 2017 14:17:05 +0000 (17:17 +0300)]
Fix compile with disabled FEATURE_READYTORUN option (dotnet/coreclr#11875)

- just remove FEATURE_READYTORUN definitions
in clrdefinitions.cmake to turn off option

Signed-off-by: Petr Bred <bredpetr@gmail.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/8a934c90711e0d1a915e309941a34db832395076

7 years ago[RyuJIT/ARM32] Update RMB for helper function
Hyung-Kyu Choi [Fri, 26 May 2017 07:12:33 +0000 (16:12 +0900)]
[RyuJIT/ARM32] Update RMB for helper function

Make RBM_CALLEE_TRASH be consistent with CORINFO_HELP_STOP_FOR_GC helper
which is JIT_RareDisableHelper defined in vm/arm/asmhelpers.S

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/c7598734c5bd0939bbcc9abe32f265a54ea973b4

7 years agoMerge pull request dotnet/corertdotnet/coreclr#3709 from dotnet/nmirror
Michal Strehovský [Fri, 26 May 2017 01:24:34 +0000 (18:24 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3709 from dotnet/nmirror

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/3613e93bb364a82efa1a0d0b82c89b996b043c52

7 years agoMerge pull request dotnet/coreclr#11917 from JosephTremoulet/RationalCall
Joseph Tremoulet [Fri, 26 May 2017 05:41:38 +0000 (01:41 -0400)]
Merge pull request dotnet/coreclr#11917 from JosephTremoulet/RationalCall

Clear GTF_CALL from non-calls in rationalize

Commit migrated from https://github.com/dotnet/coreclr/commit/74c988e2a5a59bb04df78088c9bb41206100cd24

7 years agoApply review feedback to increase readability
Hyung-Kyu Choi [Fri, 26 May 2017 01:39:25 +0000 (10:39 +0900)]
Apply review feedback to increase readability

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/567104a383fac969a32cb3eb393ac50c81ea6121

7 years agoRemove the check that requires an instrumented flags for mscorlib when collecting...
Brian Sullivan [Thu, 25 May 2017 22:27:15 +0000 (15:27 -0700)]
Remove the check that requires an instrumented flags for mscorlib when collecting IBC data
This is not needed for CoreCLR and blocks some valuable usage cases.

Commit migrated from https://github.com/dotnet/coreclr/commit/fa29376a493f76cb6328030f12e46c0943a6daa0

7 years agoMerge pull request dotnet/coreclr#11878 from CarolEidt/ContainLclVars
Carol Eidt [Thu, 25 May 2017 22:01:33 +0000 (15:01 -0700)]
Merge pull request dotnet/coreclr#11878 from CarolEidt/ContainLclVars

Make non-tracked lclVars contained

Commit migrated from https://github.com/dotnet/coreclr/commit/54370b62cda87d91d1660faa58e95f63b4b0d92c

7 years agoMerge pull request dotnet/coreclr#11919 from pgavlin/XunitTestResults
Pat Gavlin [Thu, 25 May 2017 21:55:27 +0000 (14:55 -0700)]
Merge pull request dotnet/coreclr#11919 from pgavlin/XunitTestResults

Add XUnit results for Windows_NT x86 jobs.

Commit migrated from https://github.com/dotnet/coreclr/commit/c633bdea4a6adf084122ad027c03fb590d2f6b9d

7 years agoMerge pull request dotnet/coreclr#11880 from mskvortsov/FixSetRegToCond
Pat Gavlin [Thu, 25 May 2017 21:35:24 +0000 (14:35 -0700)]
Merge pull request dotnet/coreclr#11880 from mskvortsov/FixSetRegToCond

[RyuJIT/arm32] Fix genRegSetToCond() for FP case

Commit migrated from https://github.com/dotnet/coreclr/commit/a30462946d3bc1e3f829adc05cae459cea8f130e

7 years agoAdd XUnit results for Windows_NT x86 jobs.
Pat Gavlin [Thu, 25 May 2017 21:29:48 +0000 (14:29 -0700)]
Add XUnit results for Windows_NT x86 jobs.

Commit migrated from https://github.com/dotnet/coreclr/commit/42d7d1f6e49ab78cbf6242f3e02eeffa90670c5e

7 years agoMake untracked lclVars contained
Carol Eidt [Fri, 28 Apr 2017 22:32:07 +0000 (15:32 -0700)]
Make untracked lclVars contained

Make untracked lclVars contained where possible.

Commit migrated from https://github.com/dotnet/coreclr/commit/205136aa1f74739879ce66e812732a553dfe05e3

7 years agoImplement Activity ID / Related Activity ID for EventSources Writing to EventPipe...
Brian Robbins [Thu, 25 May 2017 19:28:24 +0000 (12:28 -0700)]
Implement Activity ID / Related Activity ID for EventSources Writing to EventPipe (dotnet/coreclr#11904)

* Implement thread-local storage of activity ids.

* Plumb the activity id and related activity id into the trace file.

Commit migrated from https://github.com/dotnet/coreclr/commit/7ca2692405f255ce4a87d2c3ec263d938cf274fc

7 years agoClear GTF_CALL from non-calls in rationalize
Joseph Tremoulet [Thu, 25 May 2017 19:14:48 +0000 (15:14 -0400)]
Clear GTF_CALL from non-calls in rationalize

Since rationalization hoists comma antecedents out into separate
statements, any side-effects that the antecedent had might no longer apply
to the comma's ancestor nodes.  Moreover, in LIR, side-effect flags need
only describe the immediate node; summary flags are computed when Ranges
are constructed.  So, update rationalize to clear the `GTF_CALL` flag from
any node that is not a call.  Failure to do so gives an
overly-conservative view of side-effects, which can inhibit dead store
removal.

Commit migrated from https://github.com/dotnet/coreclr/commit/14641370874346619e391f333218da275f81508e

7 years agoMerge pull request dotnet/coreclr#11834 from jashook/renable_arm64_span_test
Jarret Shook [Thu, 25 May 2017 15:46:08 +0000 (08:46 -0700)]
Merge pull request dotnet/coreclr#11834 from jashook/renable_arm64_span_test

[Arm64 Windows] Renable SpanBench

Commit migrated from https://github.com/dotnet/coreclr/commit/ed1342ba2409cd8bc736380017ee39eaa1701cf2

7 years ago[ARM32/Linux] Copy tests.zip only for CI test
Hyeongseok Oh [Tue, 16 May 2017 10:37:03 +0000 (19:37 +0900)]
[ARM32/Linux] Copy tests.zip only for CI test

Copy tests.zip only from x64 Windows build for CI test
We can reduce saved build results of linux/arm in CI machine

Commit migrated from https://github.com/dotnet/coreclr/commit/821669e2a5c33e146e1fefa958f38ea56f740094

7 years agoAdds System.Runtime.CompilerServices.Runtimefeature.PortablePdb (dotnet/coreclr#11845)
Tomáš Matoušek [Thu, 25 May 2017 06:48:05 +0000 (23:48 -0700)]
Adds System.Runtime.CompilerServices.Runtimefeature.PortablePdb (dotnet/coreclr#11845)

Commit migrated from https://github.com/dotnet/coreclr/commit/6c4d14e1b2b6bcb975496bb9b4ea9befa53781fd

7 years agoRemove g_fEEManagedEXEStartup and g_fEEIJWStartup. (dotnet/coreclr#11907)
Aditya Mandaleeka [Thu, 25 May 2017 06:47:28 +0000 (23:47 -0700)]
Remove g_fEEManagedEXEStartup and g_fEEIJWStartup. (dotnet/coreclr#11907)

Commit migrated from https://github.com/dotnet/coreclr/commit/823180af6da15413f98bfc12d95423f1a80c0b01

7 years agoMark the EventPipe crst as host breakable. (dotnet/coreclr#11899)
Brian Robbins [Thu, 25 May 2017 01:19:22 +0000 (18:19 -0700)]
Mark the EventPipe crst as host breakable. (dotnet/coreclr#11899)

Commit migrated from https://github.com/dotnet/coreclr/commit/42d80a7fa4aa7dece7291b9d1be54955470dd625

7 years agoUpdate CoreClr, CoreFx to preview1-25323-01, preview1-25323-02, respectively (master...
dotnet bot [Thu, 25 May 2017 01:15:00 +0000 (18:15 -0700)]
Update CoreClr, CoreFx to preview1-25323-01, preview1-25323-02, respectively (master) (dotnet/coreclr#11809)

* Update CoreClr, CoreFx to preview1-25323-01, preview1-25323-02, respectively

* Update corefx package versions in projects

Commit migrated from https://github.com/dotnet/coreclr/commit/715845bfa33576badfd1a62177ea85581a5f105e

7 years ago[x86/Linux] Reentrant PEImage::Load (dotnet/coreclr#11867)
Jonghyun Park [Thu, 25 May 2017 00:42:31 +0000 (09:42 +0900)]
[x86/Linux] Reentrant PEImage::Load (dotnet/coreclr#11867)

* [x86/Linux] Reentrant PEImage::Load

* Use HasLoadedLayout and add comments

Commit migrated from https://github.com/dotnet/coreclr/commit/6cc2fb7a26040d6ab5a2f899008100a9d4f8622c

7 years agoApply review feedback
Hyung-Kyu Choi [Thu, 25 May 2017 00:29:26 +0000 (09:29 +0900)]
Apply review feedback

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/0a907c0ee24e0500df53e089cd36066877a8919e

7 years agoMerge pull request dotnet/coreclr#11894 from pgavlin/gh11804
Pat Gavlin [Wed, 24 May 2017 23:45:04 +0000 (16:45 -0700)]
Merge pull request dotnet/coreclr#11894 from pgavlin/gh11804

Never enregister type-punned regStruct lclVars.

Commit migrated from https://github.com/dotnet/coreclr/commit/284e31f746fe8c80c091b5e67a922100a9c95b0f

7 years agoFix Issue 11861 (dotnet/coreclr#11886)
Xiang Fan [Wed, 24 May 2017 22:51:38 +0000 (15:51 -0700)]
Fix Issue 11861 (dotnet/coreclr#11886)

* Fix issues exposed by building with MSVC and /permissive-.

Using full-qualified name to declare members inside class is ill-formed and incorrectly allowed by MSVC.
MSVC now gives error when /permissive- is used.

* Add a forward declaration for SafeAddRef from utilcode.h.
SafeAddRef in holder.h calls SafeAddRef in utilcode.h. The latter hasn't been declared yet, so it isn't a valid candidate during overload resolution.
It happens to work in MSVC default mode because of the lack of two phase name lookup.

Commit migrated from https://github.com/dotnet/coreclr/commit/0ad57d9177ac88aabbf9354b985c5ac192a307e7

7 years agoAllow RelativePointer::SetValue usage for non-DAC builds only (dotnet/coreclr#11891)
gbalykov [Wed, 24 May 2017 22:50:26 +0000 (01:50 +0300)]
Allow RelativePointer::SetValue usage for non-DAC builds only (dotnet/coreclr#11891)

Commit migrated from https://github.com/dotnet/coreclr/commit/f853a04ea9c80bf63419a07fe3fe2fefb23d25aa

7 years agoMerge pull request dotnet/coreclr#11893 from JosephTremoulet/WeakenIBRAssert
Joseph Tremoulet [Wed, 24 May 2017 22:12:28 +0000 (18:12 -0400)]
Merge pull request dotnet/coreclr#11893 from JosephTremoulet/WeakenIBRAssert

Weaken type assertion in gtNewLclNode

Commit migrated from https://github.com/dotnet/coreclr/commit/da79431bd20de055dae9a4de5696286018a1c47a

7 years agoMerge pull request dotnet/coreclr#11883 from JosephTremoulet/PromotedStructRefs
Joseph Tremoulet [Wed, 24 May 2017 21:44:28 +0000 (17:44 -0400)]
Merge pull request dotnet/coreclr#11883 from JosephTremoulet/PromotedStructRefs

Update full-struct references to promoted IBR args

Commit migrated from https://github.com/dotnet/coreclr/commit/ce0170d41761d604b6f5bb8cf2a0139ae86e1c2c

7 years agoIndicate if thread time events are in managed or native code. (dotnet/coreclr#11892)
Brian Robbins [Wed, 24 May 2017 21:43:54 +0000 (14:43 -0700)]
Indicate if thread time events are in managed or native code. (dotnet/coreclr#11892)

Commit migrated from https://github.com/dotnet/coreclr/commit/cd88c6919e75617fad6a6c6e772ee16f09d53ac2

7 years agoMerge pull request dotnet/coreclr#11832 from jashook/add_1_mod_1_case
Jarret Shook [Wed, 24 May 2017 20:37:59 +0000 (13:37 -0700)]
Merge pull request dotnet/coreclr#11832 from jashook/add_1_mod_1_case

Add the case 1 % 1 to our bringup test

Commit migrated from https://github.com/dotnet/coreclr/commit/2c83d8d2dbd8a99cdb99180f4371c1a5d7211a6f

7 years agoNever enregister type-punned regStruct lclVars.
Pat Gavlin [Wed, 24 May 2017 19:34:09 +0000 (12:34 -0700)]
Never enregister type-punned regStruct lclVars.

Type-punned lclVars--i.e. lclVars that are accessed via
`(INDIR Tx (ADDR (LCLVAR Ty V)))`--are currently considered
enregisterable if they are SIMD-typed, have not been the accessed by
field, and have not otherwise been declared unenregisterable. This
appears to be an oversight, as the JIT is not able to generate correct
code for the type-punned access if the lclVar is in fact enregistered.

This change removes the special case for these SIMD-typed lclVars.

Fixes dotnet/coreclr#11804.

Commit migrated from https://github.com/dotnet/coreclr/commit/e1bc678f35adb2d3f1ca40d0414bde2407159c2d

7 years agoWeaken type assertion in gtNewLclNode
Joseph Tremoulet [Wed, 24 May 2017 20:08:36 +0000 (16:08 -0400)]
Weaken type assertion in gtNewLclNode

Implicit byref parameters originally have struct type in both the lvaTable
and on their appearances in the IR.  In fgRetypeImplicitByRefArgs, the
types in the lvaTable are updated, and subsequently, during global morph,
in fgMorphImplicitByRefArgs, the types of their appearances in the IR are
updated.  Weaken an assertion in lcl var creation to allow the type
disagreement for implicit byref parameter references during global morph.

Fixes dotnet/coreclr#11831.

Commit migrated from https://github.com/dotnet/coreclr/commit/f0df32af682d50ecf3c6302f82ccbf0d3eaca8e9

7 years agoImprove comments around implicit byref rewrite
Joseph Tremoulet [Wed, 24 May 2017 19:37:15 +0000 (15:37 -0400)]
Improve comments around implicit byref rewrite

A number of fields on the LclVarDsc get hijacked during the multi-stage
rewrite of implicit-by-reference parameters; add comments at the fields'
declarations as well as the hijacking uses.

Commit migrated from https://github.com/dotnet/coreclr/commit/5e61addb63e2c3714c0bea6217239915112f25bc

7 years ago[Arm64/Win] Revise JIT_MemSet (dotnet/coreclr#11420)
Steve MacLean [Wed, 24 May 2017 18:31:44 +0000 (14:31 -0400)]
[Arm64/Win] Revise JIT_MemSet (dotnet/coreclr#11420)

* [Arm64/Win] Revise JIT_MemSet

This is the Windows equivalent of dotnet/coreclr#11217 which merged

* [Arm64/Win] Use csel<con> for csel

MS Assembler expects csel<cond> for the csel instruction

Commit migrated from https://github.com/dotnet/coreclr/commit/7bdf517d73dc8332e30af25deddb880a3b533794

7 years ago[x86/Linux] Thread-safe UMThunkMarshInfo::RunTimeInit (dotnet/coreclr#11864)
Jonghyun Park [Wed, 24 May 2017 17:34:59 +0000 (02:34 +0900)]
[x86/Linux] Thread-safe UMThunkMarshInfo::RunTimeInit (dotnet/coreclr#11864)

Commit migrated from https://github.com/dotnet/coreclr/commit/44285ef65b626db7954066ff596d6be07c7dd7a2

7 years agoUpdate full-struct references to promoted IBR args
Joseph Tremoulet [Wed, 24 May 2017 16:23:52 +0000 (12:23 -0400)]
Update full-struct references to promoted IBR args

Update fgMorphImplicitByRefArgs to rewrite references to struct-promoted
implicit-by-reference parameters as references to the new struct temps
created in fgRetypeImplicitByRefArgs; fgMorphStructField isn't updating
these because it's only interested in field references, and runs upstream
of fgRetypeImplicitByRefArgs where the full struct temp is created,
anyway.
Invert the sense of lvPromoted for implicit byref args in the interim
between fgRetypeImplicitByRefArgs and fgMarkDemotedImplicitByRefArgs,
since now fgMarkDemotedImplicitByRefArgs needs to update both and would
look horribly backwards the other way around.

Fixes dotnet/coreclr#11814.

Commit migrated from https://github.com/dotnet/coreclr/commit/0057a2f81e3a48e4b3e15bbb2f1b78d8ceb399e6

7 years agoRyuJIT/arm32: Fix genRegSetToCond for FP cases
Mikhail Skvortcov [Wed, 24 May 2017 15:01:36 +0000 (18:01 +0300)]
RyuJIT/arm32: Fix genRegSetToCond for FP cases

Commit migrated from https://github.com/dotnet/coreclr/commit/da9da2996d04b76ffb210013f4a2254eb5262ca4