platform/upstream/dotnet/runtime.git
7 years agoBuild cross-compile altjits for arm32 and arm64
Bruce Forstall [Thu, 2 Mar 2017 17:14:52 +0000 (09:14 -0800)]
Build cross-compile altjits for arm32 and arm64

On x86, build an x86-host, arm32-target altjit.
On amd64, build an amd64-host, arm64-target altjit.

Each are named protononjit.dll, using our existing naming
convention (proto for "prototype", nonjit meaning the code
won't be executed).

Use these via:
```
set COMPlus_AltJit=*
set COMPlus_AltJitName=protononjit.dll
```
Of course, instead of `*`, you can use any function name.

They are very useful for debugging the JIT in a "nicer" environment
than the full native environment, especially if the full native
environment isn't complete, or if the tools (such as debuggers, editors)
are better in the cross environment than the native environment.

These are only built on Windows. It might be possible to build them
on Linux as well, but that will require some more build work.

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

7 years agoMerge pull request dotnet/coreclr#9916 from dotnet-bot/from-tfs
Bruce Forstall [Thu, 2 Mar 2017 19:26:01 +0000 (11:26 -0800)]
Merge pull request dotnet/coreclr#9916 from dotnet-bot/from-tfs

Merge changes from TFS

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

7 years agoAdd src\jit\protononjit directory to git mirror in preparation for future GitHub...
Bruce Forstall [Thu, 2 Mar 2017 19:23:20 +0000 (11:23 -0800)]
Add src\jit\protononjit directory to git mirror in preparation for future GitHub work

[tfs-changeset: 1649472]

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

7 years agoMerge pull request dotnet/coreclr#9911 from dotnet-bot/master-UpdateDependencies
Stephen Toub [Thu, 2 Mar 2017 19:18:19 +0000 (14:18 -0500)]
Merge pull request dotnet/coreclr#9911 from dotnet-bot/master-UpdateDependencies

Update CoreClr to beta-25102-03 (master)

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

7 years agoMerge pull request dotnet/coreclr#9775 from adiaaida/addThroughputPerfTesting
Michelle McDaniel [Thu, 2 Mar 2017 19:06:53 +0000 (11:06 -0800)]
Merge pull request dotnet/coreclr#9775 from adiaaida/addThroughputPerfTesting

Add Throughput Perf testing

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

7 years agoFix LDVIRTFTN case for GVM target methods (dotnet/coreclr#9890)
Fadi Hanna [Thu, 2 Mar 2017 19:04:22 +0000 (11:04 -0800)]
Fix LDVIRTFTN case for GVM target methods (dotnet/coreclr#9890)

* Fix LDVIRTFTN case for GVM target methods

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

7 years agoUpdate windows-instructions.md
Brian Sullivan [Thu, 2 Mar 2017 18:43:01 +0000 (10:43 -0800)]
Update windows-instructions.md

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

7 years agoRemoving ref T Span.GetItem and updating Indexer to return ref (dotnet/coreclr#9787)
Ahson Ahmed Khan [Thu, 2 Mar 2017 18:13:13 +0000 (10:13 -0800)]
Removing ref T Span.GetItem and updating Indexer to return ref (dotnet/coreclr#9787)

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

7 years agoUpdate CoreClr to beta-25102-03
dotnet-bot [Thu, 2 Mar 2017 17:28:13 +0000 (17:28 +0000)]
Update CoreClr to beta-25102-03

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

7 years agoMerge pull request dotnet/coreclr#9894 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Thu, 2 Mar 2017 16:53:57 +0000 (08:53 -0800)]
Merge pull request dotnet/coreclr#9894 from dotnet-bot/master-UpdateDependencies

Update CoreClr to beta-25102-02 (master)

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

7 years agoDevirtualize calls in some simple cases
Andy Ayers [Thu, 2 Mar 2017 03:47:18 +0000 (19:47 -0800)]
Devirtualize calls in some simple cases

Devirtualize calls where the this object type at a call site
is a subtype of the type described at the call site. Currently learns
types from local and arg references and a subset of other operators.

Will devirtualize if either the class or method is final (sealed in C#),
or if the type is known exactly (eg from a newobj).

Devirtualization is run twice, once during importation, and again in a
limited way after inlinining. Calls devirtualized during importation are
are subsequently eligible for inlining. Calls devirtualized during inlining
currently cannot be inlined.

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

7 years agoJit interface support for devirtualization
Andy Ayers [Mon, 30 Jan 2017 23:45:11 +0000 (15:45 -0800)]
Jit interface support for devirtualization

Add new method to jit interface so the jit can determine what derived
method might be called for a given base method, derived class pair.

Implement support in the VM and in other places (zap, spmi).

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

7 years ago[x86/Linux] Fix clang 3.9 build error (dotnet/coreclr#9900)
Jonghyun Park [Thu, 2 Mar 2017 14:52:26 +0000 (23:52 +0900)]
[x86/Linux] Fix clang 3.9 build error (dotnet/coreclr#9900)

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

7 years agoUpdate CoreClr to beta-25102-02
dotnet-bot [Thu, 2 Mar 2017 10:12:44 +0000 (10:12 +0000)]
Update CoreClr to beta-25102-02

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

7 years ago[x86/Linux] Initial filter support (dotnet/coreclr#9820)
Jonghyun Park [Thu, 2 Mar 2017 09:58:55 +0000 (18:58 +0900)]
[x86/Linux] Initial filter support (dotnet/coreclr#9820)

* [x86/Linux] Initial Filter Support

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

7 years agoRemove CLRThreadpoolHosted as it always returns false. (dotnet/coreclr#9899)
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

7 years ago[x86/Linux] Clean up EXCEPTION_REGISTRATION_RECORD (dotnet/coreclr#9895)
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

7 years agoTemporarily disabling SpanBench tests that use indexer setter. (dotnet/coreclr#9896)
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

7 years agoUpdate links to point to valid BotR pages - One extra link that was missed out (dotne...
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

7 years agoUse the correct class handle for fat call temporary (dotnet/coreclr#9893)
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

7 years agoPreallocate jump stubs for dynamic methods (dotnet/coreclr#9883)
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

7 years agoAdding Span API perf tests for comparison with arrays and to monitor progress (dotnet...
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

7 years agoCleanup the native globalization code (dotnet/coreclr#9887)
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

7 years agoFix casing for newly added test (dotnet/coreclr#9889)
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

7 years agoMerge pull request dotnet/coreclr#9882 from dotnet-bot/master-UpdateDependencies
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

7 years agoCleanup (dotnet/coreclr#9892)
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

7 years ago[x86/Linux] Initial fix of arguments passing in FunctionPtrTest (WIP) (dotnet/coreclr...
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

7 years agoFix incremental build on Unix (dotnet/coreclr#9779)
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

7 years ago[Arm64/Unix] Fix stack unwinding (dotnet/coreclr#9877)
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

7 years agoMerge pull request dotnet/coreclr#9868 from wtgodbe/HelixPrep
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

7 years agoUpdate CoreClr to beta-25101-04
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

7 years agoMerge pull request dotnet/coreclr#9770 from adityamandaleeka/card_bundles_unix_2
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

7 years agoAdd Throughput Perf testing
Michelle McDaniel [Thu, 23 Feb 2017 22:27:38 +0000 (14:27 -0800)]
Add Throughput Perf testing

This change adds scripting to run perf testing in the lab. We perform the
testing by running crossgen on a list of dlls. It then writes the data to a
csv file which is passed to other processing scripts.

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

7 years agoMerge pull request dotnet/coreclr#9871 from pgavlin/FixUninitBitsetAccess
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

7 years agoTimespan division and multiplication. (dotnet/coreclr#9804)
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

7 years agoUpdate links to point to valid BotR pages (dotnet/coreclr#9874)
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

7 years agoStreamlined MinOpts GC ref tracking. (dotnet/coreclr#9869)
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

7 years agoMerge pull request dotnet/coreclr#9831 from WinCPP/LazyInitializerNewOverloads
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

7 years ago[x86/linux] Add IsIPinVirtualStub() on x86/linux (dotnet/coreclr#9844)
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

7 years ago[Arm64/Unix] Revert fix stack unwinding in CallDescrWorkerInternal (dotnet/coreclr...
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

7 years ago[x86/Linux] Use ESTABLISHER_FRAME_POINTER_IS_CALLER_SP (dotnet/coreclr#9814)
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

7 years ago[x86/Linux] Correct GetStackParameterSize on Funclet (dotnet/coreclr#9849)
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

7 years agoGuard a use of a possibly-uninitialized BitSet.
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

7 years agoMerge pull request dotnet/coreclr#9870 from dotnet-bot/master-UpdateDependencies
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

7 years agoCorefx dotnet/coreclr#16274 - LazyInitializer.EnsureInitialized overload for reference
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

7 years agoGlobalization merge (dotnet/coreclr#9835)
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

7 years agoMove files that are identical with CoreRT under mscorlib\shared (dotnet/coreclr#9861)
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

7 years agoUpdate CoreClr to beta-25101-01
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

7 years agoMerge pull request dotnet/coreclr#9865 from alexperovich/moveToShared
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

7 years agoMerge pull request dotnet/coreclr#9609 from pgavlin/HandleContainedNodesEarlier
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

7 years agoAllow user to zip tests even when not building against packages
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

7 years agoMerge pull request dotnet/coreclr#9862 from mikedn/ge-vnf-gt
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

7 years agoMerge pull request dotnet/coreclr#9825 from mskvortsov/ryujit-arm32-pinvoke
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

7 years agoAdd 6 byte NOP instruction.
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

7 years agoImplement card bundles for non-Windows platforms.
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

7 years agoHandle contained nodes earlier in buildRefPositionsForNode.
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

7 years agoMerge pull request dotnet/coreclr#9794 from pgavlin/PutArgRegInit
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

7 years agoAdd more shared sources
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

7 years agoMerge pull request dotnet/coreclr#9729 from rahku/hijackfix
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

7 years agoMerge pull request dotnet/coreclr#9857 from jashook/arm64_inner_structs
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

7 years agoRyuJIT/ARM32: Enable P/Invoke lowering.
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

7 years agoFix mismatch in the cmake script endif condition (dotnet/coreclr#9859)
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

7 years agoMerge pull request dotnet/coreclr#9781 from dotnet-bot/master-UpdateDependencies
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

7 years agoFix broken GT_GE - VNF_GT_UN mapping
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

7 years agoMerge pull request dotnet/coreclr#9852 from mskvortsov/ryujit-arm32-label
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

7 years agoRemove some unused benchmarks (dotnet/coreclr#9843)
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

7 years agoAdd the correct offset for finding nested structs.
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

7 years agoMerge pull request dotnet/coreclr#9796 from pgavlin/FixOurGetThreadCycles
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

7 years agoFix cross component builderror - CMakeLists.txt for PAL (dotnet/coreclr#9819)
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

7 years agoRyuJIT/ARM32: enable CG for GT_LABEL nodes
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

7 years agoDisable DBGIPC_TRANSPORT_DI and DBGIPC_TRANSPORT_VM on Android (dotnet/coreclr#9809)
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

7 years agoUse BIT64 instead of _WIN64 for LONG helpers (dotnet/coreclr#9845)
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

7 years agoUpdate CoreClr, CoreFx to beta-25028-02, stable, respectively
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

7 years ago[x86/linux] Implement BackPatchWorkerAsmStub (dotnet/coreclr#9690)
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

7 years agoMerge pull request dotnet/coreclr#9774 from sandreenko/coreRT-fat-pointers-fix
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

7 years agoReplace INSIDE_CLR with CORECLR (dotnet/coreclr#9841)
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

7 years agoMove Used interop sources into shared folder (dotnet/coreclr#9840)
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

7 years agoCC fix
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

7 years agoSome tests for devirtualization (dotnet/coreclr#9834)
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

7 years agoUse flags in exceptionhandling.cpp (dotnet/coreclr#9823)
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

7 years ago[x86/Linux] Fix GetCurrentSP (dotnet/coreclr#9838)
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

7 years agocoreRT fat pointer hidden argument fix for calls with retBufArg
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

7 years agoMerge pull request dotnet/coreclr#9837 from adityamandaleeka/remove_useless_message
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

7 years agoRemove useless message from runtest output.
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

7 years agoDon't generate a runtime lookup for static base if not needed (dotnet/coreclr#9833)
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

7 years agoMerge pull request dotnet/coreclr#9795 from pgavlin/RefactorIsContained
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

7 years agoImprove BitConverter.ToIntNN methods (dotnet/coreclr#9803)
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

7 years agoUse Unsafe.ReadUnaligned/WriteUnaligned in UMA (dotnet/coreclr#9829)
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

7 years agoAdd Unsafe.ReadUnaligned/WriteUnaligned (dotnet/coreclr#9808)
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

7 years agoUse WIN64EXCEPTIONS to declare EE_PERSONALITY_ROUTINE helpers (dotnet/coreclr#9821)
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

7 years ago[x86/Linux] Clean up unused NakedThrowHelper stub (dotnet/coreclr#9824)
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

7 years ago[x86/Linux] 16-byte aligned Funclet Helpers (dotnet/coreclr#9810)
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

7 years agoClean up PInvokeStubForHost and PInvokeStubForHostInner (dotnet/coreclr#9815)
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

7 years agoClean up nested WIN64EXCEPTIONS-ifdef (dotnet/coreclr#9817)
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

7 years ago[x86/Linux] Use _X86_ instead of _TARGET_X86_ (dotnet/coreclr#9816)
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

7 years ago[x86/Linux] Clean up PopSEHRecords (dotnet/coreclr#9812)
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

7 years ago[x86/Linux] Clean up CallRtlUnwind (dotnet/coreclr#9813)
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

7 years ago[x86/Linux] Clean up ARRAY STUB(s) (dotnet/coreclr#9811)
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

7 years agoDelete a bit of dead code (dotnet/coreclr#9801)
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

7 years agoMerge pull request dotnet/coreclr#9789 from mikedn/le-intrinsic
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