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
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
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
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
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
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
sjsujinkim [Mon, 29 May 2017 06:39:38 +0000 (15:39 +0900)]
[RyuJit/ARM32] Adjust alignment for TYP_DOUBLE in tmpPreAllocateTemps
In dotnet/coreclr#11782,
Assertion failed 'spillTempSize <= lvaGetMaxSpillTempSize()' has been occurred in code generation phase.
Adjusting alignment for TYP_DOUBLE in tmpPreAllocateTemps is needed.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c540901ad3f658df844b8847df6c4c185f7c75c0
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