platform/upstream/dotnet/runtime.git
7 years agoMerge pull request dotnet/coreclr#11067 from sjsinju/model_kill_set
Bruce Forstall [Mon, 1 May 2017 21:12:19 +0000 (14:12 -0700)]
Merge pull request dotnet/coreclr#11067 from sjsinju/model_kill_set

[WIP][RyuJIT/ARM32] Implement the model kill for CORINFO_HELP_ASSGN_BYREF helper

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

7 years agoMerge pull request dotnet/coreclr#11304 from pgavlin/GH11273
Pat Gavlin [Mon, 1 May 2017 19:31:25 +0000 (12:31 -0700)]
Merge pull request dotnet/coreclr#11304 from pgavlin/GH11273

Fix dotnet/coreclr#11273 by adjusting the fix for VSO 406163.

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

7 years agoMove a few more files to shared CoreLib partition
Jan Kotas [Sun, 16 Apr 2017 22:14:48 +0000 (15:14 -0700)]
Move a few more files to shared CoreLib partition

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

7 years ago[ARM] Update rootfs for Tizen armel (dotnet/coreclr#11202)
Hyung-Kyu Choi [Mon, 1 May 2017 19:00:01 +0000 (04:00 +0900)]
[ARM] Update rootfs for Tizen armel (dotnet/coreclr#11202)

* [ARM] Update cross rootfs for armel Tizen

Update cross rootfs for armel Tizen

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [ARM] Update cmake file and CI for armel Tizen

Update CI and cmake file for armel Tizen, because rootfs for Tizen is updated.
And rootfs for Tizen is embedded in Docker image for CI as Ubuntu for arm does.

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/a23cd5287f9be53f47c78cf99dfc114518a506d0

7 years agoFix current publish build warnings (dotnet/coreclr#11317)
Davis Goodin [Mon, 1 May 2017 18:35:13 +0000 (13:35 -0500)]
Fix current publish build warnings (dotnet/coreclr#11317)

* Make VSTS Drop metadata distinct

* Remove PublishLogs artifact publish: no matches

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

7 years agoMerge pull request dotnet/coreclr#11309 from dotnet-bot/master-UpdateDependencies
William Godbe [Mon, 1 May 2017 17:49:46 +0000 (10:49 -0700)]
Merge pull request dotnet/coreclr#11309 from dotnet-bot/master-UpdateDependencies

Update CoreClr, CoreFx to preview2-25301-01, preview2-25301-02, respectively (master)

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

7 years agoFetch secondary handle only if primary is non-null
Jan Kotas [Sat, 29 Apr 2017 14:43:23 +0000 (07:43 -0700)]
Fetch secondary handle only if primary is non-null

The GC is not tracking the secondary handle once primary gets cleared.

Fixes dotnet/coreclr#11270

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

7 years agoAvoid unnecessary out arguments in DependentHandle FCalls
Jan Kotas [Fri, 28 Apr 2017 01:28:34 +0000 (18:28 -0700)]
Avoid unnecessary out arguments in DependentHandle FCalls

Make the signatures closer to what they are in CoreRT

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

7 years agoMerge pull request dotnet/coreclr#11262 from pgavlin/NoCompatJit
Pat Gavlin [Mon, 1 May 2017 17:21:28 +0000 (10:21 -0700)]
Merge pull request dotnet/coreclr#11262 from pgavlin/NoCompatJit

Remove support for the x86 compat JIT from .NET Core.

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

7 years agoFormat code and fix a comment.
Pat Gavlin [Mon, 1 May 2017 17:14:48 +0000 (10:14 -0700)]
Format code and fix a comment.

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

7 years agoAdd symbol publish (index/archive) build leg (dotnet/coreclr#11300)
Davis Goodin [Mon, 1 May 2017 14:54:03 +0000 (09:54 -0500)]
Add symbol publish (index/archive) build leg (dotnet/coreclr#11300)

* Add symbol publish (index/archive) build leg

* Use BuildType property name in symbol publish leg

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

7 years agoMerge pull request dotnet/coreclr#11275 from CarolEidt/Fix11141
Carol Eidt [Mon, 1 May 2017 14:47:50 +0000 (07:47 -0700)]
Merge pull request dotnet/coreclr#11275 from CarolEidt/Fix11141

Avoid over-constrained delayed-use register case

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

7 years agoUpdate CoreClr, CoreFx to preview2-25301-01, preview2-25301-02, respectively
dotnet-bot [Mon, 1 May 2017 14:10:46 +0000 (14:10 +0000)]
Update CoreClr, CoreFx to preview2-25301-01, preview2-25301-02, respectively

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

7 years agoRename internal field of primitive type structs and make it private (dotnet/coreclr...
Jan Kotas [Mon, 1 May 2017 05:52:25 +0000 (22:52 -0700)]
Rename internal field of primitive type structs and make it private (dotnet/coreclr#11312)

Reduce diffs with CoreRT and conform to coding conventions

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

7 years agoMerge pull request dotnet/coreclr#11297 from DrewScoggins/AddPerfRunInstr
Drew Scoggins [Sat, 29 Apr 2017 22:03:00 +0000 (07:03 +0900)]
Merge pull request dotnet/coreclr#11297 from DrewScoggins/AddPerfRunInstr

Add instructions for running local perf tests

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

7 years agoMerge pull request dotnet/coreclr#11272 from wtgodbe/CrossgenMove
William Godbe [Sat, 29 Apr 2017 20:58:30 +0000 (13:58 -0700)]
Merge pull request dotnet/coreclr#11272 from wtgodbe/CrossgenMove

Ensure we run the Crossgened test executable in R2R tests

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

7 years agoBring back Marshal.Read/Write overloads that takes object (dotnet/coreclr#11251)
Yi Zhang (CLR) [Sat, 29 Apr 2017 16:51:03 +0000 (09:51 -0700)]
Bring back Marshal.Read/Write overloads that takes object (dotnet/coreclr#11251)

* Bring back desktop version of Marshal.Read/Write APIs that takes object and add a test

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

7 years agoUpdate CoreClr to preview2-25229-01 (dotnet/coreclr#11303)
dotnet bot [Sat, 29 Apr 2017 06:08:49 +0000 (23:08 -0700)]
Update CoreClr to preview2-25229-01 (dotnet/coreclr#11303)

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

7 years agoUpdate runtest.sh
William Godbe [Sat, 29 Apr 2017 01:54:48 +0000 (18:54 -0700)]
Update runtest.sh

Update if statement

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

7 years agoFix dotnet/coreclr#11273 by adjusting the fix for VSO 406163.
Pat Gavlin [Fri, 28 Apr 2017 23:31:25 +0000 (16:31 -0700)]
Fix dotnet/coreclr#11273 by adjusting the fix for VSO 406163.

Issue dotnet/coreclr#11273 revealed an issue with the fix for VSO 406163: as of today,
the compiler models the incoming exception object in a handler by
looking for `GT_CATCH_ARG` in the first block of a handler and if found
marking the register that contains the exception object as holding a GC
pointer. Unfortunately, this breaks down under the transform that the
original fix (dotnet/coreclr#11134) was performing for single-block filters. That
transformation was from this:

```
    filter start: BBN (BBJ_EHFILTERRET)
```

to this:

```
    filter start: BBN + 1 (BBJ_ALWAYS -> BBN)
                  BBN + 2 (jumpKind)
                  BBN     (BBJ_EHFILTERRET)
```

After this transform, `BBN` still contains the `GT_CATCH_ARG`, but the
register containing the exception object must be live through `BBN + 1`
as well as live in to `BBN`.

There are a number of possible solutions to this problem (e.g. modeling
the liveness of the exception object in some fashion or splitting the
single-block filter either after the catch arg or before the filter
ret), but many of them are complicated by the fact that this
transformation needs to operate on both HIR and LIR and must be be able
to run in a variety of locations, including after registers have been
allocated. Instead, this change takes the approach of ensuring that no
single-block filter regions exist on platforms that target the JIT32 GC
encoder by inserting a spill of the exception object to a local var in
its own block at the start of a filter.

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

7 years agoEnsure we run the Crossgened test executable in R2R tests
wtgodbe [Thu, 27 Apr 2017 22:40:23 +0000 (15:40 -0700)]
Ensure we run the Crossgened test executable in R2R tests

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

7 years agoCorrectly enumerate loaded assemblies in AppDomain (dotnet/coreclr#11294)
Gaurav Khanna [Fri, 28 Apr 2017 23:06:54 +0000 (16:06 -0700)]
Correctly enumerate loaded assemblies in AppDomain (dotnet/coreclr#11294)

* Correctly enumerate loaded assemblies in AppDomain

* Remove unrequired attribute

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

7 years agoFix typo
Drew Scoggins [Fri, 28 Apr 2017 22:56:36 +0000 (15:56 -0700)]
Fix typo

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

7 years agoAdd instructions for running local perf tests
Drew Scoggins [Fri, 28 Apr 2017 18:45:01 +0000 (11:45 -0700)]
Add instructions for running local perf tests

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

7 years agoUpdate CoreClr, CoreFx to preview2-25228-02, preview2-25228-02, respectively (dotnet...
dotnet bot [Fri, 28 Apr 2017 19:50:38 +0000 (12:50 -0700)]
Update CoreClr, CoreFx to preview2-25228-02, preview2-25228-02, respectively (dotnet/coreclr#11283)

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

7 years agoEnable interpreter build (dotnet/coreclr#11252)
Jonghyun Park [Fri, 28 Apr 2017 18:08:36 +0000 (03:08 +0900)]
Enable interpreter build (dotnet/coreclr#11252)

Enable FEATURE_INTERPRETER build

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

7 years agoMerge pull request dotnet/coreclr#11268 from sdmaclea/PR-ARM64-two-gc-attributes
Brian Sullivan [Fri, 28 Apr 2017 17:57:50 +0000 (10:57 -0700)]
Merge pull request dotnet/coreclr#11268 from sdmaclea/PR-ARM64-two-gc-attributes

[Arm64] Support two GC attributes in pair forms

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

7 years agoAvoid over-constrained delayed-use register case
Carol Eidt [Thu, 27 Apr 2017 22:28:17 +0000 (15:28 -0700)]
Avoid over-constrained delayed-use register case

When a node has a delayed-use register (either due to an RMW def or due to an internalRegDelayFree),
if its result has a fixed-use, don't propagate the register constraint to the def, because there's
no associated fixed-reference to ensure that it will not be used by the delay-free register.

Fix dotnet/coreclr#11141

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

7 years agoFix R2R issue with virtual method resolving to non-generic base (dotnet/coreclr#11289)
Yi Zhang (CLR) [Fri, 28 Apr 2017 15:41:29 +0000 (08:41 -0700)]
Fix R2R issue with virtual method resolving to non-generic base (dotnet/coreclr#11289)

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

7 years agoMerge pull request dotnet/corertdotnet/coreclr#3446 from jkotas/nmirror-merge
Jan Kotas [Thu, 27 Apr 2017 23:47:53 +0000 (16:47 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3446 from jkotas/nmirror-merge

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/f3ab5c1b60559a742da1d3487bb6a0942c5903ed

7 years agoAdd assert
Steve MacLean [Fri, 28 Apr 2017 02:08:48 +0000 (22:08 -0400)]
Add assert

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

7 years agoRemove comment
Steve MacLean [Fri, 28 Apr 2017 02:03:49 +0000 (22:03 -0400)]
Remove comment

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

7 years agoUpdate CoreClr, CoreFx to preview2-25227-03, preview2-25227-02, respectively (dotnet...
dotnet bot [Fri, 28 Apr 2017 01:26:02 +0000 (18:26 -0700)]
Update CoreClr, CoreFx to preview2-25227-03, preview2-25227-02, respectively (dotnet/coreclr#11249)

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

7 years agoFix lsra memory consumption (dotnet/coreclr#11233)
Sergey Andreenko [Fri, 28 Apr 2017 01:06:34 +0000 (18:06 -0700)]
Fix lsra memory consumption (dotnet/coreclr#11233)

* Rename ClearD to OldStyleClearD

* create fast ClearD function.

The new ClearD reuses existing buffer and assumes that epoch wasn't
changed.

* Reuse existing buffer for the predSet in lsra.

* Use fast ClearD in LSRA.

* Use fast ClearD in liveness

* Fix the comment

* delete the test from issues

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

7 years agoFix issues exposed by building with MSVC and /permissive-. (dotnet/coreclr#11269)
Xiang Fan [Thu, 27 Apr 2017 23:48:13 +0000 (16:48 -0700)]
Fix issues exposed by building with MSVC and /permissive-. (dotnet/coreclr#11269)

Using full-qualified name to declare members inside class is ill-formed and incorrectly allowed by MSVC.
MSVC now gives error when /permissive- is used.

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

7 years agoEnable R2R jitstress jobs for x86
Russ Keldorph [Thu, 27 Apr 2017 22:25:59 +0000 (15:25 -0700)]
Enable R2R jitstress jobs for x86

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

7 years agoAllow conversions between enum and underlying type
Jan Kotas [Thu, 27 Apr 2017 20:49:10 +0000 (13:49 -0700)]
Allow conversions between enum and underlying type

Fixes https://github.com/dotnet/corefx/issues/13816

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

7 years agoDisallow conversions between Object* and Object in Array.Copy
Jan Kotas [Thu, 27 Apr 2017 20:48:16 +0000 (13:48 -0700)]
Disallow conversions between Object* and Object in Array.Copy

Fixes https://github.com/dotnet/coreclr/issues/10646

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

7 years agoUnify fetching LoadContext for Dynamic Assemblies (dotnet/coreclr#11264)
Gaurav Khanna [Thu, 27 Apr 2017 22:36:24 +0000 (15:36 -0700)]
Unify fetching LoadContext for Dynamic Assemblies (dotnet/coreclr#11264)

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

7 years agoRemove support for the x86 compat JIT from .NET Core.
Pat Gavlin [Wed, 26 Apr 2017 23:01:52 +0000 (16:01 -0700)]
Remove support for the x86 compat JIT from .NET Core.

These changes remove support for the x86 compat JIT from the build, the
runtime, and the various perf/test scripts.

Fixes dotnet/coreclr#10733, dotnet/coreclr#10734.

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

7 years ago[Arm64] Use ldp for mismatched GC types in genPutArgStk
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Thu, 27 Apr 2017 19:20:21 +0000 (19:20 +0000)]
[Arm64] Use ldp for mismatched GC types in genPutArgStk

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

7 years ago[Arm64] Support two GC attributes in pair forms
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Thu, 27 Apr 2017 19:15:16 +0000 (19:15 +0000)]
[Arm64] Support two GC attributes in pair forms

Also use in genCodeForCpObj

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

7 years ago[Arm64] Clean up genPutArgStk (dotnet/coreclr#11239)
Steve MacLean [Thu, 27 Apr 2017 21:32:29 +0000 (17:32 -0400)]
[Arm64] Clean up genPutArgStk (dotnet/coreclr#11239)

* [Arm64] Clean up genPutArgStk

Use ldp/stp in more case
Simplify code by eliminating most addrReg conflict cases

* Fix formatting

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

7 years agoTurn on unwind information at informational level rather than Info level. (dotnet...
Vance Morrison [Thu, 27 Apr 2017 19:43:38 +0000 (12:43 -0700)]
Turn on unwind information at informational level rather than Info level. (dotnet/coreclr#11257)

This is bascically a bug fix.   Quite a while ago we wanted to be able to collect stacks (which needed JIT names, and unwind information)
without collecting all verbose CLR events (in particular the GC allocation Tick events).   We did this in most places but missed this one.

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

7 years agoRemove unused TreeNodeInfo::isHelperCallWithKills field (dotnet/coreclr#11259)
Bruce Forstall [Thu, 27 Apr 2017 19:41:43 +0000 (12:41 -0700)]
Remove unused TreeNodeInfo::isHelperCallWithKills field (dotnet/coreclr#11259)

Remove unused TreeNodeInfo::isHelperCallWithKills field

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

7 years agoMerge pull request dotnet/coreclr#11224 from parjong/fix/arm_unaligned_ldobj
Bruce Forstall [Thu, 27 Apr 2017 18:21:27 +0000 (11:21 -0700)]
Merge pull request dotnet/coreclr#11224 from parjong/fix/arm_unaligned_ldobj

[ARM/Linux] Honor unaligned prefix for ldobj instruction

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

7 years ago[WIP] Enable binding to CoreLib as NI image (dotnet/coreclr#11040)
Gaurav Khanna [Thu, 27 Apr 2017 17:46:47 +0000 (10:46 -0700)]
[WIP] Enable binding to CoreLib as NI image (dotnet/coreclr#11040)

Enable binding to CoreLib as NI image

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

7 years agoMerge pull request dotnet/coreclr#11255 from mskvortsov/FixPutArgReg
Bruce Forstall [Thu, 27 Apr 2017 17:45:36 +0000 (10:45 -0700)]
Merge pull request dotnet/coreclr#11255 from mskvortsov/FixPutArgReg

[RyuJIT/ARM32] Update putarg_reg codegen

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

7 years agoMerge pull request dotnet/coreclr#11258 from mskvortsov/FixConsumeReporting
Bruce Forstall [Thu, 27 Apr 2017 17:19:10 +0000 (10:19 -0700)]
Merge pull request dotnet/coreclr#11258 from mskvortsov/FixConsumeReporting

Do not report out-of-order consuming if a node wasn't consumed at all

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

7 years agoFix a double-free encountered when failing to initialize a handle table bucket (dotne...
Sean Gillespie [Thu, 27 Apr 2017 17:09:32 +0000 (10:09 -0700)]
Fix a double-free encountered when failing to initialize a handle table bucket (dotnet/coreclr#11244)

* Fix a double-free encountered when failing to initialize a handle table bucket

* Don't free m_bucket in the destructor of HandleTableBucketHolder

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

7 years agoFix unittest `LPSTRTest` (dotnet/coreclr#11096)
Hanjoung Lee [Thu, 27 Apr 2017 16:39:47 +0000 (01:39 +0900)]
Fix unittest `LPSTRTest` (dotnet/coreclr#11096)

* Fix unittest `LPSTRTest`

The test case Interop.StringMarshalling.LPSTR.LPSTRTest
always returned exit code 100(pass) even if it actually failed.
This implements `ExitTest()` in the same manner with `LPTSTRTest`.

* Fix unittest `LPSTRTest` native

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

7 years agoMerge pull request dotnet/coreclr#11219 from sdmaclea/PR-ARM64-CpObj-Use-LDP-STP
Brian Sullivan [Thu, 27 Apr 2017 15:53:42 +0000 (08:53 -0700)]
Merge pull request dotnet/coreclr#11219 from sdmaclea/PR-ARM64-CpObj-Use-LDP-STP

[Arm64] Use ldp/stp in genCodeForCpObj()

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

7 years agoMerge pull request dotnet/coreclr#11243 from sdmaclea/PR-ARM64-LDP-ALLOW-GCREFS
Brian Sullivan [Thu, 27 Apr 2017 15:51:39 +0000 (08:51 -0700)]
Merge pull request dotnet/coreclr#11243 from sdmaclea/PR-ARM64-LDP-ALLOW-GCREFS

[Arm64] Update emitOutputInstr to support GC refs in ldp forms

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

7 years agoDo not report out-of-order consuming if node wasn't consumed at all
Mikhail Skvortcov [Thu, 27 Apr 2017 14:53:53 +0000 (17:53 +0300)]
Do not report out-of-order consuming if node wasn't consumed at all

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

7 years ago[x86/Linux] Disable USE_CALLER_SP_IN_FUNCLET in EH (dotnet/coreclr#11247)
Jonghyun Park [Thu, 27 Apr 2017 14:50:39 +0000 (23:50 +0900)]
[x86/Linux] Disable USE_CALLER_SP_IN_FUNCLET in EH (dotnet/coreclr#11247)

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

7 years agoRyuJIT/ARM32: Update GT_PUTARG_REG codegen.
Mikhail Skvortcov [Thu, 27 Apr 2017 10:54:35 +0000 (13:54 +0300)]
RyuJIT/ARM32: Update GT_PUTARG_REG codegen.

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

7 years ago[Arm64/Unix] Revise JIT_MemCpy (dotnet/coreclr#11143)
Steve MacLean [Thu, 27 Apr 2017 04:50:37 +0000 (00:50 -0400)]
[Arm64/Unix] Revise JIT_MemCpy (dotnet/coreclr#11143)

* [Arm64/Unix] Revise JIT_MemCpy

Use ldp/stp
Correctly handle short copy lengths
Simplify code & pseudo code
Use uint*_t to make pseudo code more readable

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

7 years agoFix building with only VS2017 installed. (dotnet/coreclr#11182)
Felipe Pessoto [Thu, 27 Apr 2017 04:50:04 +0000 (01:50 -0300)]
Fix building with only VS2017 installed. (dotnet/coreclr#11182)

The fix was originally made in https://github.com/dotnet/corefx/pull/18700

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

7 years agoMerge pull request dotnet/coreclr#11240 from wtgodbe/SourceBranch
William Godbe [Thu, 27 Apr 2017 01:55:16 +0000 (18:55 -0700)]
Merge pull request dotnet/coreclr#11240 from wtgodbe/SourceBranch

Use SourceBranch from pipebuild to define Helix Branch

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

7 years agoFix to respect readonly prefix for multidimensional array Address method (dotnet...
Koundinya Veluri [Thu, 27 Apr 2017 01:42:48 +0000 (18:42 -0700)]
Fix to respect readonly prefix for multidimensional array Address method (dotnet/coreclr#11245)

Fixes dotnet/coreclr#9414
- Added missing 'else' back from regression in https://github.com/dotnet/coreclr/commit/dotnet/coreclr@97b4ff0b438261ba11b357008630076054a6f25d#diff-edc46b80f57431489a82311948a8234dL6424, which has the effect of passing null to the Address method's instParam to indicate the readonly prefix in order to bypass the type check

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

7 years agoFix filename display in exception messages (dotnet/coreclr#11238)
Gaurav Khanna [Wed, 26 Apr 2017 23:53:58 +0000 (16:53 -0700)]
Fix filename display in exception messages (dotnet/coreclr#11238)

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

7 years agoUpdate CoreClr, CoreFx to preview2-25226-02, preview2-25226-02, respectively (dotnet...
dotnet bot [Wed, 26 Apr 2017 23:21:04 +0000 (16:21 -0700)]
Update CoreClr, CoreFx to preview2-25226-02, preview2-25226-02, respectively (dotnet/coreclr#11127)

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

7 years agoDelete moved file
Jan Kotas [Wed, 26 Apr 2017 21:01:22 +0000 (14:01 -0700)]
Delete moved file

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

7 years agoMove DllNotFoundException, EntryPointNotFoundException to CoreLib (dotnet/coreclr...
Faizur Rahman [Wed, 26 Apr 2017 03:39:46 +0000 (20:39 -0700)]
Move DllNotFoundException, EntryPointNotFoundException to CoreLib (dotnet/coreclr#3415)

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/2de686fab67e7c0dfae1f913763b6caa0f891313

7 years agoFix timer callback time drift (dotnet/coreclr#11220)
Koundinya Veluri [Wed, 26 Apr 2017 23:08:53 +0000 (16:08 -0700)]
Fix timer callback time drift (dotnet/coreclr#11220)

Fixes dotnet/coreclr#6408:
- The change to S.T.Timer is the actual fix, but fixed the timer firing on the thread pool timer thread similarly as well

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

7 years agoFix comment
Steve MacLean [Wed, 26 Apr 2017 22:53:08 +0000 (18:53 -0400)]
Fix comment

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

7 years ago[Arm64] Update emitOutputInstr to support GC refs in ldp forms
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Wed, 26 Apr 2017 22:39:03 +0000 (22:39 +0000)]
[Arm64] Update emitOutputInstr to support GC refs in ldp forms

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

7 years agoMerge pull request dotnet/coreclr#11235 from pgavlin/VSO424019
Pat Gavlin [Wed, 26 Apr 2017 22:37:39 +0000 (15:37 -0700)]
Merge pull request dotnet/coreclr#11235 from pgavlin/VSO424019

Require a frame pointer in methods with throw blocks for sources that…

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

7 years agoUse SourceBranch from pipebuild to define Helix Branch
wtgodbe [Wed, 26 Apr 2017 21:54:04 +0000 (14:54 -0700)]
Use SourceBranch from pipebuild to define Helix Branch

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

7 years agoFix and re-enable some GC finalizer tests (dotnet/coreclr#11216)
Sean Gillespie [Wed, 26 Apr 2017 21:50:19 +0000 (14:50 -0700)]
Fix and re-enable some GC finalizer tests (dotnet/coreclr#11216)

* Fix and re-enable some GC finalizer tests

* Make the Usage test a little more robust

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

7 years ago[Arm64] CpObj ldp/stp review feedback
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Wed, 26 Apr 2017 19:46:07 +0000 (19:46 +0000)]
[Arm64] CpObj ldp/stp review feedback

Rework asserts
Add comments
Format

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

7 years agoMerge pull request dotnet/coreclr#11178 from sbomer/ilrt_factoring
Sven Boemer [Wed, 26 Apr 2017 21:02:36 +0000 (14:02 -0700)]
Merge pull request dotnet/coreclr#11178 from sbomer/ilrt_factoring

Refactor ildasm round trip logic

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

7 years agoRequire a frame pointer in methods with throw blocks for sources that have mismatched...
Pat Gavlin [Wed, 26 Apr 2017 20:23:59 +0000 (13:23 -0700)]
Require a frame pointer in methods with throw blocks for sources that have mismatched stack depths.

This requirement effectively disables double-aligned frames (which are
effectively a special case of ESP frames). Without this change it is
possible for the JIT to generate a throw block with sources that have
mismatched offsets, which can lead to GC holes.

Fixes VSO 424019.

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

7 years agoMerge pull request dotnet/coreclr#11218 from AndyAyersMS/FixReturnTypeMismatch
Andy Ayers [Wed, 26 Apr 2017 20:04:14 +0000 (13:04 -0700)]
Merge pull request dotnet/coreclr#11218 from AndyAyersMS/FixReturnTypeMismatch

JIT: fix return type mismatch inlining block

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

7 years agoLookup System.Runtime and mscorlib references by Assembly name
Michael Letterle [Fri, 31 Mar 2017 15:31:53 +0000 (11:31 -0400)]
Lookup System.Runtime and mscorlib references by Assembly name

Rather than by alias.

Fixes dotnet/coreclr#10595

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

7 years agoMerge pull request dotnet/coreclr#11229 from wtgodbe/CrossgenFix
William Godbe [Wed, 26 Apr 2017 18:29:52 +0000 (11:29 -0700)]
Merge pull request dotnet/coreclr#11229 from wtgodbe/CrossgenFix

Exit on failure of HelixPrep.proj

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

7 years agoExit on failure of HelixPrep.proj
wtgodbe [Wed, 26 Apr 2017 18:29:10 +0000 (11:29 -0700)]
Exit on failure of HelixPrep.proj

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

7 years agoRefactor ildasm round trip logic
Sven Boemer [Mon, 24 Apr 2017 17:12:38 +0000 (10:12 -0700)]
Refactor ildasm round trip logic

This change factors the Ildasm round trip logic so that it should not
require a separate test build. The ildasmroundtrip flag is no longer
passed to build-test.cmd; instead the wrapper scripts are always
generated with a check for an environment variable that can be set from
runtests.

Also remove separate test build for ilrt in the ci scripts

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

7 years agoEnable build with clang 4.0 (dotnet/coreclr#11226)
Jan Vorlicek [Wed, 26 Apr 2017 14:10:13 +0000 (07:10 -0700)]
Enable build with clang 4.0 (dotnet/coreclr#11226)

This change enables build with clang 4.0 and fixes a bunch of new errors that
the stricter compiler was reporting.

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

7 years agoFix thread wait to be resilient to real time clock changes on Unix (dotnet/coreclr...
Jan Vorlicek [Wed, 26 Apr 2017 13:48:20 +0000 (06:48 -0700)]
Fix thread wait to be resilient to real time clock changes on Unix (dotnet/coreclr#11213)

This change fixes a problem that happens when a thread uses a timed wait
and the real time clock change in the system (e.g. due to the user action,
time server sync, leap second, etc). In such case, the wait may end up waiting
for shorter or longer period of time.
It fixes the issue for Thread.Sleep and timed wait on a process local synchronization
primitives by using CLOCK_MONOTONIC instead of CLOCK_REALTIME for waiting on
cond vars.
Unfortunately, the waits on cross process synchronication primitives like
named mutexes always use CLOCK_REALTIME, so this fix works on process local primitives
only.

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

7 years ago[x86/Linux] Stack alignment check in Hijack Helpers (dotnet/coreclr#11221)
Jonghyun Park [Wed, 26 Apr 2017 12:49:07 +0000 (21:49 +0900)]
[x86/Linux] Stack alignment check in Hijack Helpers (dotnet/coreclr#11221)

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

7 years ago[x86/Linux] Use appropriate FCALL macro for DateMarshaler__ConvertToNative (dotnet...
Jonghyun Park [Wed, 26 Apr 2017 12:18:33 +0000 (21:18 +0900)]
[x86/Linux] Use appropriate FCALL macro for DateMarshaler__ConvertToNative (dotnet/coreclr#11194)

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

7 years agoMerge pull request dotnet/corertdotnet/coreclr#3429 from dotnet/nmirror
Michal Strehovský [Tue, 25 Apr 2017 20:13:36 +0000 (13:13 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3429 from dotnet/nmirror

Merge nmirror to master

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/e28db872e7fc5ffd9ce637b54b749cac4ae9d7cc

7 years agoComment explaining use of FlushProcessWriteBuffers in StompWriteBarrier. (dotnet...
Alan Lawrence [Wed, 26 Apr 2017 11:14:11 +0000 (12:14 +0100)]
Comment explaining use of FlushProcessWriteBuffers in StompWriteBarrier. (dotnet/coreclr#10924)

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

7 years agoFix few clang analyzer warnings (dotnet/coreclr#11185)
Jan Vorlicek [Wed, 26 Apr 2017 08:52:35 +0000 (01:52 -0700)]
Fix few clang analyzer warnings (dotnet/coreclr#11185)

This change fixes two issues reported by the clang analyzer. In both cases, uninitialized
variable value was used in an error code path.

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

7 years ago[ARM/Linux] Honor unaligned prefix for ldobj instruction
Jonghyun Park [Wed, 26 Apr 2017 06:24:44 +0000 (15:24 +0900)]
[ARM/Linux] Honor unaligned prefix for ldobj instruction

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

7 years agoMerge pull request dotnet/coreclr#11107 from BruceForstall/NumSuccImprovement
Bruce Forstall [Wed, 26 Apr 2017 04:17:48 +0000 (21:17 -0700)]
Merge pull request dotnet/coreclr#11107 from BruceForstall/NumSuccImprovement

Num succ improvement

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

7 years agoMerge pull request dotnet/coreclr#11204 from BruceForstall/FixArmAltjitGcinfo
Bruce Forstall [Wed, 26 Apr 2017 04:16:29 +0000 (21:16 -0700)]
Merge pull request dotnet/coreclr#11204 from BruceForstall/FixArmAltjitGcinfo

Fix GCInfo library used by ARM/ARM64 protononjit builds

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

7 years agoMerge pull request dotnet/coreclr#11215 from wtgodbe/ActuallyDoCrossgen
William Godbe [Wed, 26 Apr 2017 04:16:09 +0000 (21:16 -0700)]
Merge pull request dotnet/coreclr#11215 from wtgodbe/ActuallyDoCrossgen

Set RunCrossGen=true for non-Windows R2R runs

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

7 years ago[Arm64] Use ldp/stp in genCodeForCpObj()
Steve MacLean, Qualcomm Datacenter Technologies, Inc [Tue, 25 Apr 2017 23:03:36 +0000 (23:03 +0000)]
[Arm64] Use ldp/stp in genCodeForCpObj()

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

7 years agoMove DynamicHelperFrame::UpdateRegDisplay into cgenx86.cpp (dotnet/coreclr#11193)
Jonghyun Park [Tue, 25 Apr 2017 23:31:29 +0000 (08:31 +0900)]
Move DynamicHelperFrame::UpdateRegDisplay into cgenx86.cpp (dotnet/coreclr#11193)

* Move DynamicHelperFrame::UpdateRegDisplay into cgenx86.cpp

* Fix x86/Windows link error

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

7 years agoJIT: fix return type mismatch inlining block
Andy Ayers [Tue, 25 Apr 2017 23:06:44 +0000 (16:06 -0700)]
JIT: fix return type mismatch inlining block

If caller passes a directly substitutable expression whose
type is compatible with but not the same as the callee argument type,
and that argument is the callee's return value, the jit may
reject inlining the method because of a return type mismatch.

Fix is to retype the expressions we use in the callee's body
as the callee's type.

Closes dotnet/coreclr#11211.

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

7 years agoSet RunCrossGen=true for non-Windows R2R runs
wtgodbe [Tue, 25 Apr 2017 22:40:22 +0000 (15:40 -0700)]
Set RunCrossGen=true for non-Windows R2R runs

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

7 years agoMerge pull request dotnet/coreclr#11134 from pgavlin/VSO406163
Pat Gavlin [Tue, 25 Apr 2017 22:36:37 +0000 (15:36 -0700)]
Merge pull request dotnet/coreclr#11134 from pgavlin/VSO406163

Fix fgNewBBinRegion when inserting into filters.

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

7 years agoMerge pull request dotnet/coreclr#11110 from rartemev/issue_9880
Roman Artemev [Tue, 25 Apr 2017 22:24:09 +0000 (15:24 -0700)]
Merge pull request dotnet/coreclr#11110 from rartemev/issue_9880

Made behavior to conform to ECMA for 'tail.call, pop, ret' case

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

7 years ago[RyuJIT/ARM32] Move genJumpKindsForTree into common part (dotnet/coreclr#11103)
mskvortsov [Tue, 25 Apr 2017 22:01:43 +0000 (01:01 +0300)]
[RyuJIT/ARM32] Move genJumpKindsForTree into common part (dotnet/coreclr#11103)

* Move genJumpKindsForTree() into codegenarmarch.cpp.

* Edit genJumpKindsForTree().

* Introduce genCodeForJumpTrue() for both ArmArch and XArch.

* Fix GT_JTRUE codegen for ARM32 by using genCodeForJumpTrue().

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

7 years agoFix GCInfo library used by ARM/ARM64 protononjit builds
Bruce Forstall [Tue, 25 Apr 2017 16:43:38 +0000 (09:43 -0700)]
Fix GCInfo library used by ARM/ARM64 protononjit builds

Otherwise, using the normal GCInfo library, the altjits will
assert creating GC info.

Create new "cross-target" builds of the GCInfo library.

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

7 years agoMerge pull request dotnet/coreclr#11118 from rartemev/issue_10094
Roman Artemev [Tue, 25 Apr 2017 21:31:38 +0000 (14:31 -0700)]
Merge pull request dotnet/coreclr#11118 from rartemev/issue_10094

Fixed netci.groove scripts to make CentOS and Ubuntu R2R jitstressregs builds worked.

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

7 years agoMade behavior to conform to ECMA for 'tail.call, pop, ret' case
Roman Artemev [Thu, 20 Apr 2017 00:49:25 +0000 (17:49 -0700)]
Made behavior to conform to ECMA for 'tail.call, pop, ret' case

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

7 years agoMerge pull request dotnet/coreclr#11206 from wtgodbe/ContainerName
William Godbe [Tue, 25 Apr 2017 19:56:08 +0000 (12:56 -0700)]
Merge pull request dotnet/coreclr#11206 from wtgodbe/ContainerName

Update R2R Container Names

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