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

7 years agoUpdate R2R Container Names
wtgodbe [Tue, 25 Apr 2017 19:55:37 +0000 (12:55 -0700)]
Update R2R Container Names

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

7 years agoTesting. DO NOT MERGE ME
Roman Artemev [Tue, 25 Apr 2017 00:01:06 +0000 (17:01 -0700)]
Testing. DO NOT MERGE ME

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

7 years agoAllow FEATURE_INTERPRETER to be enabled by command-line option (dotnet/coreclr#11188)
Jonghyun Park [Tue, 25 Apr 2017 18:40:40 +0000 (03:40 +0900)]
Allow FEATURE_INTERPRETER to be enabled by command-line option (dotnet/coreclr#11188)

* Allow FEATURE_INTERPRETER to be enabled by command-line option

* Set FEATURE_INTERPRETER as 0

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

7 years agoMerge pull request dotnet/coreclr#11187 from wtgodbe/NonWindowsR2R
William Godbe [Tue, 25 Apr 2017 18:29:37 +0000 (11:29 -0700)]
Merge pull request dotnet/coreclr#11187 from wtgodbe/NonWindowsR2R

Enable running R2R tests in Helix on non-Windows

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

7 years agoEnable running R2R tests in Helix on non-Windows
wtgodbe [Mon, 24 Apr 2017 20:41:42 +0000 (13:41 -0700)]
Enable running R2R tests in Helix on non-Windows

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

7 years agoMerge pull request dotnet/coreclr#11203 from mskvortsov/FixLclFld
Bruce Forstall [Tue, 25 Apr 2017 18:14:27 +0000 (11:14 -0700)]
Merge pull request dotnet/coreclr#11203 from mskvortsov/FixLclFld

[RyuJIT/ARM32] Update lclFld codegen

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

7 years ago[ARM32] clang 3.9 as a default for ARM cross build (dotnet/coreclr#11064)
Hyung-Kyu Choi [Tue, 25 Apr 2017 17:58:22 +0000 (02:58 +0900)]
[ARM32] clang 3.9 as a default for ARM cross build (dotnet/coreclr#11064)

* [ARM32] clang 3.9 as a default for ARM cross build

Use clang 3.9 as a default compiler for ARM cross build

* Both arm and armel will be built using clang 3.9 as a default
* ARM CI will use clang 3.9 as a default
* ARM pipieline build will use clang 3.9 as a default

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [ARM32] Update docs describing clang-3.9 and ARM cross build

Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
* [ARM] Check minimum version requirement of clang for ARM cross build

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

7 years agoFix fgNewBBinRegion when inserting into filters.
Pat Gavlin [Fri, 21 Apr 2017 17:26:05 +0000 (10:26 -0700)]
Fix fgNewBBinRegion when inserting into filters.

In order to ensure that the GC operates properly when handling
exceptions, the CLR ABI requires that control exits a filter region
throguh its terminal instruction. `fgNewBBinRegion` was violating this
invariant, however, which lead to GC stress failures when the GC was
invoked immediately after a filter finished executing but before control
entered any handlers. This change fixes the behavior of
`fgNewBBinRegion` when inserting new blocks into filter regions.

There are two cases to consider when inserting a new BB into a filter
region:
1. The filter region consists of multiple blocks
2. The filter region consists of a single block

The first case is straightforward: instead of inserting a new BB after
the last block of the filter, insert it before the last block of the
filter. Because the filter contains multiple blocks, the predecessor of
the filter must also be in the filter region.

The latter case requires splitting the single block, as inserting a new
block before the single block would otherwise change control flow (the
filter would begin with the new block rather than the single block). In
order to acheive this with minimal complexity, this change first inserts
a `BBJ_ALWAYS` block that transfers control to the existing single
block, then inserts a second new block immediately before the existing
single block. The second new block is then returned. To put it
visually, the transformation is from this:

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

to this:

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

and the function returns `BBN + 2`.

Fixes VSO 406163.

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

7 years agoMerge pull request dotnet/corertdotnet/coreclr#3418 from dotnet/nmirror (dotnet/corec...
dotnet bot [Tue, 25 Apr 2017 17:05:21 +0000 (10:05 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3418 from dotnet/nmirror (dotnet/coreclr#11186)

Merge nmirror to master

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

7 years agoMerge pull request dotnet/coreclr#11191 from BruceForstall/FixFuncletAssert
Bruce Forstall [Tue, 25 Apr 2017 16:58:16 +0000 (09:58 -0700)]
Merge pull request dotnet/coreclr#11191 from BruceForstall/FixFuncletAssert

Fix funclet begin assert

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

7 years agoMerge pull request dotnet/coreclr#11080 from BruceForstall/MeasureNoway
Bruce Forstall [Tue, 25 Apr 2017 15:40:26 +0000 (08:40 -0700)]
Merge pull request dotnet/coreclr#11080 from BruceForstall/MeasureNoway

Add code to measure dynamic noway_assert usage

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