Joseph Tremoulet [Tue, 6 Jun 2017 20:11:17 +0000 (16:11 -0400)]
Stop extraneously setting tail call stress
Tests GitHub_10780 and GitHub_11689 are repro cases for issues that don't
have anything to do with tail calls; the bit of code in their csproj's
that sets COMPlus_TailCallStress was an accidental copy-paste inclusion
from GitHub_11408. Remove that extra code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
51db0371abd26362b539813b1c0a8e6356ebf2e0
Carol Eidt [Tue, 6 Jun 2017 18:47:33 +0000 (11:47 -0700)]
Merge pull request dotnet/coreclr#12069 from CarolEidt/CrossGenMinOpts
Support COMPlus_JITMinOpts for crossgen
Commit migrated from https://github.com/dotnet/coreclr/commit/
e3e870ed7d5d6bf92a740712385ede9346c31262
Omair Majid [Tue, 6 Jun 2017 17:28:09 +0000 (13:28 -0400)]
Rename CMAKE_ENABLE_CODE_COVERAGE to CLR_CMAKE_ENABLE_CODE_COVERAGE (dotnet/coreclr#12106)
Commit migrated from https://github.com/dotnet/coreclr/commit/
794eca076a882fcd2639fa692ca457150940231b
Sergey Andreenko [Tue, 6 Jun 2017 17:19:11 +0000 (10:19 -0700)]
new JitEE interface method: expandRawHandleIntrinsic (dotnet/coreclr#12071)
Create a new JitEE method expandRawHandleIntrinsic. Delete old isDelegateCreationAllowed and getAddrModuleDomainID.
Support CORINFO_INTRINSIC_GetRawHandle.
Change JITEEVersionIdentifier.
fix MEASURE_CLRAPI_CALLS: add resolveVirtualMethod and expandRawHandleIntrinsic there.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b23a11e834074e3e030b42fc8d93083e15b7545d
Sean Gillespie [Tue, 6 Jun 2017 17:05:50 +0000 (10:05 -0700)]
Fix a bad merge for Windows standalone GC build (dotnet/coreclr#12097)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b68851126b20e4ad40219760bfe80b73fb6db835
Petr Bred [Tue, 6 Jun 2017 15:59:40 +0000 (18:59 +0300)]
Fix crash due to lack of PSPSym in the CoreRT ABI (dotnet/coreclr#12082)
Signed-off-by: Petr Bred <bredpetr@gmail.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
c87487709235e22217a57aee3703138825db3a39
Sean Gillespie [Tue, 6 Jun 2017 05:23:46 +0000 (22:23 -0700)]
[Local GC] Add TrapReturningThreads to the GC/EE interface (dotnet/coreclr#12067)
Commit migrated from https://github.com/dotnet/coreclr/commit/
bab2cc30b1516cd257aba763c7a1c06497219ede
Viktor Hofer [Mon, 5 Jun 2017 23:17:54 +0000 (01:17 +0200)]
TypeForwardedFrom attributes on coretypes for NetFX serialization (dotnet/coreclr#12059)
* TypeForwardedFrom attributes on coretypes for NetFX serialization
* ValueTuple added
* Removed StubEnvironment typeforwards
* Modified FQAN for some special type forwards
* Support desktop to core serialization with InternalsVisibleTo for mscorlib
* Remove typeforwards from nested types
* Removed unused file
Commit migrated from https://github.com/dotnet/coreclr/commit/
5b9680fcc9b6fe9429f4a649bf5215de273fcbec
Jan Kotas [Mon, 5 Jun 2017 19:38:24 +0000 (12:38 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3793 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/
be6dc5d8895658cc03204231dc39aff516033683
Sean Gillespie [Mon, 5 Jun 2017 22:42:03 +0000 (15:42 -0700)]
Disable AppDomainLeaks configuration option for now until it is removed (dotnet/coreclr#12095)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4b7e3ef155f6b1c149a5345109d8a03f3efcc187
Brian Sullivan [Mon, 5 Jun 2017 22:28:48 +0000 (15:28 -0700)]
Merge pull request dotnet/coreclr#11205 from mskvortsov/FixFloatingLdSt
[RyuJIT/ARM32] Workaround vstr/vldr addressing modes limitations
Commit migrated from https://github.com/dotnet/coreclr/commit/
4a796cfcf3cf210150a541c7a9f136fb2f008b31
Pat Gavlin [Mon, 5 Jun 2017 21:33:58 +0000 (14:33 -0700)]
Merge pull request dotnet/coreclr#12091 from pgavlin/TailCallStress11689
Disable tail call stress in GH_11689 if ZapDisable is enabled.
Commit migrated from https://github.com/dotnet/coreclr/commit/
31bec3b1387be343928dabe2f03e808788e6c65d
Pat Gavlin [Mon, 5 Jun 2017 21:06:45 +0000 (14:06 -0700)]
Merge pull request dotnet/coreclr#11884 from mikedn/arm-cmp-setcc
[WIP] Lower long compares that are materialized into a register for ARM32
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d33c81d18b010c36e071fa44a7bf9142efe286d
Matt Ellis [Mon, 5 Jun 2017 20:44:29 +0000 (13:44 -0700)]
Merge pull request dotnet/coreclr#12072 from ellismg/update-buildtools
Update BuildTools
Commit migrated from https://github.com/dotnet/coreclr/commit/
70deb0e97e0292b1ffaf0d216a9464ba0fe0db1d
Matt Galbraith [Mon, 5 Jun 2017 20:05:43 +0000 (13:05 -0700)]
Merge pull request dotnet/coreclr#12085 from dotnet/Clean_up_properties_sent_for_Publish_builds
Make all publish legs of CoreCLR uniform and match existing ones.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6c428ae27b1faf31fda638d0a19722708cc2b9b2
Pat Gavlin [Mon, 5 Jun 2017 19:49:24 +0000 (12:49 -0700)]
Disable tail call stress in GH_11689 if ZapDisable is enabled.
Tail call stress does not mix well with ZapDisable due to the issues
described in dotnet/coreclr#11408.
Commit migrated from https://github.com/dotnet/coreclr/commit/
128aabe5906df83f14cae09d5da5cb7d068b2e7b
Matt Galbraith [Mon, 5 Jun 2017 17:34:46 +0000 (10:34 -0700)]
Make all publish legs of CoreCLR uniform and match existing ones. Previously Release - Publish symbols was in the CoreFX-style format and the other three were not. This unifies them.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f9eaa5b85ce5805033b0b7b6afaad5f5aa9c1d6a
Xiangyang (Mark) Guo [Mon, 5 Jun 2017 17:16:27 +0000 (10:16 -0700)]
Inline YieldProcessor on Linux (dotnet/coreclr#12058)
Commit migrated from https://github.com/dotnet/coreclr/commit/
be28ab1ad1159f784254e4a77e2fe9cd99dc34c8
More ldar/stlr support
Commit migrated from https://github.com/dotnet/coreclr/commit/
fe7fe9d469a7576c0cada070444043a1955fb0dc
[Arm64] Add emitInsTargetRegSize support for ldar/stlr
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f96ea9b4f82e94de1053eae877ab468950f3e15
Carol Eidt [Mon, 5 Jun 2017 15:34:55 +0000 (08:34 -0700)]
Merge pull request dotnet/coreclr#12025 from hseok-oh/ryujit/remorph_filedlist
Skip argTable assignment for split struct when remorphing
Commit migrated from https://github.com/dotnet/coreclr/commit/
248e0ba9b5333ba2b743d1175bbf9d4456051bd2
Hyeongseok Oh [Mon, 5 Jun 2017 13:55:49 +0000 (22:55 +0900)]
Update morph.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
ce494d1acdc54321e485e0baa69d4e4d4187b98b
Mikhail Skvortcov [Wed, 24 May 2017 12:42:41 +0000 (15:42 +0300)]
Fix an excess allocation of internal registers
Commit migrated from https://github.com/dotnet/coreclr/commit/
bc45210cd8479f0c0bebb3b11764cc7d8cde8061
Mikhail Skvortcov [Tue, 23 May 2017 15:45:02 +0000 (18:45 +0300)]
Forbid making lea contained for vstr/vldr
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc2dacc03d2ee76c0207f0d6c5149ab18209dce0
Mikhail Skvortcov [Tue, 23 May 2017 13:44:58 +0000 (16:44 +0300)]
Modify genCreateAddrMode to make it behave the same way as on arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
6e9a8132b35adaeca216507935af8b28489d3a59
Mikhail Skvortcov [Tue, 23 May 2017 13:25:07 +0000 (16:25 +0300)]
Adapt shared genLeaInstruction for arm32
Commit migrated from https://github.com/dotnet/coreclr/commit/
eef101ffeabd39d45240c7a12a6449f386ae3abd
Mikhail Skvortcov [Tue, 23 May 2017 12:25:44 +0000 (15:25 +0300)]
Remove arm32's genLeaInstruction
Commit migrated from https://github.com/dotnet/coreclr/commit/
f1ea814c3d53387f1082cd5383ff355299269a24
Mikhail Skvortcov [Tue, 23 May 2017 12:19:45 +0000 (15:19 +0300)]
Move arm64's genLeaInstruction into codegenarmarch.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac8d76d9456b94fffff2c36d99d9dbb44b429452
Mikhail Skvortcov [Tue, 23 May 2017 12:12:22 +0000 (15:12 +0300)]
Revert commit
dfca51c6
Commit migrated from https://github.com/dotnet/coreclr/commit/
251b7d27b09b10227e439ce26b918c06a60e5aed
Hyeongseok Oh [Mon, 5 Jun 2017 03:28:14 +0000 (12:28 +0900)]
Revert and remove isReMorph argument
- Revert commit that is removing nextSlotNum update in remorphing phase
- Remove isReMorph argument in SplitArg by using argsComplete
Commit migrated from https://github.com/dotnet/coreclr/commit/
f24b7f044873c1baa7f397874b47fe2a08361b69
Vance Morrison [Sat, 3 Jun 2017 15:30:36 +0000 (08:30 -0700)]
Additional fix for ETW failure in 32 process on 64 bit machines. (dotnet/coreclr#12022)
* Addtional fix for ETW failure in 32 process on 64 bit machines.
The commit associated with Pull Request
Fix failures in ETW logging on 4GB aware 32 bit processes dotnet/coreclr#11941
Was incorrect. Some long were changed to ulong, but the critical casting an IntPtr to ulong still does
sign extention and not zero extension. Need to cast to a void* first. This fixes this.
Commit migrated from https://github.com/dotnet/coreclr/commit/
170c8257ea663d95f8ea61b146473be54090905e
Matt Ellis [Sat, 3 Jun 2017 05:47:15 +0000 (22:47 -0700)]
Merge pull request dotnet/coreclr#12068 from omajid/master
Fix typo in CRL_CMAKE_WARNINGS_ARE_ERRORS
Commit migrated from https://github.com/dotnet/coreclr/commit/
709ef77e522ddb9637a6339716185befaee78d64
gbalykov [Sat, 3 Jun 2017 03:31:28 +0000 (06:31 +0300)]
Remove relocations from SECTION_MethodDesc for ngened images for fields accessed from jit code for Linux ARM (dotnet/coreclr#11963)
Commit migrated from https://github.com/dotnet/coreclr/commit/
fd3668c7c9b9f5d64b5e6d1edf8c55a307cd3c2d
Koundinya Veluri [Sat, 3 Jun 2017 00:04:17 +0000 (17:04 -0700)]
Call sched_yield directly for Sleep(0) (dotnet/coreclr#12063)
Related to PR dotnet/coreclr#12057
Commit migrated from https://github.com/dotnet/coreclr/commit/
b47b138d595267315008885e6ac7e2f4322cc5a9
Carol Eidt [Fri, 2 Jun 2017 23:40:07 +0000 (16:40 -0700)]
Support COMPlus_JITMinOpts for crossgen
In order to better enable throughput measurement and analysis,
we would like to be able to specify COMPlus_JITMinOpts with crossgen.
Commit migrated from https://github.com/dotnet/coreclr/commit/
ee44c56288f3d19271b665981d2ec32b8fa83ef6
Omair Majid [Fri, 2 Jun 2017 23:00:26 +0000 (19:00 -0400)]
Fix typo in CRL_CMAKE_WARNINGS_ARE_ERRORS
Commit migrated from https://github.com/dotnet/coreclr/commit/
848a32e6fad7f53daa30eaa14a351d0eb81926b5
Matt Ellis [Fri, 2 Jun 2017 22:59:40 +0000 (15:59 -0700)]
Update BuildTools
This picks up some changes to how the tool runtime is published (we
now publish it as a portable app so we have less random .so's lying
around).
Commit migrated from https://github.com/dotnet/coreclr/commit/
48a57f3aa29c07462eaff1db73ea14bd260906a6
Roman Artemev [Fri, 2 Jun 2017 22:42:54 +0000 (15:42 -0700)]
Merge pull request dotnet/coreclr#12064 from rartemev/fix_bash_script_issues
Fix path in bash script that runs test
Commit migrated from https://github.com/dotnet/coreclr/commit/
8917ed138d322f2791dc3def3392ff72ba5b0e80
Xiangyang (Mark) Guo [Fri, 2 Jun 2017 21:24:47 +0000 (14:24 -0700)]
fix procCount assertion (dotnet/coreclr#12065)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9341c39ac73478a75a4486c74599105b4f12b033
Bar Arnon [Fri, 2 Jun 2017 21:24:29 +0000 (00:24 +0300)]
Tiny typo in TaskCompletionSource xml comment (dotnet/coreclr#12066)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0e6407b7a3b89c33bb05882f4b59c99769425fc4
Omair Majid [Fri, 2 Jun 2017 20:55:14 +0000 (16:55 -0400)]
Add support for not breaking *nix build on warnings (dotnet/coreclr#12039)
Add a build flag to make -Werror optional and let the build continue
even in the presence of warnings.
This option is very useful for anyone compiling with a different
(version of the) compiler. A different (version of the) compiler may
produce a different set of warnings and a piece of code that compiles
without warnings may emit warnings with a different (version of the)
compiler.
Resolves https://github.com/dotnet/coreclr/issues/8586
Commit migrated from https://github.com/dotnet/coreclr/commit/
f7ce37729328d4f1061bd8bb52e3eecb0e49486c
Jan Kotas [Wed, 31 May 2017 06:22:43 +0000 (23:22 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3745 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/
23126aa5b7d6dc7b58301df7d0af1ccdf805224d
Sean Gillespie [Fri, 2 Jun 2017 19:08:18 +0000 (12:08 -0700)]
Merge pull request dotnet/coreclr#11699 from swgillespie/local-gc-branch-merge
Integration from dev/local-gc into master
Commit migrated from https://github.com/dotnet/coreclr/commit/
450237b03534fca21f08cd295289b0ba275629e3
Roman Artemev [Fri, 2 Jun 2017 18:47:04 +0000 (11:47 -0700)]
attempt to fix r2r test failures
Commit migrated from https://github.com/dotnet/coreclr/commit/
19dabb0e79a08f9925d205a0d22114a75df10967
Bruce Forstall [Fri, 2 Jun 2017 18:41:22 +0000 (11:41 -0700)]
Merge pull request dotnet/coreclr#11803 from BruceForstall/FixRuntest
Update runtest.cmd help to reflect reality
Commit migrated from https://github.com/dotnet/coreclr/commit/
adaaa2e65127660166b7d2a3454e154f61f8218f
Xiangyang (Mark) Guo [Fri, 2 Jun 2017 18:28:36 +0000 (11:28 -0700)]
fix SleepEx(0,false) on Linux (dotnet/coreclr#12057)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c872d15409b4ac969be4b33df3a74721e6e2c3ee
Sean Gillespie [Fri, 2 Jun 2017 17:17:53 +0000 (10:17 -0700)]
Return 0 on success from GC Reliability Framework scripts (dotnet/coreclr#11990)
* Return 0 on success from GC Reliability Framework scripts
* Don't save standard out, Jenkins already does this
Commit migrated from https://github.com/dotnet/coreclr/commit/
392c4e10e4bbdb16d9e3a0d231433fdc15bca0fb
Carol Eidt [Fri, 2 Jun 2017 16:51:37 +0000 (09:51 -0700)]
Merge pull request dotnet/coreclr#11957 from sjsinju/spill_temp_size
[RyuJit/ARM32] Adjust alignment for TYP_DOUBLE in tmpPreAllocateTemps
Commit migrated from https://github.com/dotnet/coreclr/commit/
65a0c4c2d276b44421ed31c7abcab0fb125cd606
Carol Eidt [Fri, 2 Jun 2017 16:50:31 +0000 (09:50 -0700)]
Merge pull request dotnet/coreclr#12003 from sjsinju/reg1_reg2_planB
[RyuJit/ARM32] Fix wrong behavior of UINT->CHAR casting
Commit migrated from https://github.com/dotnet/coreclr/commit/
44e0a91fa4105a0bea10f6ac96f05d49f579cfb3
Michal Strehovský [Fri, 2 Jun 2017 16:25:48 +0000 (09:25 -0700)]
Add support for flat vtables in RyuJIT (dotnet/coreclr#12041)
CoreRT needs one less indirection to get to the virtual method.
On CoreCLR a virtual method call resolution goes like:
```
this -> MethodTable -> chunk(?) -> slot
```
On CoreRT, it's more flat:
```
this -> EEType -> slot
```
Commit migrated from https://github.com/dotnet/coreclr/commit/
41761e0deeb19a6d166a8ab432b7edacd5fc89df
Yi Zhang (CLR) [Fri, 2 Jun 2017 16:10:34 +0000 (09:10 -0700)]
Fix a bug in LoadNativeStringResource to honor the contract properly when the buffer is not big enough (dotnet/coreclr#12051)
* Return last error properly
* adjust pcwchUsed if ERROR_INSUFFICIENT_BUFFER
* return hr
* ERROR_INSUFFICIENT_BUFFER is a win32 error....
Commit migrated from https://github.com/dotnet/coreclr/commit/
3a6895ebcc29e0ad84bef61a216433e99fda5f6c
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
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
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
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
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
Hyeongseok Oh [Fri, 2 Jun 2017 04:51:33 +0000 (13:51 +0900)]
Fix formatting and bug
Fix formatting
Fix bug: DEBUG flag usage
Commit migrated from https://github.com/dotnet/coreclr/commit/
72e1404db6e53ba31d05939f8f946f457f9f60e1
Hyeongseok Oh [Fri, 2 Jun 2017 03:18:10 +0000 (12:18 +0900)]
Remove updating nextSlotNum in remorphing phase
Remove updating nextSlotNum in remorphing phase
Remain updating it in remorphing phase for debugging only.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bc11d0fcc51c2bc1972c19c2594f07a611002f2b
sjsujinkim [Fri, 2 Jun 2017 01:25:34 +0000 (10:25 +0900)]
Modify comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
034d68202d17bd97624c54a52caa3ec1ad4c5d9b
Hyeongseok Oh [Fri, 2 Jun 2017 01:12:47 +0000 (10:12 +0900)]
Fix formatting
Commit migrated from https://github.com/dotnet/coreclr/commit/
210d6bdca85fa07121eda8d8372fe93c358a523b
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
Sean Gillespie [Thu, 1 Jun 2017 21:07:19 +0000 (14:07 -0700)]
Fix warnings on 32-bit platforms
Commit migrated from https://github.com/dotnet/coreclr/commit/
0597a34b570d359d34a03c74e1007025c43ae7e8
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
Sean Gillespie [Thu, 1 Jun 2017 17:17:35 +0000 (10:17 -0700)]
[Local GC] Remove uses of g_SystemInfo from the GC (dotnet/coreclr#11628)
* [Local GC] Don't use g_SystemInfo to infer the number of processors
* [Local GC] Avoid using g_SystemInfo.dwAllocationGranularity from within
the GC.
In a few places, the GC aligns the size of a request memory reservation
to the allocation granularity before calling
GCToOSInterface::VirtualReserve. Upon inspection, this isn't necessary.
* [Local GC] Remove uses of g_SystemInfo from the handle table
* Add new API on GCToOSInterface for querying the total number of procs on the machine
Commit migrated from https://github.com/dotnet/coreclr/commit/
77eb339752afa774655d88121f4d8f5de05f6d0a
Sean Gillespie [Tue, 30 May 2017 21:20:16 +0000 (17:20 -0400)]
[Local GC] Obtaining configuration information (dotnet/coreclr#11379)
* [Local GC] Skeleton for GC configuration
* Initial tweaks after design feedback:
1) Use string keys instead of enums. Upon receiving a string key,
the EE looks at it and, if it's something that comes from startup
flags, responds using the startup flag information. Otherwise, it
forwards the string onto CLRConfig.
2) Add a mechanism for getting string configuration values from the
EE. This includes adding a RAII wrapper around strings so that they
are freed correctly.
* Remove uses of g_pConfig from the GC and replace with GCConfig
* Use the GCConfig system for the GC log
* Fix poorly-named parameter
* Add documentation and caching of bool and int configs obtained from the EE
* Remove AppDomainLeaks as dead code
* Remove GC trace configs as dead code
* Repair unix build
* Fix an issue where we started the GC in the wrong latency mode
* Fix the unix build
* Pipe GCRetainVM configuration to the GC
* Dead code removal in the GC sample
* EEConfig -> GCConfig for heap verification constants in the GC
* Populate config information for bools and ints eagerly at startup
* Initialize g_theGCToCLR before initializing GCConfig
* Propegate HoardVM config to the GC
* Fix an incorrect comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
0834425813497593ceda8bb0ae12dcc463011d7c
Sean Gillespie [Tue, 16 May 2017 17:19:36 +0000 (10:19 -0700)]
[Local GC] Add async pinned handle methods to the handle interface (dotnet/coreclr#11569)
* [Local GC] Add async pinned handle methods to the handle interface
* Add a callback to HandleAsyncPinnedHandles for handle enumeration
* Rename HandleAsyncPinnedHandles -> EnumerateAsyncPinnedHandles
* Introduce typedef for function pointer type
Commit migrated from https://github.com/dotnet/coreclr/commit/
eb12b78102f2b54dc082caabcd1b59b42166509b
Sean Gillespie [Sat, 13 May 2017 06:37:21 +0000 (23:37 -0700)]
[Local GC] Fix handle table interface violation (dotnet/coreclr#11558)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e3b5718374614828b2540efe7ed911ce4dcb484f
Sean Gillespie [Wed, 17 May 2017 22:41:34 +0000 (15:41 -0700)]
[Local GC] Fix some handle table interface violations in COMDependentHandle (dotnet/coreclr#11358)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f66b465dbe7774ff7514d4f2e160f0616b4085a
Sean Gillespie [Wed, 17 May 2017 22:23:04 +0000 (15:23 -0700)]
Fix a build break in feature branch caused by obsolete error (dotnet/coreclr#11335)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5529df988f80e7fe67ec46f9f6cbd169fdf7edd5
Sean Gillespie [Wed, 17 May 2017 22:07:34 +0000 (15:07 -0700)]
[Local GC] Scaffolding for loading a standalone GC (dotnet/coreclr#11242)
* Configure the build system to build a CoreCLR capable of loading a standalone GC
* Proto-implementation of dynamic GC loading
* Build the GC with the VM's CMakeLists when doing a non-standalone build of the GC
* [Local GC] Introduce a new feature define, FEATURE_STANDALONE_GC_ONLY, to be used by the CI to explicitly test local GC dynamic loading code paths
* Fix the FEATURE_STANDALONE_GC_ONLY build for unix linkers
* Rebase against master
* Code review feedback: use the existing Unix exports file
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a183684b1ecf63ece8a2fd80173f083c0deea52
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
Hyeongseok Oh [Thu, 1 Jun 2017 01:19:16 +0000 (10:19 +0900)]
[RyuJIT/ARM32] Skip argTable info assignment for split struct when remorphing
- Skip argTable no. of register & stack slot assignment for split struct when remorphing
- Modify assertion check condition for structs morphed to GT_FIELD_LIST
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f97a03ac99ea21c8f6089051bd761f04de3394c
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
sjsujinkim [Wed, 31 May 2017 09:39:08 +0000 (18:39 +0900)]
[RyuJit/ARM32] Fix wrong behavior of UINT->CHAR casting
'JIT\Regression\CLR-x86-JIT\V1-M11-Beta1\b44879\b44879\b44879.cmd'
When UINT cast to CHAR, MOV instruction had been emitted with R0 to R0 for extending the type.
It is wrong behavior to cast.
In case of INT to BOOL casting, that use uxtb instruction to extend BOOL type.
So this PR would use a uxth instruction too insted of wrong mov instruction.
@dotnet/arm64-contrib @dotnet/arm32-contrib Please make sure this code is okay.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c3f1c64df2fcdac4ce609e55c6809e590790a08
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