Jonghyun Park [Fri, 2 Jun 2017 13:12:19 +0000 (22:12 +0900)]
Invoke jitShutdown during ProcessShutdownWork (dotnet/coreclr#12054)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef4b192c83f7edd90c75d65ba5440327b3f9d276
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
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
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
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
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
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
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
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
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
[Arm64] Use inner shareable for instGen_MemoryBarrier
Commit migrated from https://github.com/dotnet/coreclr/commit/
f68e0e85b7f3caee90481857b67f418d68f3361e
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Hyung-Kyu Choi [Wed, 24 May 2017 11:16:06 +0000 (20:16 +0900)]
Merge remaining common arm32/arm64 lowering functions
- Merge Lowering::IsCallTargetInRange(void* addr)
- Merge Lowering::IsContainableImmed(GenTree* parentNode, GenTree* childNode)
- Define isRMWRegOper() for arm32 which is never used yet
After this commit, lowerarm.cpp and lowerarm64.cpp contains
only isRMWRegOper() which is never used in arm32/arm64.
We can now remove lowerarm.cpp and lowerarm64.cpp completely later
if these files are not necessary anymore.
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
8828acecea01c7a1f5cd175d6abf822223ceb9bb
Hyung-Kyu Choi [Wed, 24 May 2017 07:42:09 +0000 (16:42 +0900)]
Fix format
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
5e33fedd9f49f074d3ece70238271a1ad2a18000