Austin Wise [Thu, 2 Mar 2017 09:28:56 +0000 (01:28 -0800)]
Remove CLRThreadpoolHosted as it always returns false. (dotnet/coreclr#9899)
Commit migrated from https://github.com/dotnet/coreclr/commit/
542ca8e3fe40dcea5c7c69bc20915ca41b8b3f97
Jonghyun Park [Thu, 2 Mar 2017 07:50:11 +0000 (16:50 +0900)]
[x86/Linux] Clean up EXCEPTION_REGISTRATION_RECORD (dotnet/coreclr#9895)
Commit migrated from https://github.com/dotnet/coreclr/commit/
262f09cbb657febc7454ca8a9675d3213d5ee8a0
Ahson Ahmed Khan [Thu, 2 Mar 2017 07:49:08 +0000 (23:49 -0800)]
Temporarily disabling SpanBench tests that use indexer setter. (dotnet/coreclr#9896)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e859c309438caf04d715f2b11427935565b322d4
Matt Warren [Thu, 2 Mar 2017 06:57:52 +0000 (06:57 +0000)]
Update links to point to valid BotR pages - One extra link that was missed out (dotnet/coreclr#9878)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e5b44487f70d08be3909bc50af543f21d9e3c260
Michal Strehovský [Thu, 2 Mar 2017 06:15:34 +0000 (22:15 -0800)]
Use the correct class handle for fat call temporary (dotnet/coreclr#9893)
`clsHnd` is the class handle of the type that owns the method for
`opcode != CEE_CALLI`. We need the class handle for the method's
return type though.
This is ending up with RyuJIT asking weird questions over JitInterface
(`getClassGClayout` of a reference type).
Also removing a line that was added in dotnet/coreclr#9191 to support the old code.
Commit migrated from https://github.com/dotnet/coreclr/commit/
58010850217463943ba5910ddc8303b9d36f709e
Koundinya Veluri [Thu, 2 Mar 2017 04:52:15 +0000 (20:52 -0800)]
Preallocate jump stubs for dynamic methods (dotnet/coreclr#9883)
Preallocate jump stubs for dynamic methods
- This eliminates the possibility of running into an out-of-memory situation after compiling the method
- The temporary entry points block containing FixupPrecodes is extended for dynamic methods to include sufficient space for jump stubs
- When the target is too far for the FixupPrecode to encode a short relative jump, it instead does a short relative call or jump to the corresponding jump stub, which does an absolute jump to the target
Commit migrated from https://github.com/dotnet/coreclr/commit/
4bafc1004b99013eaa58450e4f974dc7169b5af1
Ahson Ahmed Khan [Thu, 2 Mar 2017 04:16:40 +0000 (20:16 -0800)]
Adding Span API perf tests for comparison with arrays and to monitor progress (dotnet/coreclr#9790)
* wip
* Adding Span API perf tests for comparison with arrays and to monitor progress
* Reducing iteration count so tests finish in < 2 minutes
* Reducing the number of test cases
* Commenting out ref DangerousGetPinnableReference test
* Updated csproj to use latest compiler
* Tuning test cases and runtime
Commit migrated from https://github.com/dotnet/coreclr/commit/
1bf3bbb44397875e94ae95b8527fd1928b5373fe
Tarek Mahmoud Sayed [Thu, 2 Mar 2017 02:20:18 +0000 (18:20 -0800)]
Cleanup the native globalization code (dotnet/coreclr#9887)
* Cleanup the native globalization code
After we merged the globalization code used for Windows and Linux, this change is cleaning up the native VM globalization code
* Added a comment to the normalization code
Commit migrated from https://github.com/dotnet/coreclr/commit/
8597adf44830c451281ec42f0dbc2389e3395cfa
Andy Ayers [Thu, 2 Mar 2017 01:45:25 +0000 (17:45 -0800)]
Fix casing for newly added test (dotnet/coreclr#9889)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a6c048167bcf711a37d00fd4b15b324eac33c096
Gaurav Khanna [Thu, 2 Mar 2017 01:39:18 +0000 (17:39 -0800)]
Merge pull request dotnet/coreclr#9882 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25101-04 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c4ebfbd60672b51406630235c38469597d166880
Jan Kotas [Thu, 2 Mar 2017 01:28:42 +0000 (17:28 -0800)]
Cleanup (dotnet/coreclr#9892)
* Delete unused PdbTypeMatch tool
* Delete unused GetFileVersion.dll binary
* Delete bad comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
c666f11b70bf12ef2e4568e71c4547e8b2176911
Evgeny Pavlov [Thu, 2 Mar 2017 00:10:17 +0000 (03:10 +0300)]
[x86/Linux] Initial fix of arguments passing in FunctionPtrTest (WIP) (dotnet/coreclr#9855)
* [x86/Linux] Initial fix of incorrect arguments passing in FunctionPtrTest
Commit migrated from https://github.com/dotnet/coreclr/commit/
b0213b97838c4e1efe0eb2c3c60b78fec0d0da0c
Jan Vorlicek [Wed, 1 Mar 2017 23:36:12 +0000 (00:36 +0100)]
Fix incremental build on Unix (dotnet/coreclr#9779)
This change fixes issue with dactablerva.h being generated even if the
libcoreclr.so hasn't changed. Also, the dependency of the daccess.cpp
on this header was not honored by the build system and so even if the
dactablerva.h was regenerated with a different contents, the daccess.cpp
was not rebuilt.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6af7b26738149d46eaccbce631d670c949527ada
Steve MacLean [Wed, 1 Mar 2017 22:16:23 +0000 (17:16 -0500)]
[Arm64/Unix] Fix stack unwinding (dotnet/coreclr#9877)
This restore the functionality lost by dotnet/coreclr#9866 w/o functional
loss
Commit migrated from https://github.com/dotnet/coreclr/commit/
7b8f9d6c8f5b196b8cf7da6f4c49bf4149f3e15a
William Godbe [Wed, 1 Mar 2017 20:45:28 +0000 (12:45 -0800)]
Merge pull request dotnet/coreclr#9868 from wtgodbe/HelixPrep
Allow user to zip tests even when not building against packages
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc3626d4e6934fb02db038b527e665e310e33cd7
dotnet-bot [Wed, 1 Mar 2017 19:55:19 +0000 (19:55 +0000)]
Update CoreClr to beta-25101-04
Commit migrated from https://github.com/dotnet/coreclr/commit/
7c5fba17d228b3890b836b0a8cd257ea899c6213
Aditya Mandaleeka [Wed, 1 Mar 2017 18:29:32 +0000 (10:29 -0800)]
Merge pull request dotnet/coreclr#9770 from adityamandaleeka/card_bundles_unix_2
Implement second-level card tables for non-Windows platforms
Commit migrated from https://github.com/dotnet/coreclr/commit/
4a0a82a8dabaabb1e9a82af944d70aed210838a3
Pat Gavlin [Wed, 1 Mar 2017 17:07:11 +0000 (09:07 -0800)]
Merge pull request dotnet/coreclr#9871 from pgavlin/FixUninitBitsetAccess
Guard a use of a possibly-uninitialized BitSet.
Commit migrated from https://github.com/dotnet/coreclr/commit/
616519f957f13fbcb565ab408ccdf298c02f8ae6
Jon Hanna [Wed, 1 Mar 2017 16:53:33 +0000 (16:53 +0000)]
Timespan division and multiplication. (dotnet/coreclr#9804)
https://github.com/dotnet/corefx/issues/7175
Commit migrated from https://github.com/dotnet/coreclr/commit/
6edb2a5dfa302ba78d8b6e535249accbca3c90d5
Matt Warren [Wed, 1 Mar 2017 16:42:57 +0000 (16:42 +0000)]
Update links to point to valid BotR pages (dotnet/coreclr#9874)
As per comment from @jkotas,
https://github.com/dotnet/coreclr/issues/9306#issuecomment-
277282440
Commit migrated from https://github.com/dotnet/coreclr/commit/
0e2120ce9e6a3e5262b9b43c3302f06f79e4f658
Peter Kukol [Wed, 1 Mar 2017 15:51:31 +0000 (08:51 -0700)]
Streamlined MinOpts GC ref tracking. (dotnet/coreclr#9869)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d53b0ff28cdd4438419f8485fecfb92269e90cf5
Stephen Toub [Wed, 1 Mar 2017 15:10:26 +0000 (10:10 -0500)]
Merge pull request dotnet/coreclr#9831 from WinCPP/LazyInitializerNewOverloads
CoreFx dotnet/coreclr#16274 Implementation - New overloads of LazyInitializer.EnsureInitialized for reference types
Commit migrated from https://github.com/dotnet/coreclr/commit/
38b0df9987c86ee54c84609484564598fc4e47ca
Yongseop Kim [Wed, 1 Mar 2017 14:52:35 +0000 (23:52 +0900)]
[x86/linux] Add IsIPinVirtualStub() on x86/linux (dotnet/coreclr#9844)
* [x86/linux] Add IsIPinVirtualStub() on x86/linux dotnet/coreclr#9691
To pass Loader.classloader.methodoverriding.regressions.549411.exploit
test failure on x86/linux. This patch is from dotnet/coreclr#5542.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e491a912e393610f1c987f1f814fdd3d04160479
Steve MacLean [Wed, 1 Mar 2017 09:35:56 +0000 (04:35 -0500)]
[Arm64/Unix] Revert fix stack unwinding in CallDescrWorkerInternal (dotnet/coreclr#9866)
Commit migrated from https://github.com/dotnet/coreclr/commit/
af6738e34d1c5942dd23eed03c629a5dfaaae10c
Jonghyun Park [Wed, 1 Mar 2017 09:13:40 +0000 (18:13 +0900)]
[x86/Linux] Use ESTABLISHER_FRAME_POINTER_IS_CALLER_SP (dotnet/coreclr#9814)
* [x86/Linux] Introduce ESTABLISHER_FRAME_ADDRESS_IS_CALLER_SP
Commit migrated from https://github.com/dotnet/coreclr/commit/
6ed351c93499dfef402085727d574410ca79b561
Jonghyun Park [Wed, 1 Mar 2017 09:12:37 +0000 (18:12 +0900)]
[x86/Linux] Correct GetStackParameterSize on Funclet (dotnet/coreclr#9849)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6359b37c6f9db872f2c191ad7264637ea14f414
Pat Gavlin [Wed, 1 Mar 2017 04:51:07 +0000 (20:51 -0800)]
Guard a use of a possibly-uninitialized BitSet.
Part of the range check optimization pass was not checking to ensure that a bitset
was initialized before attempting to access it. This was causing one of the new
tests for Vector.Narrow to fail with an AV.
Commit migrated from https://github.com/dotnet/coreclr/commit/
06cdb2191857b6fab899b8ae1150604447e064ad
Stephen Toub [Wed, 1 Mar 2017 03:49:09 +0000 (22:49 -0500)]
Merge pull request dotnet/coreclr#9870 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25101-01 (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0420ddd5fd141620cf4a3cfba91913b8efe54b27
WinCPP [Wed, 1 Mar 2017 03:19:49 +0000 (08:49 +0530)]
Corefx dotnet/coreclr#16274 - LazyInitializer.EnsureInitialized overload for reference
types
LazyInitializer.EnsureInitialized overload for reference types that does
not take boolean for tracking initialization status of the reference
type object. Null check on the object parameter is sufficient to whether
or not it has been initialized.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6533e1d3838b636a63783e1fec6c958714137b6
Tarek Mahmoud Sayed [Wed, 1 Mar 2017 02:51:12 +0000 (18:51 -0800)]
Globalization merge (dotnet/coreclr#9835)
* Merging the Globalization code in coreclr
This change is merging the globalization code used for Linux and Windows. here Is come notes about this merge:
- Mainly picked most of the code from the corefx folder as it is well formatted and cleaned up before and then tweaked the implementation to work on Windows
- Tries to reduce the dependencies from Globalization code on the VM. this will give flexibility to work on the code without worrying the VM
- Provided the missing implementation as I removed many internal calls to the VM. This also help in having .Net Native have complete implementation for .net standard 2.0
- We may need to have some small tweaks when merging this globalization code to corert
- We'll need to do some clean up for the code which not used anymore in the VM
* Fix ifdef's
* Fix field name in linux build
* Fix field name in linux compilation
* Misc cleanup & return randomized hashing
* Fix missing method for Linux
* one more minor fix
* Fix Linux build
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2c684d4094d00c715d67238cf4f4650248d4ded
Jan Kotas [Wed, 1 Mar 2017 02:48:00 +0000 (18:48 -0800)]
Move files that are identical with CoreRT under mscorlib\shared (dotnet/coreclr#9861)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c51806139f11d22e5ec6e4862ca3764c69f5fbf
dotnet-bot [Wed, 1 Mar 2017 01:34:11 +0000 (01:34 +0000)]
Update CoreClr to beta-25101-01
Commit migrated from https://github.com/dotnet/coreclr/commit/
e75fcba645103575638e12924f14dbf5d8ad027a
Alex Perovich [Wed, 1 Mar 2017 01:19:16 +0000 (19:19 -0600)]
Merge pull request dotnet/coreclr#9865 from alexperovich/moveToShared
Add more shared sources
Commit migrated from https://github.com/dotnet/coreclr/commit/
5189999ffbf061b77f1508cabadbe9f88474b9c2
Pat Gavlin [Wed, 1 Mar 2017 01:13:54 +0000 (17:13 -0800)]
Merge pull request dotnet/coreclr#9609 from pgavlin/HandleContainedNodesEarlier
Handle contained nodes earlier in buildRefPositionsForNode.
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7890366a66f432c6aaf3e648bc801a0b50c9733
wtgodbe [Wed, 1 Mar 2017 01:05:01 +0000 (17:05 -0800)]
Allow user to zip tests even when not building against packages
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a3918cc9944c68b1b68b6a0c255a4c01860f138
Pat Gavlin [Wed, 1 Mar 2017 00:54:02 +0000 (16:54 -0800)]
Merge pull request dotnet/coreclr#9862 from mikedn/ge-vnf-gt
Fix broken GT_GE - VNF_GT_UN mapping
Commit migrated from https://github.com/dotnet/coreclr/commit/
80ced30a39f261b3b722530b36a293e0cf2d872b
Bruce Forstall [Wed, 1 Mar 2017 00:04:09 +0000 (16:04 -0800)]
Merge pull request dotnet/coreclr#9825 from mskvortsov/ryujit-arm32-pinvoke
[RyuJIT/ARM32] P/Invoke support
Commit migrated from https://github.com/dotnet/coreclr/commit/
c3051a767c4d3e0177924fea57c4a8e451f0c696
Aditya Mandaleeka [Mon, 27 Feb 2017 20:47:05 +0000 (12:47 -0800)]
Add 6 byte NOP instruction.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6b7fec4f171c4840d772ce3c608018474a9c24ae
Aditya Mandaleeka [Fri, 24 Feb 2017 18:23:43 +0000 (10:23 -0800)]
Implement card bundles for non-Windows platforms.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9ae6ed25affc42343a3f88f147ff4a5fbd1e9727
Pat Gavlin [Wed, 15 Feb 2017 01:08:44 +0000 (17:08 -0800)]
Handle contained nodes earlier in buildRefPositionsForNode.
These nodes never produce ref positions. Handling them earlier in this function
avoids a rather large amount of unnecessary work (e.g. this decreases overall
compile time by about 0.5% for `crossgen System.Private.CoreLib`).
Commit migrated from https://github.com/dotnet/coreclr/commit/
aa910800a204edff57b51d1cb3e7960dd0f98656
Pat Gavlin [Tue, 28 Feb 2017 23:14:52 +0000 (15:14 -0800)]
Merge pull request dotnet/coreclr#9794 from pgavlin/PutArgRegInit
Refactor register arg handling in TreeNodeInfoInit.
Commit migrated from https://github.com/dotnet/coreclr/commit/
83f142b8e4663e9401906766a47c3cd4fe5bf315
Alex Perovich [Tue, 28 Feb 2017 22:37:49 +0000 (14:37 -0800)]
Add more shared sources
Commit migrated from https://github.com/dotnet/coreclr/commit/
856f5f5e69f1e3b7bbffb552fc6acb76adfc33b8
Rahul Kumar [Tue, 28 Feb 2017 22:14:11 +0000 (14:14 -0800)]
Merge pull request dotnet/coreclr#9729 from rahku/hijackfix
add FP return values as part of HijackFrame
Commit migrated from https://github.com/dotnet/coreclr/commit/
22b692929ea417c1fda04ab337f80b55615fa13a
Jarret Shook [Tue, 28 Feb 2017 21:34:38 +0000 (13:34 -0800)]
Merge pull request dotnet/coreclr#9857 from jashook/arm64_inner_structs
Add the correct offset for finding nested structs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
68bc6d3f8fa5de084bef39be3455b65ad4999e92
Mikhail Skvortcov [Mon, 6 Feb 2017 14:46:17 +0000 (17:46 +0300)]
RyuJIT/ARM32: Enable P/Invoke lowering.
Commit migrated from https://github.com/dotnet/coreclr/commit/
af94355b2ba32c4baa8b76c2e57d81322f1780d8
Jan Vorlicek [Tue, 28 Feb 2017 19:19:24 +0000 (20:19 +0100)]
Fix mismatch in the cmake script endif condition (dotnet/coreclr#9859)
This change fixes a mismatch in the cmake script endif condition introduced
by dotnet/coreclr#9809.
Commit migrated from https://github.com/dotnet/coreclr/commit/
98ae83d08bb97de3e6e4bb68453dcd4680949734
Gaurav Khanna [Tue, 28 Feb 2017 19:02:07 +0000 (11:02 -0800)]
Merge pull request dotnet/coreclr#9781 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-25028-02, stable, respectively (master)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8b9ae26e519517a3a00f790eabda465ebf0c0578
Mike Danes [Tue, 28 Feb 2017 18:41:34 +0000 (20:41 +0200)]
Fix broken GT_GE - VNF_GT_UN mapping
Commit migrated from https://github.com/dotnet/coreclr/commit/
980c6a97ce722fce43b04ba05246e710b76291f5
Bruce Forstall [Tue, 28 Feb 2017 17:57:34 +0000 (09:57 -0800)]
Merge pull request dotnet/coreclr#9852 from mskvortsov/ryujit-arm32-label
[RyuJIT/ARM32] enable CG for GT_LABEL nodes
Commit migrated from https://github.com/dotnet/coreclr/commit/
404c9fd12660a83d85f1e4ae1cafcfbb9b4c7ab0
Andy Ayers [Tue, 28 Feb 2017 17:15:14 +0000 (09:15 -0800)]
Remove some unused benchmarks (dotnet/coreclr#9843)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6d1e688cb2bd37121c7de786b118b912ce0734c7
jashook [Tue, 28 Feb 2017 17:05:04 +0000 (09:05 -0800)]
Add the correct offset for finding nested structs.
As is the base offset of a nested struct that was a lclField was
being dropped.
Commit migrated from https://github.com/dotnet/coreclr/commit/
05a9adafd636a4d3a6723003169ca40c4ca7d9ff
Pat Gavlin [Tue, 28 Feb 2017 16:30:46 +0000 (08:30 -0800)]
Merge pull request dotnet/coreclr#9796 from pgavlin/FixOurGetThreadCycles
Fix _our_GetThreadCycles for clang/xarch.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7bb285caa21608a65c32472a5531dfd0d9c15100
Hyeongseok Oh [Tue, 28 Feb 2017 13:09:37 +0000 (22:09 +0900)]
Fix cross component builderror - CMakeLists.txt for PAL (dotnet/coreclr#9819)
define & use PAL_ARCH_SOURCES_DIR in PAL CMakeLists.txt to build assembly based on platform architecture.
root/CMakeLists.txt defines ARCH_SOURCES_DIR based on target architecture.
Commit migrated from https://github.com/dotnet/coreclr/commit/
67032ee80de8d219146b9ac192609884f784f23b
Mikhail Skvortcov [Tue, 28 Feb 2017 13:01:20 +0000 (16:01 +0300)]
RyuJIT/ARM32: enable CG for GT_LABEL nodes
Commit migrated from https://github.com/dotnet/coreclr/commit/
d0f6e8fd3678e6144a8421fe6df76c05d7e45ca9
Frederik Carlier [Tue, 28 Feb 2017 12:55:59 +0000 (13:55 +0100)]
Disable DBGIPC_TRANSPORT_DI and DBGIPC_TRANSPORT_VM on Android (dotnet/coreclr#9809)
* Disable DBGIPC_TRANSPORT_DI and DBGIPC_TRANSPORT_VM on Android
Commit migrated from https://github.com/dotnet/coreclr/commit/
b0a0d52e7d273a46ec6e2c39dbc816d98dcbe217
Jonghyun Park [Tue, 28 Feb 2017 10:36:55 +0000 (19:36 +0900)]
Use BIT64 instead of _WIN64 for LONG helpers (dotnet/coreclr#9845)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5118a077796a0aeab826ee5702b254026e97f458
dotnet-bot [Tue, 28 Feb 2017 09:28:23 +0000 (09:28 +0000)]
Update CoreClr, CoreFx to beta-25028-02, stable, respectively
Commit migrated from https://github.com/dotnet/coreclr/commit/
ae523d0eec109d87827000b13a4bff1642b6d794
Yongseop Kim [Tue, 28 Feb 2017 09:25:10 +0000 (18:25 +0900)]
[x86/linux] Implement BackPatchWorkerAsmStub (dotnet/coreclr#9690)
* [x86/linux] Implement BackPatchWorkerAsmStub
This implementation is ported from BackPatchWorkerAsmStub in
vm/i386/virtualcallstubcpu.hpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
e9ad7cf9690fdca6f4f3f1b6bafdebe9406db9b7
Sergey Andreenko [Tue, 28 Feb 2017 04:14:27 +0000 (20:14 -0800)]
Merge pull request dotnet/coreclr#9774 from sandreenko/coreRT-fat-pointers-fix
coreRT fat pointer hidden argument fix for calls with retBufArg
Commit migrated from https://github.com/dotnet/coreclr/commit/
04e30172080b8292e00771275c0b5d64198f42dc
Dan Moseley [Tue, 28 Feb 2017 03:39:04 +0000 (19:39 -0800)]
Replace INSIDE_CLR with CORECLR (dotnet/coreclr#9841)
Commit migrated from https://github.com/dotnet/coreclr/commit/
dd40277667a6e72f499be8eded2122b69049e2e7
Alex Perovich [Tue, 28 Feb 2017 02:54:54 +0000 (20:54 -0600)]
Move Used interop sources into shared folder (dotnet/coreclr#9840)
Commit migrated from https://github.com/dotnet/coreclr/commit/
6e32dcdda32b76b1767d55042c3a347c5fdbe8e3
Sergey Andreenko [Tue, 28 Feb 2017 02:41:40 +0000 (18:41 -0800)]
CC fix
Commit migrated from https://github.com/dotnet/coreclr/commit/
fdd63cdee5818cae8adb53af6720a21425d4622c
Andy Ayers [Tue, 28 Feb 2017 02:10:27 +0000 (18:10 -0800)]
Some tests for devirtualization (dotnet/coreclr#9834)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f8c2a6d20a408c955fee3c3167e557bf1b3ccba6
Jonghyun Park [Tue, 28 Feb 2017 02:06:38 +0000 (11:06 +0900)]
Use flags in exceptionhandling.cpp (dotnet/coreclr#9823)
* Add USE_FUNCLET_CALL_HELPER
* Use STACK_RANGE_BOUNDS_ARE_CALLER_SP
Commit migrated from https://github.com/dotnet/coreclr/commit/
0b64b09fb71fc997dd1e843a8745bd8b4bcc7753
Jonghyun Park [Tue, 28 Feb 2017 01:26:51 +0000 (10:26 +0900)]
[x86/Linux] Fix GetCurrentSP (dotnet/coreclr#9838)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c5dff6f62dd4e7b422b8931f60a7a1d9cb8364e0
Sergey Andreenko [Fri, 24 Feb 2017 21:39:36 +0000 (13:39 -0800)]
coreRT fat pointer hidden argument fix for calls with retBufArg
Commit migrated from https://github.com/dotnet/coreclr/commit/
792ffd6ac53ac576bc6893185c2bcaa68c589fa8
Aditya Mandaleeka [Mon, 27 Feb 2017 23:34:48 +0000 (15:34 -0800)]
Merge pull request dotnet/coreclr#9837 from adityamandaleeka/remove_useless_message
Remove useless message from runtest output.
Commit migrated from https://github.com/dotnet/coreclr/commit/
740b64d2513c68f8455444a90f477010f71093bf
Aditya Mandaleeka [Mon, 27 Feb 2017 23:30:15 +0000 (15:30 -0800)]
Remove useless message from runtest output.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4eb8117881e49efa90530ea9425dd1a8c388bb9c
Michal Strehovský [Mon, 27 Feb 2017 23:21:57 +0000 (15:21 -0800)]
Don't generate a runtime lookup for static base if not needed (dotnet/coreclr#9833)
`fgInitThisClass` makes sure that the type initializer for the type that
owns the method being compiled has run. On CoreCLR, the fallthrough code
somehow ends up not doing a runtime lookup if the owning type is not
canonical. We need to avoid it on CoreRT as well.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4fb2f0ff574502894ab7657fe89e9f9f99eafe1a
Pat Gavlin [Mon, 27 Feb 2017 21:05:59 +0000 (13:05 -0800)]
Merge pull request dotnet/coreclr#9795 from pgavlin/RefactorIsContained
Refactor isContained().
Commit migrated from https://github.com/dotnet/coreclr/commit/
6092f90e5a02c5a19d214b3d8f91a40550397ded
mikedn [Mon, 27 Feb 2017 20:44:27 +0000 (22:44 +0200)]
Improve BitConverter.ToIntNN methods (dotnet/coreclr#9803)
* Improve BitConverter.ToIntNN methods
- Avoid duplicate argument validation
- Fix failed optimization attempt: (uint)i < a.Length needs to be (uint) < (uint)a.Length otherwise it gets promoted to long and that's bad for 32 bit architectures
- Workaround JIT limitation: fixed variables cannot be enregistered
- Use Unsafe.ReadUnaligned to avoid alignment handling complications
- Use Unsafe.As instead of fixed as it generates shorter code
- Don't forward unsigned method to signed methods. The JIT doesn't want to inline the signed methods even though the generated code isn't significantly larger
Commit migrated from https://github.com/dotnet/coreclr/commit/
ac1dcaef3e9ddb5290b555db2aefca2adfe52419
mikedn [Mon, 27 Feb 2017 20:05:13 +0000 (22:05 +0200)]
Use Unsafe.ReadUnaligned/WriteUnaligned in UMA (dotnet/coreclr#9829)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2556db9fd8cefffab59ce79dabb8e605b8dd7129
mikedn [Mon, 27 Feb 2017 16:40:51 +0000 (18:40 +0200)]
Add Unsafe.ReadUnaligned/WriteUnaligned (dotnet/coreclr#9808)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f569cfa36924ea49c4976a36140c098c8f796bab
Jonghyun Park [Mon, 27 Feb 2017 15:00:42 +0000 (00:00 +0900)]
Use WIN64EXCEPTIONS to declare EE_PERSONALITY_ROUTINE helpers (dotnet/coreclr#9821)
Commit migrated from https://github.com/dotnet/coreclr/commit/
446b2a2bb39b9a803f4df3bdfb2fef68acf1b1a6
Jonghyun Park [Mon, 27 Feb 2017 14:57:20 +0000 (23:57 +0900)]
[x86/Linux] Clean up unused NakedThrowHelper stub (dotnet/coreclr#9824)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d93d27243f5567178815ddcce8188e10b992f1db
Jonghyun Park [Mon, 27 Feb 2017 10:07:05 +0000 (19:07 +0900)]
[x86/Linux] 16-byte aligned Funclet Helpers (dotnet/coreclr#9810)
Commit migrated from https://github.com/dotnet/coreclr/commit/
38a7266eb596e56511b4503eb8c92e49de1f97ef
Jonghyun Park [Mon, 27 Feb 2017 05:21:19 +0000 (14:21 +0900)]
Clean up PInvokeStubForHost and PInvokeStubForHostInner (dotnet/coreclr#9815)
Commit migrated from https://github.com/dotnet/coreclr/commit/
62fd770f1e7b362081ad50412ad337d79aa53c53
Jonghyun Park [Mon, 27 Feb 2017 05:20:43 +0000 (14:20 +0900)]
Clean up nested WIN64EXCEPTIONS-ifdef (dotnet/coreclr#9817)
Commit migrated from https://github.com/dotnet/coreclr/commit/
87ffa9cbd595edab1aabc943b2ba440fbac83611
Jonghyun Park [Mon, 27 Feb 2017 04:09:10 +0000 (13:09 +0900)]
[x86/Linux] Use _X86_ instead of _TARGET_X86_ (dotnet/coreclr#9816)
Commit migrated from https://github.com/dotnet/coreclr/commit/
dbb1ae49988642015eac970330797ae56eea983b
Jonghyun Park [Mon, 27 Feb 2017 02:46:19 +0000 (11:46 +0900)]
[x86/Linux] Clean up PopSEHRecords (dotnet/coreclr#9812)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef468f2da6a9a773625a32c09a190ffc73551113
Jonghyun Park [Mon, 27 Feb 2017 02:45:50 +0000 (11:45 +0900)]
[x86/Linux] Clean up CallRtlUnwind (dotnet/coreclr#9813)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e77ce643719f3868669ba38aaa6fc3da266396a8
Jonghyun Park [Mon, 27 Feb 2017 02:41:48 +0000 (11:41 +0900)]
[x86/Linux] Clean up ARRAY STUB(s) (dotnet/coreclr#9811)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2a132767ef30fcc807253978bcc6f92670ebc87
Jan Kotas [Sun, 26 Feb 2017 20:55:49 +0000 (12:55 -0800)]
Delete a bit of dead code (dotnet/coreclr#9801)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9a8106a6fc79649bd8296e84f457d10211eed9db
Pat Gavlin [Sun, 26 Feb 2017 05:10:01 +0000 (21:10 -0800)]
Merge pull request dotnet/coreclr#9789 from mikedn/le-intrinsic
Treat BitConverter.IsLittleEndian as an intrinsic
Commit migrated from https://github.com/dotnet/coreclr/commit/
c5e282295da8c3d17dafce5b84f47e23fec0b607
Eric Mellino [Sun, 26 Feb 2017 02:54:06 +0000 (18:54 -0800)]
Merge pull request dotnet/coreclr#9782 from mellinoe/ilasm-pathlength-fix
Increase the length of allowed parameters in ilasm
Commit migrated from https://github.com/dotnet/coreclr/commit/
3d775151e44099c9711b8558908e842efb4a5608
Jan Kotas [Sun, 26 Feb 2017 02:27:32 +0000 (18:27 -0800)]
Update BitConverter from CoreFX (dotnet/coreclr#9788)
* Update BitConverter from CoreFX
Related to dotnet/coreclr#9701
* Use ThrowHelper
Commit migrated from https://github.com/dotnet/coreclr/commit/
a5e01900f1b3f58006abb349ca2f96e33da47110
Ben Adams [Sun, 26 Feb 2017 00:02:14 +0000 (00:02 +0000)]
Better ArraySegment .ctor tests (dotnet/coreclr#9800)
Commit migrated from https://github.com/dotnet/coreclr/commit/
43647666150a40fd78caf1c58b2cc62e322f1e21
Hyung-Kyu Choi [Sat, 25 Feb 2017 19:24:16 +0000 (04:24 +0900)]
[ARM/CI] Fix arm32 CI git check failure (dotnet/coreclr#9798)
Because layout in corefx binary has been changed, it causes arm CI failure.
And skip arm32 tests because test is not working recently.
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
55382c594f7e1195b6fbff930bea6e1521495e07
Hyung-Kyu Choi [Sat, 25 Feb 2017 18:29:20 +0000 (03:29 +0900)]
[ARM/CI] Update arm CI to sync up with corefx change (dotnet/coreclr#9797)
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
318289269dc8e9ad48d6a8dff6a395d86759bb37
Pat Gavlin [Sat, 25 Feb 2017 18:09:00 +0000 (10:09 -0800)]
Fix _our_GetThreadCycles for clang/xarch.
The `"=A"` constraint in `asm volatile("rdtsc" : "=A"(cycles))` does not work as expected
on AMD64. Instead, the assembly must use an output constraint for both `eax` and `edx`
(i.e. `=a"(lo), "=d"(hi)`).
Commit migrated from https://github.com/dotnet/coreclr/commit/
6be8d477451eb69861cd000330990487ffa4fcc6
Pat Gavlin [Sat, 25 Feb 2017 01:16:35 +0000 (17:16 -0800)]
Refactor register arg handling in TreeNodeInfoInit.
The handling for outgoing register arguments in TreeNodeInfoInitCall was
unnecessarily complex and difficult to follow. In particular, the processing
of FIELD_LIST arguments performed a fair amount of unnecessary work,
contained code to deal with impossible IR patterns, and did not share any
code for handling the component PUTARG_REG nodes with the normal PUTARG_REG
case. This changes resolves all three of these issues and fixes an ordering
issue in lowering that was causing PInvoke prologs to remain unlowered.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8fdca7af58ae0e84400f2c2ba79276a819566e1d
Pat Gavlin [Fri, 24 Feb 2017 19:19:27 +0000 (11:19 -0800)]
Refactor isContained().
This changes isContained to terminate early if it is not possible for the node in question
to ever be contained. There are many nodes that are statically non-containable: any node
that is not a value may not be contained along with a small number of value nodes. To avoid
the need for a `switch` to identify the latter, their node kinds have been marked with a
new flag, `GTK_NOCONTAIN`. The checks for identifying non-containable nodes are encapsulated
withing a new function, `canBeContained`.
Commit migrated from https://github.com/dotnet/coreclr/commit/
350020d9b6a2bda08cf2e416d959c1801a717734
Jan Kotas [Sat, 25 Feb 2017 16:09:54 +0000 (08:09 -0800)]
Merge pull request dotnet/coreclr#9791 from dotnet/revert-9231-MinOptsSimplifiedGCtracking
Revert "Simplified MinOpts GC ref tracking."
Commit migrated from https://github.com/dotnet/coreclr/commit/
f6e419fa12f666c77841a8b97781d95cf30cd793
Jan Kotas [Sat, 25 Feb 2017 14:33:11 +0000 (06:33 -0800)]
Revert "Simplified MinOpts GC ref tracking."
Commit migrated from https://github.com/dotnet/coreclr/commit/
a77dae93c1708663e864e77159b16bdaee7c9635
Jan Vorlicek [Sat, 25 Feb 2017 10:08:35 +0000 (11:08 +0100)]
Fix GC hole when exception filter throws unhandled exception (dotnet/coreclr#9785)
The extra Unix specific piece of code in the StackFrameIterator::Filter that
handles the difference in the exception stack unwinding on Unix was not
skipping exception trackers belonging to filter clauses. But that was not
right, since filter funclet stack frames behave the same way on Windows and
Unix. They can be present on the stack when we reach their parent frame if
the filter hasn't finished running yet or they can be gone if the filter
completed running, either succesfully or with unhandled exception.
This change adds skipping of filter funclet related exception trackers at
that place so that the common code processes them.
This fixes the GC hole mentioned in the title that was discovered when
running some tests with GCStress mode 2.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f24ec95e0db5dcae011b394faf8c858c18d1bd65
Mike Danes [Sat, 25 Feb 2017 09:45:02 +0000 (11:45 +0200)]
Treat BitConverter.IsLittleEndian as an intrinsic
Commit migrated from https://github.com/dotnet/coreclr/commit/
9c6657e2339e9889d0680ec72c299ace4f33199b
James Ko [Sat, 25 Feb 2017 06:48:36 +0000 (01:48 -0500)]
Remove `this == null` checks from string.Equals (dotnet/coreclr#9768)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b5b8b1096171ffecfa0a7c1e643cae6cabd16a23
Alex Perovich [Sat, 25 Feb 2017 06:46:59 +0000 (00:46 -0600)]
Move S.Buffers and S.IO sources shared with corert into shared folder (dotnet/coreclr#9778)
Commit migrated from https://github.com/dotnet/coreclr/commit/
532c45a27aa2f804ed43448ef1666beeef6c96ae
Andy Ayers [Sat, 25 Feb 2017 01:51:10 +0000 (17:51 -0800)]
Merge pull request dotnet/coreclr#9756 from AndyAyersMS/RefCountGenericContext
JIT: keep ref count for runtime generic context lookups
Commit migrated from https://github.com/dotnet/coreclr/commit/
46994b9b3dd6de48f581f6d30eff0ad5c4092556
Stephen Toub [Sat, 25 Feb 2017 01:39:44 +0000 (20:39 -0500)]
Use clock_gettime(CLOCK_REALTIME) in DateTime.UtcNow (dotnet/coreclr#9772)
gettimeofday() is currently used in DateTime.UtcNow. Depending on the system, it may have accuracy and precision in line with either clock_gettime(CLOCK_REALTIME) or clock_gettime(CLOCK_REALTIME_COARSE), but in returning its data it's necessarily limited by struct timeval's tv_usec field (microseconds), whereas clock_gettime uses struct timespec which has tv_nsec (nanoseconds). This commit switches to use clock_gettime(CLOCK_REALTIME) to gain the additional precision (though the FILETIME through which the data is returned only supports 100-nsec precision). On my machine, there was no measurable impact to throughput.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3fe022eb723479d0b7acf17856e76a1973668ca6