platform/upstream/coreclr.git
7 years ago[Linux] Fix cross-architecture component build configuration for ARM32-target (#8687)
Hyeongseok Oh [Fri, 23 Dec 2016 13:18:32 +0000 (22:18 +0900)]
[Linux] Fix cross-architecture component build configuration for ARM32-target (#8687)

* fix CMakeLists.txt for palrt

* Modify CMakeLists.txt for cross-architecture component configuaration

Add coreclrpal project to fix a dependency issue when CMake configuration

* Allow only x64-host/arm-target for linux

allow x64-host/arm-target only, because pal is not stable for x86 now

* Update build.sh

delete NumProc=1 (inserted for debugging)

* Change x64-host to x86-host for arm-target

JIT correctness problem,
and fix CMake configuration for x86 in pal

* Fix type

* Update CMakeLists.txt

* fix style

* Set x86 when arm-target/x64-host

* fix typo

7 years agoMerge pull request #8707 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Thu, 22 Dec 2016 19:05:52 +0000 (11:05 -0800)]
Merge pull request #8707 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24822-03, beta-24822-03, respectively (master)

7 years agoMerge pull request #8680 from mskvortsov/ryujit-arm32-backend
Carol Eidt [Thu, 22 Dec 2016 18:52:39 +0000 (10:52 -0800)]
Merge pull request #8680 from mskvortsov/ryujit-arm32-backend

[WIP] ARM32 RyuJIT backend

7 years agoMerge pull request #8682 from adiaaida/newjobs
Michelle McDaniel [Thu, 22 Dec 2016 18:23:14 +0000 (10:23 -0800)]
Merge pull request #8682 from adiaaida/newjobs

Script to run CoreFx tests against a private CoreCLR

7 years agoUpdate CoreClr, CoreFx to beta-24822-03, beta-24822-03, respectively
dotnet-bot [Thu, 22 Dec 2016 17:29:49 +0000 (17:29 +0000)]
Update CoreClr, CoreFx to beta-24822-03, beta-24822-03, respectively

7 years agoARM: A step towards the RyuJIT/ARM32 backend.
Mikhail Skvortcov [Fri, 16 Dec 2016 10:41:10 +0000 (13:41 +0300)]
ARM: A step towards the RyuJIT/ARM32 backend.

7 years agoAdding ValueTuple and ITuple to corlib in CoreCLR (#8695)
Julien Couvreur [Thu, 22 Dec 2016 07:01:38 +0000 (23:01 -0800)]
Adding ValueTuple and ITuple to corlib in CoreCLR (#8695)

* Adding ValueTuple
* Adding ITuple
* Porting equality comparer optimization from corefx PR #14187

7 years agoDelete FEATURE_LEGACYSURFACE (#8704)
Jan Kotas [Thu, 22 Dec 2016 04:08:37 +0000 (20:08 -0800)]
Delete FEATURE_LEGACYSURFACE (#8704)

7 years agoMerge pull request #8706 from sivarv/simdAbs
Sivarv [Thu, 22 Dec 2016 01:34:39 +0000 (17:34 -0800)]
Merge pull request #8706 from sivarv/simdAbs

Use Pabsd/pabsw/pabsb instructions for Abs SIMD intrinsic on SSE3_4 and above targets.

7 years agoUse Pabsd/pabsw/pabsb instructions for Abs SIMD intrinsic on SSE4 and above targets.
sivarv [Wed, 21 Dec 2016 23:17:08 +0000 (15:17 -0800)]
Use Pabsd/pabsw/pabsb instructions for Abs SIMD intrinsic on SSE4 and above targets.

7 years agoMove EditorBrowsableAttribute to CoreLib (#8703)
Jan Kotas [Wed, 21 Dec 2016 20:49:34 +0000 (12:49 -0800)]
Move EditorBrowsableAttribute to CoreLib (#8703)

7 years agoMerge pull request #8701 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Wed, 21 Dec 2016 19:27:39 +0000 (11:27 -0800)]
Merge pull request #8701 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24821-04, beta-24821-02, respectively (master)

7 years agoMerge pull request #8697 from sivarv/lockAddFix
Sivarv [Wed, 21 Dec 2016 18:30:14 +0000 (10:30 -0800)]
Merge pull request #8697 from sivarv/lockAddFix

Fix GT_LOCKADD register specification.

7 years agoUpdate CoreClr, CoreFx to beta-24821-04, beta-24821-02, respectively
dotnet-bot [Wed, 21 Dec 2016 17:40:47 +0000 (17:40 +0000)]
Update CoreClr, CoreFx to beta-24821-04, beta-24821-02, respectively

7 years agoMerge pull request #8696 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Wed, 21 Dec 2016 15:53:33 +0000 (07:53 -0800)]
Merge pull request #8696 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24821-03, beta-24821-01, respectively (master)

7 years agoRemove FEATURE_BLC_FORMATTING (#8699)
Jan Vorlicek [Wed, 21 Dec 2016 15:42:51 +0000 (16:42 +0100)]
Remove FEATURE_BLC_FORMATTING (#8699)

This feature is always defined and the PAL functions that would be used
if the feature was not defined are not in PAL anymore.

7 years agoUpdate CoreClr, CoreFx to beta-24821-03, beta-24821-01, respectively
dotnet-bot [Wed, 21 Dec 2016 09:30:01 +0000 (09:30 +0000)]
Update CoreClr, CoreFx to beta-24821-03, beta-24821-01, respectively

7 years agoFix GT_LOCKADD register specification.
sivarv [Wed, 21 Dec 2016 01:25:29 +0000 (17:25 -0800)]
Fix GT_LOCKADD register specification.

7 years agoSplit netci functions into smaller functions
Michelle McDaniel [Tue, 20 Dec 2016 18:19:28 +0000 (10:19 -0800)]
Split netci functions into smaller functions

7 years agoMerge pull request #8670 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Tue, 20 Dec 2016 21:57:00 +0000 (13:57 -0800)]
Merge pull request #8670 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24820-02, beta-24820-02, respectively (master)

7 years agoMerge pull request #8693 from JosephTremoulet/ValueNumberField
Joseph Tremoulet [Tue, 20 Dec 2016 21:01:44 +0000 (16:01 -0500)]
Merge pull request #8693 from JosephTremoulet/ValueNumberField

Use field type value-numbering local field stores

7 years agoUse field type value-numbering local field stores
Joseph Tremoulet [Tue, 20 Dec 2016 18:23:58 +0000 (10:23 -0800)]
Use field type value-numbering local field stores

Method `VNPairApplySelectorsAssign` takes the type of the value being
assigned, so when processing a store to a field of a local struct, pass
the type of the field rather than the type of the local; failure to do so
was blocking propagation of the value number to subsequent loads of the
same field due to the type mismatch.

7 years agoUpdate CoreClr, CoreFx to beta-24820-02, beta-24820-02, respectively
dotnet-bot [Tue, 20 Dec 2016 16:22:57 +0000 (16:22 +0000)]
Update CoreClr, CoreFx to beta-24820-02, beta-24820-02, respectively

7 years agoChange wrong indentations in GetSecureInvoke() codes (#8688)
Sujin Kim [Tue, 20 Dec 2016 15:46:13 +0000 (00:46 +0900)]
Change wrong indentations in GetSecureInvoke() codes (#8688)

In the before #8592 merged PR, several indentations in modified GetSecureInvoke method were wrong.
So I request additional fixed PR.

1. 2 space indentations -> 4 spaces
2. tab indentation -> 4 spaces

7 years agoARM: do not use unpredictable sub.w sp, rN, #imm (#8636)
mskvortsov [Tue, 20 Dec 2016 09:48:38 +0000 (12:48 +0300)]
ARM: do not use unpredictable sub.w sp, rN, #imm (#8636)

7 years ago[x86/Linux] Implement libunwind-based unwindLazyStack (#8686)
Jonghyun Park [Tue, 20 Dec 2016 09:31:52 +0000 (18:31 +0900)]
[x86/Linux] Implement libunwind-based unwindLazyStack (#8686)

* [x86/Linux] Implement libunwind-based unwindLazyStack

This commit implements libunwind-based unwindLazyStack for x86/Linux
in order to fix #8625.

7 years agoFix the bug that Secure Delegate Stubs are compiled every time. (#8592)
Sujin Kim [Tue, 20 Dec 2016 06:53:51 +0000 (15:53 +0900)]
Fix the bug that Secure Delegate Stubs are compiled every time. (#8592)

* Fix the bug that Secure Delegate Stubs are compiled every time.

I found that Secure Delegate stubs are compiled every time during application execution, which has a negative impact on execution performance. #8554

Like the GetMulticastInvoke() method, GetSecureInvoke() checks the hashtable when the method is executed and uses it if it already exists.

* Fix pDelMT bug and change file rights

7 years agoScript to run CoreFx tests against a private CoreCLR
Russ Keldorph [Tue, 8 Nov 2016 12:45:52 +0000 (04:45 -0800)]
Script to run CoreFx tests against a private CoreCLR

Move the increasingly complex logic required for the CI to run CoreFx
tests from the CoreCLR repo into a separate script.

Also enable automated CoreFx jitstress testing for x86.

7 years agoMerge pull request #8681 from gkhanna79/PNBBuildPkg
William Godbe [Mon, 19 Dec 2016 20:15:33 +0000 (12:15 -0800)]
Merge pull request #8681 from gkhanna79/PNBBuildPkg

Update build-packages.sh to support portableLinux

7 years agoUpdate build-packages.sh to support portableLinux
Gaurav Khanna [Mon, 19 Dec 2016 19:54:51 +0000 (11:54 -0800)]
Update build-packages.sh to support portableLinux

7 years agoAdd Encoding.GetBytes(string, offset, count) (#8651)
Alexander Radchenko [Mon, 19 Dec 2016 19:39:26 +0000 (02:39 +0700)]
Add Encoding.GetBytes(string, offset, count) (#8651)

7 years agoFix DllImport of IdnToAscii & IdnToUnicode (#8666)
John Chen [Mon, 19 Dec 2016 19:17:25 +0000 (11:17 -0800)]
Fix DllImport of IdnToAscii & IdnToUnicode (#8666)

Fix an issue found in OneCoreUAP testing. According to MSDN,
the official exporting DLL for IdnToAccii and IdnToUnicode
is normaliz.dll, not kernel32.dll. While most Windows SKUs
export these functions from both normaliz.dll and kernel32.dll,
recent tests revealed that some Windows SKUs export them from
normaliz.dll only.

7 years agoMerge pull request #8674 from AndyAyersMS/BiggerBlockFlag
Andy Ayers [Mon, 19 Dec 2016 17:36:38 +0000 (09:36 -0800)]
Merge pull request #8674 from AndyAyersMS/BiggerBlockFlag

Widen basic block flag field to 64 bits

7 years ago[Linux][GDB-JIT] Fix bugs in gdbjit that break lldb stepping (#8637)
Igor Kulaychuk [Mon, 19 Dec 2016 11:03:59 +0000 (14:03 +0300)]
[Linux][GDB-JIT] Fix bugs in gdbjit that break lldb stepping (#8637)

* Fix .text and .thunk symbols overlapping

When current method calls itself, a __thunk* symbol might be generated with the same address
as the method symbol in .text section. Avoid generating such __thunk* symbol.

* Do not create DWARF line table entries with the same address

* For each HiddenLine assign a zero line number in DWARF

Allow LLDB to to skip HiddenLines when stepping.

* Fix __thunk symbols containing garbage

Fix a bug when __thunk* symbols of previously compiled methods cause
generation of __thunk* symbols for currently compiled method without
filling symbol info.

* Fix missing check for the end of list of compiled methods

* Remove unnecessary check for zero prevLine in gdbjit

7 years ago[x86/Linux] Add UMThunkStub (#8627)
SaeHie Park [Mon, 19 Dec 2016 10:03:37 +0000 (19:03 +0900)]
[x86/Linux] Add UMThunkStub (#8627)

Add UMThunkStub method with logic from that of AMD64

7 years agoFixing up the arm subsystem versions (#8676)
Peter Marcu [Mon, 19 Dec 2016 02:32:05 +0000 (18:32 -0800)]
Fixing up the arm subsystem versions (#8676)

* Adding arm64 and updating default subsystems

7 years agoRemove Read/WriteProcessMemory from PAL. (#8655)
Mike McLaughlin [Sun, 18 Dec 2016 22:48:36 +0000 (14:48 -0800)]
Remove Read/WriteProcessMemory from PAL. (#8655)

Ifdef more unused code that uses ReadProcessMemory. Move the current
memory probing in the transport to PAL_ProbeMemory. Add PAL_ProbeMemory
to dac PAL exports.

PAL_ProbeMemory may be changed to use write/read on a pipe to
validate the memory as soon as we make it perform as well as
the current code.

Remove ReadProcessMemory tests and add PAL_ProbeMemory pal tests.

7 years agoUse ExecutionPolicy ByPass to execute probe-win.ps1 script during the build (#8673)
Jan Kotas [Sun, 18 Dec 2016 07:44:29 +0000 (23:44 -0800)]
Use ExecutionPolicy ByPass to execute probe-win.ps1 script during the build (#8673)

Port of https://github.com/dotnet/corert/issues/2377

7 years agoWiden basic block flag field to 64 bits
Andy Ayers [Sun, 18 Dec 2016 01:03:49 +0000 (17:03 -0800)]
Widen basic block flag field to 64 bits

Flag field is currently full, and I need at least one more bit to identify
the start of a cloned finally.

Widen to 64 bits and update a few uses. Also removed an unused copy.

7 years agoMerge pull request #8668 from gkhanna79/PNBRid
Gaurav Khanna [Sat, 17 Dec 2016 01:33:49 +0000 (17:33 -0800)]
Merge pull request #8668 from gkhanna79/PNBRid

Packaging support for portable Linux binaries.

7 years agoPackaging support for portable Linux binaries.
Gaurav Khanna [Fri, 16 Dec 2016 20:47:08 +0000 (12:47 -0800)]
Packaging support for portable Linux binaries.

7 years agoMerge pull request #8664 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Fri, 16 Dec 2016 21:52:33 +0000 (13:52 -0800)]
Merge pull request #8664 from dotnet-bot/master-UpdateDependencies

Update CoreClr to beta-24816-04 (master)

7 years agoAvoid Unsafe.AsRef in Span<T> implementation (#8657)
Jan Kotas [Fri, 16 Dec 2016 21:45:48 +0000 (13:45 -0800)]
Avoid Unsafe.AsRef in Span<T> implementation (#8657)

The JIT is not able to inline the current implementation of Unsafe.AsRef because of it has type mismatch on return. Change the the corelib Span to call Unsafe.As instead since fixing the type mismatch is not easy in the internal corelib version of Unsafe.AsRef.

7 years agoDictionary.GetValueOrDefault (#8641)
Alexander Radchenko [Fri, 16 Dec 2016 21:06:41 +0000 (04:06 +0700)]
Dictionary.GetValueOrDefault (#8641)

* Dictionary.GetValueOrDefault

* Fixed IDictionary.TryGetValue

* remove extensions

* // Method similar to TryGetValue that returns the value instead of putting it in an out param.

* public TValue GetValueOrDefault(TKey key) => GetValueOrDefault(key, default(TValue));

7 years agoUpdate CoreClr to beta-24816-04
dotnet-bot [Fri, 16 Dec 2016 19:40:29 +0000 (19:40 +0000)]
Update CoreClr to beta-24816-04

7 years agoFix buildsystem for linux cross-architecture component build (#8646)
Hyeongseok Oh [Fri, 16 Dec 2016 19:06:16 +0000 (04:06 +0900)]
Fix buildsystem for linux cross-architecture component build (#8646)

* Fix buildsystem for linux cross-architecture component build

* refactoring build.sh, bug fix and typo fix

* Update build.sh

7 years agoMakes CultureInfo.get_Parent thread safe (#8656)
Rama krishnan Raghupathy [Fri, 16 Dec 2016 18:31:45 +0000 (10:31 -0800)]
Makes CultureInfo.get_Parent thread safe (#8656)

7 years agoMerge pull request #8659 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Fri, 16 Dec 2016 18:04:46 +0000 (10:04 -0800)]
Merge pull request #8659 from dotnet-bot/master-UpdateDependencies

Update CoreFx to beta-24816-02 (master)

7 years agoUpdate CoreFx to beta-24816-02
dotnet-bot [Fri, 16 Dec 2016 15:49:19 +0000 (15:49 +0000)]
Update CoreFx to beta-24816-02

7 years ago[Linux][GDB-JIT] Add try/catch blocks to methods in DWARF (#8650)
Igor Kulaychuk [Fri, 16 Dec 2016 13:05:25 +0000 (16:05 +0300)]
[Linux][GDB-JIT] Add try/catch blocks to methods in DWARF (#8650)

* Add try/catch blocks to DWARF info

Use info about exception handling from IL and map it to
native code as try/catch blocks in DWARF.

* Improve locals naming convention consistency in gdbjit

* Drop pointer to line info from FunctionMember after it is dumped

7 years agoMake it easier to use StringComparison & StringComparer with GetHashCode (#8633)
Alexander Radchenko [Thu, 15 Dec 2016 23:24:14 +0000 (06:24 +0700)]
Make it easier to use StringComparison & StringComparer with GetHashCode (#8633)

* Make it easier to use StringComparison & StringComparer with GetHashCode

* model.xml

7 years agoSwitch GCSample to the canonical GCToOSInterface implementation (#8653)
Jan Kotas [Thu, 15 Dec 2016 22:26:48 +0000 (14:26 -0800)]
Switch GCSample to the canonical GCToOSInterface implementation (#8653)

7 years agoMerge pull request #8649 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Thu, 15 Dec 2016 21:36:26 +0000 (13:36 -0800)]
Merge pull request #8649 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24815-03, beta-24815-03, respectively (master)

7 years agoMerge pull request #8642 from CarolEidt/Fix359736
Carol Eidt [Thu, 15 Dec 2016 19:02:19 +0000 (11:02 -0800)]
Merge pull request #8642 from CarolEidt/Fix359736

Correctly sequence fgMorphModToSubMulDiv

7 years agoUpdate CoreClr, CoreFx to beta-24815-03, beta-24815-03, respectively
dotnet-bot [Thu, 15 Dec 2016 17:39:00 +0000 (17:39 +0000)]
Update CoreClr, CoreFx to beta-24815-03, beta-24815-03, respectively

7 years agoRemove API Set dependency (#8624)
John Chen [Thu, 15 Dec 2016 16:47:23 +0000 (08:47 -0800)]
Remove API Set dependency (#8624)

7 years agoMerge pull request #8207 from CarolEidt/StreamlineResolution
Carol Eidt [Thu, 15 Dec 2016 16:38:57 +0000 (08:38 -0800)]
Merge pull request #8207 from CarolEidt/StreamlineResolution

Streamline LSRA resolution

7 years agoMerge pull request #8329 from litian2025/Fix_SIMDScalarMoveEncoding
Sivarv [Thu, 15 Dec 2016 15:37:02 +0000 (07:37 -0800)]
Merge pull request #8329 from litian2025/Fix_SIMDScalarMoveEncoding

Fix SIMD Scalar Move Encoding: VEX.L should be 0

7 years agoMerge pull request #8645 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Thu, 15 Dec 2016 05:08:28 +0000 (21:08 -0800)]
Merge pull request #8645 from dotnet-bot/master-UpdateDependencies

Update CoreFx to beta-24815-01 (master)

7 years agoUpdate CoreFx to beta-24815-01
dotnet-bot [Thu, 15 Dec 2016 03:48:47 +0000 (03:48 +0000)]
Update CoreFx to beta-24815-01

7 years agoMerge pull request #8546 from alsemenn/debuggertests_generate_scripts_win
Sasha Semennikov [Thu, 15 Dec 2016 01:09:20 +0000 (17:09 -0800)]
Merge pull request #8546 from alsemenn/debuggertests_generate_scripts_win

Add script generator and generate test scripts to adapt debuggertests…

7 years agoMerge pull request #8640 from pgavlin/VSO359734
Pat Gavlin [Thu, 15 Dec 2016 00:14:46 +0000 (16:14 -0800)]
Merge pull request #8640 from pgavlin/VSO359734

Fix ref count adjustment in `fgMorphBlockStmt`.

7 years agoFix SIMD Scalar Move Encoding: VEX.L should be 0
Li Tian [Mon, 28 Nov 2016 22:48:01 +0000 (14:48 -0800)]
Fix SIMD Scalar Move Encoding: VEX.L should be 0

For SIMD Scalar Move instructions such as vmovlpd, vmovlps, vmovhps,
vmovhps and vmovss on AVX system, JIT should ensure that those
instructions are encoded with VEX.L=0, because encoding them with
VEX.L=1 may encounter unpredictable behavior across different
processor generations. The reason of VEX.L is encoded with 1 is
because JIT calls compiler->getSIMDVectorType() which returns
EA_32BYTE, and it is been passed into emitter AddVexPrefix() which
ends up encoded VEX.L=1, the fix is to pass target type and base
type for those instructions to ensure that VEX.L=0 at emitter
AddVexPrefix()

Fix #8328

7 years agoCorrectly sequence fgMorphModToSubMulDiv
Carol Eidt [Wed, 14 Dec 2016 21:58:11 +0000 (13:58 -0800)]
Correctly sequence fgMorphModToSubMulDiv

This method was creating a temp, but the final result was a GT_SUB with
a use of the temp as its op1, and it was not setting GTF_REVERSE_OPS.
This led to a liveness assert in LSRA.

7 years agoAdd a regression test.
Pat Gavlin [Wed, 14 Dec 2016 21:52:50 +0000 (13:52 -0800)]
Add a regression test.

7 years agoMerge pull request #8582 from dotnet-bot/master-UpdateDependencies
Gaurav Khanna [Wed, 14 Dec 2016 21:32:00 +0000 (13:32 -0800)]
Merge pull request #8582 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to beta-24814-03, beta-24814-02, respectively (master)

7 years agoFix ref count adjustment in `fgMorphBlockStmt`.
Pat Gavlin [Wed, 14 Dec 2016 20:23:54 +0000 (12:23 -0800)]
Fix ref count adjustment in `fgMorphBlockStmt`.

LclVar ref counts must be incremented before attempting to remove the
morphed statement, since doing so decrements ref counts (and thus
requires refcounts to be conservatively correct).

Fixes VSO 359734.

7 years ago[Linux][GDB-JIT] Add simple C++ mangling of method names in GDBJIT DWARF (#8638)
Igor Kulaychuk [Wed, 14 Dec 2016 19:38:11 +0000 (22:38 +0300)]
[Linux][GDB-JIT] Add simple C++ mangling of method names in GDBJIT DWARF (#8638)

* Add simple C++ mangling of method names in GDBJIT DWARF

Example:
    Namespace1.Class1.Method -> void Namespace1_Class1::Method()

* Do not convert a name during mangling if target buffer is NULL

7 years agoMerge pull request #8601 from pgavlin/gh7963
Pat Gavlin [Wed, 14 Dec 2016 19:21:17 +0000 (11:21 -0800)]
Merge pull request #8601 from pgavlin/gh7963

Fix consume-order checking in codegen.

7 years agoAdd support for R2R ldvirtftn helpers (#8608)
Michal Strehovský [Wed, 14 Dec 2016 18:03:53 +0000 (10:03 -0800)]
Add support for R2R ldvirtftn helpers (#8608)

The codegen for the non-readytorun path (used on CoreCLR) requires the
runtime to support general purpose virtual method resolution based on a
method handle. CoreRT doesn't have such helpers.

7 years agoUpdate CoreClr, CoreFx to beta-24814-03, beta-24814-02, respectively
dotnet-bot [Wed, 14 Dec 2016 17:26:31 +0000 (17:26 +0000)]
Update CoreClr, CoreFx to beta-24814-03, beta-24814-02, respectively

7 years agoMove RUNTIME_FUNCTION__BeginAddress into clrnt.h (#8632)
Jonghyun Park [Wed, 14 Dec 2016 10:35:21 +0000 (19:35 +0900)]
Move RUNTIME_FUNCTION__BeginAddress into clrnt.h (#8632)

RUNTIME_FUNCTION__BeginAddress is defined in corcompile.h for x86, but
is defined in clrnt.h for all the other architectures.

This commit moves RUNTIME_FUNCTION__BeginAddress defines for x86 into
clrnt.h to make it consistent.

7 years ago[x86/Linux] Adds Dummy Exception Handler (#8613)
Jonghyun Park [Wed, 14 Dec 2016 10:29:32 +0000 (19:29 +0900)]
[x86/Linux] Adds Dummy Exception Handler (#8613)

This commit adds a dummy exeption handler to enable x86/Linux build.

This commit also reverts 7b92136d5ee to make it easy to enable
WIN64EXCEPTIONS in x86/Linux.

7 years ago[ARM32/Linux] Initial bring up of FEATURE_INTERPRETER (#8594)
mskvortsov [Wed, 14 Dec 2016 02:26:32 +0000 (05:26 +0300)]
[ARM32/Linux] Initial bring up of FEATURE_INTERPRETER (#8594)

* Bring up FEATURE_INTERPRETER for ARM32/Linux
* Add a disclaimer message for GC preemption workaround

7 years agoAdding method implementations to fast span/readonlyspan (#8607)
ahsonkhan [Wed, 14 Dec 2016 02:25:29 +0000 (18:25 -0800)]
Adding method implementations to fast span/readonlyspan  (#8607)

7 years ago[x86/Linux] Enforce 16-byte stack alignment (#8587)
Jonghyun Park [Wed, 14 Dec 2016 02:15:21 +0000 (11:15 +0900)]
[x86/Linux] Enforce 16-byte stack alignment (#8587)

Clang (and GCC) requires 16-byte stack alignment, but the current
implementation of CallDescrInternal and ThePreStub does not provide any
guarantee on stack alignment.

This commit adds 16-byte stack alignment adjust code inside these functions.

7 years ago[x86/Linux] Fix incorrect __fastcall definition (#8585)
Jonghyun Park [Wed, 14 Dec 2016 01:26:14 +0000 (10:26 +0900)]
[x86/Linux] Fix incorrect __fastcall definition (#8585)

In x86/Linux, __fastcall is defined as __stdcall which causes stack
corruption issue for the following functions:
 - HelperMethodFrameRestoreState
 - LazyMachStateCaptureState

This commit removes __fastcall definition as clang recognize __fastcall.

7 years ago[x86/Linux] Fix "Bad opcode" assert in unwindLazyState (#8609)
Jonghyun Park [Wed, 14 Dec 2016 00:46:40 +0000 (09:46 +0900)]
[x86/Linux] Fix "Bad opcode" assert in unwindLazyState (#8609)

* [x86/Linux] Fix "Bad opcode" assert in unwindLazyState

This commit suppresses "Bad opcode" assert while runing "Hello, World" example.

This commit address the following three code patterns discovered while
digging the assert failure:
 - and $0x1, %al
 - xor $0xff, %al
 - stack protection code:
   mov %gs:<off>, <reg>
   cmp <off>(%esp), <reg>
   mov <reg>, <off>($esp)
   jne <disp32>

This commit revises LazyMachState::unwindLazyState to handle the first two patterns,
and revises compile options not to emit the third pattern.

7 years agoMerge pull request #8617 from hqueue/arm/test20161210/IsContainableImmed
Bruce Forstall [Tue, 13 Dec 2016 23:59:02 +0000 (15:59 -0800)]
Merge pull request #8617 from hqueue/arm/test20161210/IsContainableImmed

Ryujit/ARM32 Initial Lowering::IsContainableImmed for ARM

7 years ago[x86/Linux] Port jithelp.asm (#8491)
Jonghyun Park [Tue, 13 Dec 2016 23:36:06 +0000 (08:36 +0900)]
[x86/Linux] Port jithelp.asm (#8491)

* [x86/Linux] Port jithelp.asm

This commit ports jithelp.asm for x86/Linux

The following Tailcall helpers are marked as NYI:
 - JIT_TailCall
 - JIT_TailCallReturnFromVSD
 - JIT_TailCallVSDLeave
 - JIT_TailCallLeave

* Revise macro and indentation

7 years agoFix the ARM32 build.
Pat Gavlin [Tue, 13 Dec 2016 23:30:09 +0000 (15:30 -0800)]
Fix the ARM32 build.

7 years agoRemove no-op file security (#8611)
Jeremy Kuhne [Tue, 13 Dec 2016 22:40:23 +0000 (14:40 -0800)]
Remove no-op file security (#8611)

Deletes FileSecurityState and pulls redundant methods. Also
removes DriveInfo, which isn't in use in Core.

7 years agoFix consume-order checking in codegen.
Pat Gavlin [Mon, 12 Dec 2016 19:34:26 +0000 (11:34 -0800)]
Fix consume-order checking in codegen.

The switch to LIR invalidated the correspondence between a node's
sequence number and the order in which it must be consumed with respect
to other nodes. This in turn made the consume-order checks during code
generation incorrect.

This change introduces a new field, `gtUseNum`, that is used during code
generation to check the order in which nodes are consumed. Re-enabling
these checks revealed a bug in code generation for locked instructions
on x86, which were consuming their operands out-of-order; this change
also contains a fix for that bug.

Fixes #7963.

7 years agoMerge pull request #8560 from AlexRadch/Deconstruction
Wes Haggard [Tue, 13 Dec 2016 21:34:16 +0000 (13:34 -0800)]
Merge pull request #8560 from AlexRadch/Deconstruction

Supporting C# 7 deconstruction of KeyValuePair and DictionaryEntry

7 years agoMerge pull request #8621 from mikedn/cmp-cast-drop
Sivarv [Tue, 13 Dec 2016 19:39:02 +0000 (11:39 -0800)]
Merge pull request #8621 from mikedn/cmp-cast-drop

Fix incorrect compare narrowing in TreeNodeInfoInitCmp

7 years agoFix incorrect compare narrowing in TreeNodeInfoInitCmp
Mike Danes [Tue, 13 Dec 2016 12:45:13 +0000 (14:45 +0200)]
Fix incorrect compare narrowing in TreeNodeInfoInitCmp

TreeNodeInfoInitCmp attempts to eliminate the cast from
`cmp(cast<ubyte>(x), icon)` by narrowing the compare to ubyte. This should
only happen if the constant fits in a byte so it can be narrowed too,
otherwise codegen produces an int sized compare. (or a byte sized compare
with a truncated constant if we try to use GTF_RELOP_SMALL).

7 years agoEnable interop debugging for Windows amd64 and x86. (#8603)
Mike McLaughlin [Tue, 13 Dec 2016 17:11:57 +0000 (09:11 -0800)]
Enable interop debugging for Windows amd64 and x86. (#8603)

Found sos portable pdb problem on x86.  Fixed interop problems between the native sos and SOS.NetCore managed helper assembly.

7 years agoSynchronize src\mscorlib\corefx with the CoreRT fork (#8619)
Jan Kotas [Tue, 13 Dec 2016 16:35:56 +0000 (08:35 -0800)]
Synchronize src\mscorlib\corefx with the CoreRT fork (#8619)

7 years agoRemove managed environment cache (#8604)
Jeremy Kuhne [Tue, 13 Dec 2016 12:51:28 +0000 (04:51 -0800)]
Remove managed environment cache (#8604)

The PAL already caches- no need to do it in managed.
Fold the code back into Environment.cs.

7 years agoDelete HostProtection attributes (#8610)
Jan Kotas [Tue, 13 Dec 2016 12:19:55 +0000 (04:19 -0800)]
Delete HostProtection attributes (#8610)

7 years agoRyujit/ARM32 Initial Lowering::IsContainableImmed for ARM
Hyung-Kyu Choi [Tue, 13 Dec 2016 06:27:01 +0000 (15:27 +0900)]
Ryujit/ARM32 Initial Lowering::IsContainableImmed for ARM

Initial implementation of IsContainableImmed for ARM.

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
7 years agoMerge pull request #8520 from hqueue/arm/test20161208/lowercast
Carol Eidt [Tue, 13 Dec 2016 02:48:18 +0000 (18:48 -0800)]
Merge pull request #8520 from hqueue/arm/test20161208/lowercast

Ryujit/ARM32: Implement Lowering::LowerCast for ARM

7 years agoRyujit/ARM32 Implement Lowering::LowerCast for ARM
Hyung-Kyu Choi [Tue, 13 Dec 2016 00:36:33 +0000 (09:36 +0900)]
Ryujit/ARM32 Implement Lowering::LowerCast for ARM

Simple integer to interger type conversion is passed.
Add comment for LowreCast with C++ comment style.

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
7 years agoMerge pull request #8510 from DrewScoggins/CommitNameFix
Drew Scoggins [Tue, 13 Dec 2016 00:30:34 +0000 (16:30 -0800)]
Merge pull request #8510 from DrewScoggins/CommitNameFix

Add ability to give a name to a manual PR run

When using the PR leg of the Jenkins performance jobs it is now possible to specify a name that will be used when inserting the data into the perf database.

7 years agoAdd ability to give a name to a PR run
Drew Scoggins [Thu, 8 Dec 2016 00:12:14 +0000 (16:12 -0800)]
Add ability to give a name to a PR run

7 years agoRename Contract.Assert to Debug.Assert (#8600)
Jan Kotas [Mon, 12 Dec 2016 23:43:49 +0000 (15:43 -0800)]
Rename Contract.Assert to Debug.Assert (#8600)

7 years ago[x86/Linux] implement TheUMEntryPrestub (#8589)
SaeHie Park [Mon, 12 Dec 2016 23:22:29 +0000 (08:22 +0900)]
[x86/Linux] implement TheUMEntryPrestub (#8589)

Initial code for x86 TheUMEntryPrestub, UMThunkStub

7 years agoFix longname DAC to enable arm[64] symbol packages (#8574)
Davis Goodin [Mon, 12 Dec 2016 21:50:05 +0000 (15:50 -0600)]
Fix longname DAC to enable arm[64] symbol packages (#8574)

7 years agoMerge pull request #8532 from sivarv/fixedRegFix
Sivarv [Mon, 12 Dec 2016 21:36:43 +0000 (13:36 -0800)]
Merge pull request #8532 from sivarv/fixedRegFix

Fix to issue 8286.

7 years agoMerge pull request #8598 from adiaaida/disableGetGeneration
Michelle McDaniel [Mon, 12 Dec 2016 21:26:02 +0000 (13:26 -0800)]
Merge pull request #8598 from adiaaida/disableGetGeneration

Disable GetGenerationWR2 for GCStress on x86