platform/upstream/dotnet/runtime.git
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

7 years agoMerge pull request dotnet/coreclr#9782 from mellinoe/ilasm-pathlength-fix
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

7 years agoUpdate BitConverter from CoreFX (dotnet/coreclr#9788)
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

7 years agoBetter ArraySegment .ctor tests (dotnet/coreclr#9800)
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

7 years ago[ARM/CI] Fix arm32 CI git check failure (dotnet/coreclr#9798)
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

7 years ago[ARM/CI] Update arm CI to sync up with corefx change (dotnet/coreclr#9797)
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

7 years agoMerge pull request dotnet/coreclr#9791 from dotnet/revert-9231-MinOptsSimplifiedGCtra...
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

7 years agoRevert "Simplified MinOpts GC ref tracking."
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

7 years agoFix GC hole when exception filter throws unhandled exception (dotnet/coreclr#9785)
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

7 years agoTreat BitConverter.IsLittleEndian as an intrinsic
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

7 years agoRemove `this == null` checks from string.Equals (dotnet/coreclr#9768)
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

7 years agoMove S.Buffers and S.IO sources shared with corert into shared folder (dotnet/coreclr...
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

7 years agoMerge pull request dotnet/coreclr#9756 from AndyAyersMS/RefCountGenericContext
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

7 years agoUse clock_gettime(CLOCK_REALTIME) in DateTime.UtcNow (dotnet/coreclr#9772)
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

7 years agoMerge pull request dotnet/coreclr#9598 from ahsonkhan/OptimizeSpanClear
Ahson Ahmed Khan [Sat, 25 Feb 2017 01:27:54 +0000 (17:27 -0800)]
Merge pull request dotnet/coreclr#9598 from ahsonkhan/OptimizeSpanClear

Optimize span clear

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

7 years agoIncrease the length of allowed parameters in ilasm.
Eric Mellino [Sat, 25 Feb 2017 00:48:50 +0000 (16:48 -0800)]
Increase the length of allowed parameters in ilasm.

The way this code is structured prevents parameters longer than 128 characters
from being passed. This change simply increases that to 1024 characters, although
a more robust change could be made in the future to account for platform differences.

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

7 years agoRemove optimizedtls.cpp (dotnet/coreclr#9777)
Aditya Mandaleeka [Sat, 25 Feb 2017 00:37:26 +0000 (16:37 -0800)]
Remove optimizedtls.cpp (dotnet/coreclr#9777)

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

7 years agoRemove NakedThrowHelper and ifdef-out its callers (dotnet/coreclr#9771)
Jan Vorlicek [Fri, 24 Feb 2017 21:47:31 +0000 (22:47 +0100)]
Remove NakedThrowHelper and ifdef-out its callers (dotnet/coreclr#9771)

This change removes NakedThrowHelper function for Unix since it was not used.
It also ifdefs out its upstream callers.

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

7 years agoreview feedback
Andy Ayers [Fri, 24 Feb 2017 21:35:37 +0000 (13:35 -0800)]
review feedback

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

7 years agoMerge pull request dotnet/coreclr#9336 from mikedn/const-fold
Pat Gavlin [Fri, 24 Feb 2017 21:17:56 +0000 (13:17 -0800)]
Merge pull request dotnet/coreclr#9336 from mikedn/const-fold

Fix incorrect cast in gtFoldExprConst

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

7 years agoMerge pull request dotnet/coreclr#9769 from ianhays/filelock_osx
Ian Hays [Fri, 24 Feb 2017 21:08:17 +0000 (13:08 -0800)]
Merge pull request dotnet/coreclr#9769 from ianhays/filelock_osx

Remove OSX FileStream Lock/Unlock

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

7 years agoRemove getcontext and setcontext usage (dotnet/coreclr#9759)
Jan Vorlicek [Fri, 24 Feb 2017 20:29:15 +0000 (21:29 +0100)]
Remove getcontext and setcontext usage (dotnet/coreclr#9759)

It turns out that the getcontext and setcontext that I have used in my stack
oveflow reporting change are not present e.g. on Alpine Linux or on Android.
So I am replacing their usage with RtlCaptureContext and RtlRestoreContext
instead.

I have also found that the addition of the .cfi_adjust_cfa_offset to the
PROLOG_SAVE_REG_PAIR has broken unwinding of all helpers that use
PROLOG_WITH_TRANSITION_BLOCK, because the PROLOG_STACK_ALLOC macro
updates the CFA offset. So I am fixing that by removing the CFA offset
updating from the PROLOG_STACK_ALLOC and adding explicit one to the
ARM64 CallSignalHandlerWrapper.

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

7 years agoMerge pull request dotnet/coreclr#9732 from hseok-oh/fix_9442
Bruce Forstall [Fri, 24 Feb 2017 20:28:50 +0000 (12:28 -0800)]
Merge pull request dotnet/coreclr#9732 from hseok-oh/fix_9442

Fix code generation for array length check in legacy JIT

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

7 years agoEnable DevDiv_377155
Mike Danes [Sat, 4 Feb 2017 10:17:13 +0000 (12:17 +0200)]
Enable DevDiv_377155

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

7 years agoFix incorrect cast in gtFoldExprConst
Mike Danes [Sat, 4 Feb 2017 10:14:54 +0000 (12:14 +0200)]
Fix incorrect cast in gtFoldExprConst

The fact that an operation is unsigned affects the operation itself but that doesn't mean that the result of the operation is also unsigned. Constants are stored as ssize_t and the node type is TYP_INT so the result has to be sign extended, not zero extended.

Otherwise code that uses the return of IconValue() without first narrowing it to int will behave incorrectly. Such code does exists, even gtFoldExprConst does this when folding shift operations:

uint a = uint.MaxValue;
uint b = 0;
int r = (int)checked(a + b);
Console.WriteLine((r >> 2).ToString("X"));

The above code prints 3FFFFFFF instead of the expected FFFFFFFF.

This also makes gtFoldExprConst consistent with ValueNumStore::EvalFuncForConstantArgs which evaluates TYP_INT nodes as int and then casts to ssize_t.

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

7 years agoUpdate FileLock/Unlock PNSE message for OSX
Ian Hays [Fri, 24 Feb 2017 19:46:25 +0000 (11:46 -0800)]
Update FileLock/Unlock PNSE message for OSX

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

7 years agoAvoid unnecessary branch in CultureAwareComparer (dotnet/coreclr#9767)
Justin Van Patten [Fri, 24 Feb 2017 19:08:08 +0000 (11:08 -0800)]
Avoid unnecessary branch in CultureAwareComparer (dotnet/coreclr#9767)

* Avoid unnecessary branch in CultureAwareComparer

Determine the CompareOptions up-front instead of during each operation.

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

7 years agoMerge pull request dotnet/coreclr#9749 from wtgodbe/XunitCopyStuff
William Godbe [Fri, 24 Feb 2017 18:54:40 +0000 (10:54 -0800)]
Merge pull request dotnet/coreclr#9749 from wtgodbe/XunitCopyStuff

Use -f instead of -n when copying from Core_Root in runtest.sh

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

7 years agoRemove OSX FileStream Lock/Unlock
Ian Hays [Thu, 23 Feb 2017 22:46:15 +0000 (14:46 -0800)]
Remove OSX FileStream Lock/Unlock

OSX doesn't support usage of both fcntl and flock. Since we're already using one in FileShare for the entire file, we cannot enable partial file locking like we do on other Unix platforms. The alternative is to throw a PNSE and suggest using FileShare on the whole file instead.

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

7 years agoMerge pull request dotnet/coreclr#9766 from discostu105/patch-1
Stephen Toub [Fri, 24 Feb 2017 18:35:48 +0000 (13:35 -0500)]
Merge pull request dotnet/coreclr#9766 from discostu105/patch-1

fix typo in sos_md.h

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

7 years ago[Local GC] Move workstation GC DAC globals to a struct shared between GC and DAC...
Sean Gillespie [Fri, 24 Feb 2017 18:12:26 +0000 (10:12 -0800)]
[Local GC] Move workstation GC DAC globals to a struct shared between GC and DAC (dotnet/coreclr#9255)

* [Local GC] Move workstation GC DAC globals to a struct shared between
the GC and the DAC

* (Some) code review feedback and bug fixes for issues found while debugging on OSX

* Address some code review feedback:
 1. Make g_gcDacGlobals a pointer and dacvar on the VM side, so
    that publishing the GC dac vars is done atomically (through
    a pointer assignment). This fixes a race that Noah noticed.
 2. Remove the requirement for the GC's generation class struct
    to be known at compile-time, by using a dacvar as the size
    of the generation class at run-time (for pointer arithmetic)
 3. Move all DAC-interesting fields to be at the start of GC
    internal classes, so that the DAC does not need to know the
    size or exact layout of the class past the fields it cares
    about.

* Split the definition of the size of several arrays across the SOS/DAC and GC/DAC interfaces, and add static asserts that they are the same

* Repair the Windows Release build

* Implement the GC DAC scheme for Server GC and eliminate the duplicate GC dac vars

* Some work

* Decouple use of the GC generation table from a write barrier by having the EE store a copy of the global during initialization

* Actually make it work with server GC

* Checkpoint

* Checkpoint where everything works

* Code cleanup

* Fix debugger test failures

* Additional code cleanup

* Address code review feedback by adding a static assert and standardizing the way that we iterate over the generation table

* Repair the Windows x86 build

* Revert "Decouple use of the GC generation table from a write barrier by having the EE store a copy of the global during initialization"

This reverts commit dotnet/coreclr@573f61a16b4fa8c2fc4c568c0b968a921230f31c.

* Revert "Repair the Windows x86 build"

This reverts commit dotnet/coreclr@188c22d87e1d65abf00ab8fa28f46ad607a9028f.

* Partial revert, move `generation_table` back the global namespace for a single-proc allocation helper

* Fix a debugger test failure

* Repair crash dump scenarios

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

7 years agofix typo in sos_md.h
Christoph Neumüller [Fri, 24 Feb 2017 14:52:11 +0000 (15:52 +0100)]
fix typo in sos_md.h

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

7 years ago[Linux/ARM,ARM64] Fix undefined FixContextHandler issue (dotnet/coreclr#9755)
Jonghyun Park [Fri, 24 Feb 2017 14:48:58 +0000 (23:48 +0900)]
[Linux/ARM,ARM64] Fix undefined FixContextHandler issue (dotnet/coreclr#9755)

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

7 years agoFix segmentation fault when using ZapImage::PrintStats() (dotnet/coreclr#9731)
Sujin Kim [Fri, 24 Feb 2017 14:43:15 +0000 (23:43 +0900)]
Fix segmentation fault when using ZapImage::PrintStats() (dotnet/coreclr#9731)

Currently, ZapImage::PrintStats is not used anywhere. But I want to get detailed informations about Native Image(ni.dll) components.
So I just used ZapImage::PrintStats when called ZapImage::SaveImage. After that I met the segmentation fault likes dotnet/coreclr#9680.

I found the reason for this issue is accessing the null pointer to get sizes.

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

7 years agotypo in CMakeLists.txt (dotnet/coreclr#9763)
John Gorter [Fri, 24 Feb 2017 14:41:42 +0000 (15:41 +0100)]
typo in CMakeLists.txt (dotnet/coreclr#9763)

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

7 years agoMerge pull request dotnet/coreclr#9738 from stephentoub/ordinalignorecase_hashing
Stephen Toub [Fri, 24 Feb 2017 12:43:36 +0000 (07:43 -0500)]
Merge pull request dotnet/coreclr#9738 from stephentoub/ordinalignorecase_hashing

Tweak OrdinalComparer for OrdinalIgnoreCase

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

7 years ago[x86/Linux] Initial patch for EH funclet (dotnet/coreclr#9601)
Hanjoung Lee [Fri, 24 Feb 2017 07:02:21 +0000 (16:02 +0900)]
[x86/Linux] Initial patch for EH funclet (dotnet/coreclr#9601)

- Generate a simple EH funclet frame and support SP-based stack unwinding for funclets.
- Introduce assembly helpers : CallEHFunclet and CallEHFilterFunclet

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

7 years agoMerge pull request dotnet/coreclr#9758 from seanshpark/fixx86break
Bruce Forstall [Fri, 24 Feb 2017 06:34:58 +0000 (22:34 -0800)]
Merge pull request dotnet/coreclr#9758 from seanshpark/fixx86break

Fix build break for !FEATURE_FIXED_OUT_ARGS

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

7 years agoMerge pull request dotnet/coreclr#9723 from fiigii/is4byte
Sivarv [Fri, 24 Feb 2017 04:35:39 +0000 (20:35 -0800)]
Merge pull request dotnet/coreclr#9723 from fiigii/is4byte

Simplify and streamline Is4ByteAVXInstruction() and Is4ByteSSE4Instruction() functions

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

7 years agoAddress PR feedback
Stephen Toub [Thu, 23 Feb 2017 18:15:27 +0000 (13:15 -0500)]
Address PR feedback

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

7 years agoImprove CompareOrdinalIgnoreCaseHelper by removing return from loop
Stephen Toub [Thu, 23 Feb 2017 16:25:03 +0000 (11:25 -0500)]
Improve CompareOrdinalIgnoreCaseHelper by removing return from loop

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

7 years agoStrongly type StringComparer static comparer fields
Stephen Toub [Thu, 23 Feb 2017 16:37:23 +0000 (11:37 -0500)]
Strongly type StringComparer static comparer fields

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

7 years agoSplit OrdinalIgnoreCaseComparer from OrdinalComparer
Stephen Toub [Thu, 23 Feb 2017 14:28:30 +0000 (09:28 -0500)]
Split OrdinalIgnoreCaseComparer from OrdinalComparer

They're both used very frequently, and we can eliminate the branches on checking _ignoreCase from every operation.

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

7 years agoReject byref-like object in FormatterServices.GetUninitializedObject (dotnet/coreclr...
Jan Kotas [Fri, 24 Feb 2017 02:51:03 +0000 (18:51 -0800)]
Reject byref-like object in FormatterServices.GetUninitializedObject (dotnet/coreclr#9754)

Fixes dotnet/coreclr#9739

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

7 years ago[x86/Linux] Enable FEATURE_ARRAYSTUB_AS_IL (dotnet/coreclr#9752)
Jonghyun Park [Fri, 24 Feb 2017 02:01:10 +0000 (11:01 +0900)]
[x86/Linux] Enable FEATURE_ARRAYSTUB_AS_IL (dotnet/coreclr#9752)

* [x86/Linux] Enable FEATURE_ARRAYSTUB_AS_IL
* Move FeatureStubsAsIL into Windows-specific block

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

7 years agoFix build break for !FEATURE_FIXED_OUT_ARGS
SaeHie Park [Fri, 24 Feb 2017 01:03:26 +0000 (10:03 +0900)]
Fix build break for !FEATURE_FIXED_OUT_ARGS

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

7 years agoMerge pull request dotnet/coreclr#9681 from mskvortsov/ryujit-arm32-reload
Bruce Forstall [Fri, 24 Feb 2017 01:03:58 +0000 (17:03 -0800)]
Merge pull request dotnet/coreclr#9681 from mskvortsov/ryujit-arm32-reload

[RyuJIT/ARM32] Fix helper kill mask and call target consuming

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

7 years agoUse GetSystemTimePreciseAsFileTime if available in DateTime.UtcNow (dotnet/coreclr...
Stephen Toub [Fri, 24 Feb 2017 00:43:58 +0000 (19:43 -0500)]
Use GetSystemTimePreciseAsFileTime if available in DateTime.UtcNow (dotnet/coreclr#9736)

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

7 years agoMerge pull request dotnet/coreclr#9717 from tannergooding/math-intrinsics2
Tanner Gooding [Fri, 24 Feb 2017 00:36:20 +0000 (16:36 -0800)]
Merge pull request dotnet/coreclr#9717 from tannergooding/math-intrinsics2

Updating codegenxarch to support single-precision CORINFO_INTRINSIC_Sqrt

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

7 years agoJIT: keep ref count for runtime generic context lookups
Andy Ayers [Sat, 18 Feb 2017 04:51:59 +0000 (20:51 -0800)]
JIT: keep ref count for runtime generic context lookups

Keep a ref count for runtime generic context lookups, and track when
an inlinee requires a runtime lookup but then ignores the resulting
context. Only report/keep the context alive if there are known uses.

This pattern happens frequently in inlined generic code that uses
type tests to extract properties of types.

Addresses dotnet/coreclr#1691.

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

7 years agoMerge pull request dotnet/coreclr#9742 from sivarv/singleField
Sivarv [Fri, 24 Feb 2017 00:08:41 +0000 (16:08 -0800)]
Merge pull request dotnet/coreclr#9742 from sivarv/singleField

Enable promotion of structs containing fields of structs with a single pointer-sized scalar type field.

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

7 years agoMerge pull request dotnet/coreclr#9748 from AndyAyersMS/FixJitTestDir
Andy Ayers [Fri, 24 Feb 2017 00:08:23 +0000 (16:08 -0800)]
Merge pull request dotnet/coreclr#9748 from AndyAyersMS/FixJitTestDir

Move jit tests to directory with proper casing

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

7 years agoUse -f instead of -n when copying from Core_Root in runtest.sh
wtgodbe [Thu, 23 Feb 2017 22:29:41 +0000 (14:29 -0800)]
Use -f instead of -n when copying from Core_Root in runtest.sh

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

7 years agoMerge pull request dotnet/coreclr#9726 from alexperovich/codeFormat
Alex Perovich [Thu, 23 Feb 2017 23:20:04 +0000 (17:20 -0600)]
Merge pull request dotnet/coreclr#9726 from alexperovich/codeFormat

Run dotnet/codeformatter on S.P.CoreLib sources.

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

7 years agoAdd jit test project checker as jit test (dotnet/coreclr#9721)
Andy Ayers [Thu, 23 Feb 2017 22:53:00 +0000 (14:53 -0800)]
Add jit test project checker as jit test (dotnet/coreclr#9721)

Add the tool used to fix/repair projects as a test case. It will
fail with an error code if any project file in the jit test subtree
needs fixing.

This test requires CORE_ROOT to point at the test overlay and
that directory be rooted under the repo (other test cases already
have similar requirements).

CodeGenBringUp tests are noted as needing fixes, but are accounted
for under the category of "deferred fixes".

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

7 years agoJIT: defer setting outgoing args size until after optimization (dotnet/coreclr#9683)
Andy Ayers [Thu, 23 Feb 2017 22:52:10 +0000 (14:52 -0800)]
JIT: defer setting outgoing args size until after optimization (dotnet/coreclr#9683)

For fixed out args ABIs, the jit currently computes the size of the
out arg area during morph, as it encounters calls that must pass arguments
via the stack.

Subsequently, the optimizer may delete calls, either because they are
pure and the results are unused, or because they are conditional and the
guarding predicates are resolved by the optimizer in such a way that
the call is no longer reachable.

In particular if all the calls seen by morph are subsequently removed by
the optimizer, the jit may generate a stack frame that it never uses and
doesn't need. If only some calls are removed then the stack frame may end
up larger than necessary.

One motivating example is the inlining of a shared generic method that
ignores its generic context parameter. The caller typically must invoke a pure
helper to determine the proper argument to pass. Post inline the call's result
is unused, and the helper call is deleted by the optimizer.

This change defers the outgoing arg size computation until fgSimpleLowering,
which runs after optimization. The code in morph now simply records the
needed size for each call in the associated fgArgInfo.

As before, the outgoing arg size computation ignores fast tail calls, since
they can use the caller-supplied scratch area for memory arguments.

The jit may introduce helper calls after optimization which could seemingly
invalidate the out args area size. The presumption here is that these calls
are carefully designed not to use the caller-supplied scratch area. The
current code makes the same assumption.

This change introduces some unanticipated diffs. Optcse estimates the
frame size to decide how aggressive it should be about cses of local
variable references. This size estimate included the out args area, which
appears to be something of an oversight; there are no cse opportunities
in this area and the offsets of the other local variables are not impacted
by the size of this area. With this change the out args area size is seen
as zero during optimization and so the cse strategy for a method may be
different.

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

7 years agoMerge pull request dotnet/coreclr#9582 from pgavlin/vzeroupper_x86_epilog
Pat Gavlin [Thu, 23 Feb 2017 22:20:45 +0000 (14:20 -0800)]
Merge pull request dotnet/coreclr#9582 from pgavlin/vzeroupper_x86_epilog

Do not report FP restores in x86 epilogs.

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

7 years agoMerge pull request dotnet/coreclr#9454 from mikedn/cgtun-to-cne
Brian Sullivan [Thu, 23 Feb 2017 21:56:09 +0000 (13:56 -0800)]
Merge pull request dotnet/coreclr#9454 from mikedn/cgtun-to-cne

Morph (x GT_GT.unsigned 0) into (x GT_NE 0)

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

7 years agoMove jit tests to directory with proper casing
Andy Ayers [Thu, 23 Feb 2017 21:46:20 +0000 (13:46 -0800)]
Move jit tests to directory with proper casing

Closes dotnet/coreclr#9747.

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

7 years agoRun codeformatter on S.P.CoreLib sources
Alex Perovich [Wed, 22 Feb 2017 23:23:44 +0000 (15:23 -0800)]
Run codeformatter on S.P.CoreLib sources

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

7 years agoManual change to make codeformatter work
Alex Perovich [Wed, 22 Feb 2017 23:23:25 +0000 (15:23 -0800)]
Manual change to make codeformatter work

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

7 years agoRewrite Is4ByteAVXInstruction() and Is4ByteSSE4Instruction()
Fei Peng [Wed, 22 Feb 2017 18:38:52 +0000 (10:38 -0800)]
Rewrite Is4ByteAVXInstruction() and Is4ByteSSE4Instruction()

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

7 years agoEnable promotion of structs containing fields of structs with a single pointer-sized...
sivarv [Thu, 23 Feb 2017 18:59:28 +0000 (10:59 -0800)]
Enable promotion of structs containing fields of structs with a single pointer-sized scalar type field.

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

7 years agoMerge pull request dotnet/coreclr#9743 from weshaggard/UpdateUsingYourBuildDocs
Wes Haggard [Thu, 23 Feb 2017 21:23:53 +0000 (13:23 -0800)]
Merge pull request dotnet/coreclr#9743 from weshaggard/UpdateUsingYourBuildDocs

Update UsingYourBuildDocs to use .NET Core 2.0 SDK

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

7 years agoUpdate UsingYourBuild docs to use .NET Core 2.0 SDK
Wes Haggard [Thu, 23 Feb 2017 19:13:59 +0000 (11:13 -0800)]
Update UsingYourBuild docs to use .NET Core 2.0 SDK

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

7 years agoMerge pull request dotnet/coreclr#9741 from brianrob/issue-9733
Brian Robbins [Thu, 23 Feb 2017 20:12:00 +0000 (12:12 -0800)]
Merge pull request dotnet/coreclr#9741 from brianrob/issue-9733

Disable Test Broken By CoreFX PR # 15767

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

7 years agoMerge pull request dotnet/coreclr#9655 from sdmaclea/PR-ARM64-JITGC-WIP3
Brian Sullivan [Thu, 23 Feb 2017 19:22:03 +0000 (11:22 -0800)]
Merge pull request dotnet/coreclr#9655 from sdmaclea/PR-ARM64-JITGC-WIP3

[Arm64] Correct CORINFO_HELP_ASSIGN_BYREF killed mask

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

7 years agoFormat code.
Pat Gavlin [Thu, 23 Feb 2017 18:48:25 +0000 (10:48 -0800)]
Format code.

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

7 years agoAddress PR feedback.
Pat Gavlin [Thu, 23 Feb 2017 18:39:10 +0000 (10:39 -0800)]
Address PR feedback.

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

7 years agoDisable broken tests.
Brian Robbins [Thu, 23 Feb 2017 18:27:58 +0000 (10:27 -0800)]
Disable broken tests.

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

7 years agoMerge pull request dotnet/coreclr#9727 from BruceForstall/DontBuildJitLib
Bruce Forstall [Thu, 23 Feb 2017 17:26:55 +0000 (09:26 -0800)]
Merge pull request dotnet/coreclr#9727 from BruceForstall/DontBuildJitLib

Speed up JIT builds

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

7 years agoSimplified MinOpts GC ref tracking. (dotnet/coreclr#9231)
Peter Kukol [Thu, 23 Feb 2017 16:13:34 +0000 (09:13 -0700)]
Simplified MinOpts GC ref tracking. (dotnet/coreclr#9231)

Simplified MinOpts GC ref tracking - when a method is compiled with MinOpts for targets with the 64-bit GC info encoder we mark all GC slots as untracked and we omit encoding call sites with no live tracked GC refs explicitly in the GC tables; this can be controlled using the new COMPlus_JitMinOptsTrackGCrefs environment flag.

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

7 years agoAndroid: workaround absence of getcontext/setcontext (dotnet/coreclr#9725)
Frederik Carlier [Thu, 23 Feb 2017 10:09:24 +0000 (02:09 -0800)]
Android: workaround absence of getcontext/setcontext (dotnet/coreclr#9725)

* Android: workaround absence of getcontext/setcontext
use RtlCaptureContext and RtlRestoreContext

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

7 years agoRyuJIT/ARM32: Fix helper kill mask and call target consuming
Mikhail Skvortcov [Mon, 20 Feb 2017 14:56:54 +0000 (17:56 +0300)]
RyuJIT/ARM32: Fix helper kill mask and call target consuming

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

7 years agoFix code generation for array length check in legacy JIT
Hyeongseok Oh [Thu, 23 Feb 2017 05:54:03 +0000 (14:54 +0900)]
Fix code generation for array length check in legacy JIT

check array index is in register and reload it if spilled

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

7 years agoReduce code in SafeHandleAddRef (dotnet/coreclr#9724)
Stephen Toub [Thu, 23 Feb 2017 07:22:43 +0000 (02:22 -0500)]
Reduce code in SafeHandleAddRef (dotnet/coreclr#9724)

If DangerousAddRef returns rather than throws, its argument will be true, so there's no need to branch on it.

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

7 years agoPorting the CoreMangLib/cti/system/math tests to CoreMangLib/cti/system/mathf
Tanner Gooding [Thu, 23 Feb 2017 03:07:32 +0000 (19:07 -0800)]
Porting the CoreMangLib/cti/system/math tests to CoreMangLib/cti/system/mathf

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

7 years agoFaster List Add (dotnet/coreclr#9539)
Ben Adams [Thu, 23 Feb 2017 03:15:57 +0000 (03:15 +0000)]
Faster List Add (dotnet/coreclr#9539)

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

7 years ago[Arm64] Fix genCodeForCpObj()
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Wed, 22 Feb 2017 22:11:45 +0000 (22:11 +0000)]
[Arm64] Fix genCodeForCpObj()

CORINFO_HELP_ASSIGN_BYREF is the functional equivalent to

   *dst = *src;
   ++dst;
   ++src;

Note: Description ignores barriers.

Since src and dst are incremented the registers are marked dead.

In genCodeForCpObj(), the incremented values are will be reused
and therefore must be treated as live.  Add code to explicitly
force them live for this use case.

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

7 years agoUpdating codegenxarch to support single-precision CORINFO_INTRINSIC_Sqrt
Tanner Gooding [Mon, 6 Feb 2017 01:58:28 +0000 (01:58 +0000)]
Updating codegenxarch to support single-precision CORINFO_INTRINSIC_Sqrt

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

7 years agoMerge pull request dotnet/coreclr#9363 from tannergooding/math-intrinsics
Tanner Gooding [Thu, 23 Feb 2017 01:36:12 +0000 (17:36 -0800)]
Merge pull request dotnet/coreclr#9363 from tannergooding/math-intrinsics

Updating jit/valuenum to properly handle the single-precision versions of the math intrinsics.

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

7 years agoDo not report FP restores in x86 epilogs.
Pat Gavlin [Wed, 22 Feb 2017 19:05:25 +0000 (11:05 -0800)]
Do not report FP restores in x86 epilogs.

The x86 unwinder neither needs nor expects to see these restores (which
right now consist solely of a `vzeroupper` instruction that is emitted
to eliminate AVX <-> SSE transition penalties), which was causing unwind
failures under GC stress. This change stops reporting these restores as
part of a function epilog.

Fixes dotnet/coreclr#9452.

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

7 years agoChanging AddNative to AddByteOffset
ahsonkhan [Wed, 22 Feb 2017 23:56:04 +0000 (15:56 -0800)]
Changing AddNative to AddByteOffset

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

7 years agoSpeed up JIT builds
Bruce Forstall [Wed, 22 Feb 2017 23:43:18 +0000 (15:43 -0800)]
Speed up JIT builds

We don't need to build the static lib and crossgen static lib
versions of the JIT unless FEATURE_MERGE_JIT_AND_ENGINE is set.
And, since we currently don't set it, this means doing two
fewer JIT builds.

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

7 years agoMerge pull request dotnet/coreclr#9654 from sdmaclea/PR-ARM64-JITGC-WIP2
Jarret Shook [Wed, 22 Feb 2017 23:30:14 +0000 (15:30 -0800)]
Merge pull request dotnet/coreclr#9654 from sdmaclea/PR-ARM64-JITGC-WIP2

[WIP] [Arm64] Fix GC liveness for CodeGen::genPutArgStk()

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

7 years agoMerge pull request dotnet/coreclr#9653 from sdmaclea/PR-ARM64-JITGC-WIP1
Jarret Shook [Wed, 22 Feb 2017 23:30:03 +0000 (15:30 -0800)]
Merge pull request dotnet/coreclr#9653 from sdmaclea/PR-ARM64-JITGC-WIP1

[WIP] [Arm64] Fix GC hole in CodeGen::genCodeForCpObj()

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

7 years agoImprove stack overflow reporting (dotnet/coreclr#9650)
Jan Vorlicek [Wed, 22 Feb 2017 22:18:01 +0000 (23:18 +0100)]
Improve stack overflow reporting (dotnet/coreclr#9650)

* Improve stack overflow reporting

This change modifies the SIGSEGV handling to use an alternate stack so that
we can safely detect and report stack overflow even in case when we are
really out of stack. Before, we were able to detect stack overflow and report
it only when JIT inserted stack probes (for functions with frames larger than
4kB) and so there was still space on the stack to run the sigsegv handler.
It brings in some additional complexity, since we need to switch to the original
stack of the thread once we figure out the sigsegv is not a stack overflow and
if we return from the hardware exception handler, we need to switch back to the
alternate stack before returning from the sigsegv handler.
Also, the alternate stack is created per thread and so we need to correctly destroy
it when a thread terminates and also install it on foreign threads that enter PAL.
This also requires creating fake stack frames to enable the libunwind to walk
the stack from the exception handler to the sigsegv location.

* Fix stack unwinding in CallDescrWorkerInternal

While testing the change to enable stack overflow handling, I've noticed that
the PROLOG_SAVE_REG_PAIR and PROLOG_SAVE_REG_PAIR_INDEXED macros are missing
.cfi_def_cfa_register fp. That resulted in inability to unwind through the
CallDescrWorkerInternal, since this function dynamically allocates stack slots
and so the default sp based frame doesn't work.

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

7 years agoCMake configuration for cross building for Android (dotnet/coreclr#9174)
Frederik Carlier [Wed, 22 Feb 2017 22:17:01 +0000 (14:17 -0800)]
CMake configuration for cross building for Android (dotnet/coreclr#9174)

* Configuration files for cross building for Android arm64

* Simplify toolchain script

* Fix trymake values for Android

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

7 years agoMerge pull request dotnet/coreclr#9712 from AndyAyersMS/FixSomeTestProjFiles
Andy Ayers [Wed, 22 Feb 2017 20:20:08 +0000 (12:20 -0800)]
Merge pull request dotnet/coreclr#9712 from AndyAyersMS/FixSomeTestProjFiles

Fix jit test projects to specify debug type and optimization flags

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

7 years agoAdd test coverage for ldtoken with members (dotnet/coreclr#9713)
Michal Strehovský [Wed, 22 Feb 2017 20:04:37 +0000 (12:04 -0800)]
Add test coverage for ldtoken with members (dotnet/coreclr#9713)

The test coverage for `ldtoken field X` and `ldtoken method X` in the
repo is very small - this test tries to improve things a little.

In particular, it tests that we get the right reflection objects, and
that we can do this from shared and unshared code.

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

7 years agoMerge pull request dotnet/coreclr#9714 from BruceForstall/FixRegMasks
Bruce Forstall [Wed, 22 Feb 2017 19:29:58 +0000 (11:29 -0800)]
Merge pull request dotnet/coreclr#9714 from BruceForstall/FixRegMasks

Fix non-Windows amd64 register mask initialization

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