platform/upstream/dotnet/runtime.git
7 years agoTemporarily block core dump printing on arm64 to unblock CI.
Aditya Mandaleeka [Fri, 7 Jul 2017 19:54:35 +0000 (12:54 -0700)]
Temporarily block core dump printing on arm64 to unblock CI.

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

7 years agoMerge pull request dotnet/coreclr#12535 from adityamandaleeka/dispatcher_queues_coreclr
Aditya Mandaleeka [Fri, 30 Jun 2017 04:48:09 +0000 (21:48 -0700)]
Merge pull request dotnet/coreclr#12535 from adityamandaleeka/dispatcher_queues_coreclr

Support DispatcherQueues when getting WinRT dispatcher

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

7 years agoMake libnuma soft dependency (dotnet/coreclr#12556)
Adeel Mujahid [Fri, 30 Jun 2017 04:41:26 +0000 (07:41 +0300)]
Make libnuma soft dependency (dotnet/coreclr#12556)

Load libnuma dynamically, so it is not linked at compile time and
hence avoid making it a hard dependency at runtime.

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

7 years agoMerge pull request dotnet/corertdotnet/coreclr#4004 from dotnet/nmirror
Michal Strehovský [Wed, 28 Jun 2017 19:26:54 +0000 (12:26 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#4004 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/aa451e8fcf9edd2fda0d93b3b2155f6d7a7d7216

7 years agoUse public ConditionalWeakTable iterator (dotnet/coreclr#12564)
Jan Kotas [Fri, 30 Jun 2017 04:40:04 +0000 (21:40 -0700)]
Use public ConditionalWeakTable iterator (dotnet/coreclr#12564)

Port https://github.com/dotnet/corert/pull/4030/commits/dotnet/coreclr@a3837f7fc60a1b7db872cfef6463f74fb1ffeafb to CoreCLR

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

7 years agoMove JIT_TrialAlloc declaration into jitinterfacex86.cpp (dotnet/coreclr#12562)
Jonghyun Park [Fri, 30 Jun 2017 04:31:00 +0000 (13:31 +0900)]
Move JIT_TrialAlloc declaration into jitinterfacex86.cpp (dotnet/coreclr#12562)

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

7 years agoRemove m_ prefixes in BinaryReader.cs (dotnet/coreclr#12561)
Jan Kotas [Fri, 30 Jun 2017 04:30:42 +0000 (21:30 -0700)]
Remove m_ prefixes in BinaryReader.cs (dotnet/coreclr#12561)

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

7 years agoMerge pull request dotnet/coreclr#12557 from briansull/add-verbose
Brian Sullivan [Fri, 30 Jun 2017 02:19:54 +0000 (19:19 -0700)]
Merge pull request dotnet/coreclr#12557 from briansull/add-verbose

Implement a /verbose flag to show the verbose output from crossgen

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

7 years agoImplement a /verbose flag to show the verbose output from crossgen
Brian Sullivan [Thu, 29 Jun 2017 22:57:40 +0000 (15:57 -0700)]
Implement a /verbose flag to show the verbose output from crossgen

Added info on /verbose option to PrintUsageHelper()
Convert printf(ascii) to wide strings in methodtable.cpp
In build.cmd echo the crossgen /CreatePdb command line

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

7 years agoMake ResourceManager netstandard 2.0 API behave correctly (dotnet/coreclr#12536)
Tarek Mahmoud Sayed [Thu, 29 Jun 2017 19:32:30 +0000 (12:32 -0700)]
Make ResourceManager netstandard 2.0 API behave correctly (dotnet/coreclr#12536)

* Make ResourceManager netstandard 2.0 API behave correctly

In netstandard 2.0 we have enabled the APIs like GetObject, GetStream,..etc. these are not functioning correctly in UWP apps because was assuming we always uses PRI files. The changes here is to initialize the managed resources too and let these APIs behave as if we are running inside desktop app.

* added #ifdef

* Remove the throwing as PRI can handle case insenitive lookup

* remove un-needed resources

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

7 years agoMerge pull request dotnet/coreclr#12532 from jashook/fix_arm64_and_arm32_package_restore
Jarret Shook [Thu, 29 Jun 2017 19:25:02 +0000 (12:25 -0700)]
Merge pull request dotnet/coreclr#12532 from jashook/fix_arm64_and_arm32_package_restore

Fix the package restore for arm64 and arm32

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

7 years agoUse the number of GC threads to calculate spin count (dotnet/coreclr#12525)
Xiangyang (Mark) Guo [Thu, 29 Jun 2017 19:13:16 +0000 (12:13 -0700)]
Use the number of GC threads to calculate spin count (dotnet/coreclr#12525)

* use the number of gc threads to calculate spin count

* use n_heaps

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

7 years agoFix the package restore for arm64 and arm32
jashook [Wed, 28 Jun 2017 21:22:39 +0000 (14:22 -0700)]
Fix the package restore for arm64 and arm32

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

7 years agoMerge pull request dotnet/coreclr#12538 from dotnet-bot/from-tfs
Bruce Forstall [Thu, 29 Jun 2017 16:05:41 +0000 (09:05 -0700)]
Merge pull request dotnet/coreclr#12538 from dotnet-bot/from-tfs

Merge changes from TFS

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

7 years agoMerge pull request dotnet/coreclr#12360 from wateret/armel/dblarg
Carol Eidt [Thu, 29 Jun 2017 14:48:18 +0000 (07:48 -0700)]
Merge pull request dotnet/coreclr#12360 from wateret/armel/dblarg

[RyuJIT/armel] Support `double` argument passing

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

7 years agoDelete file moved to shared partition
Jan Kotas [Thu, 29 Jun 2017 06:17:32 +0000 (23:17 -0700)]
Delete file moved to shared partition

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

7 years agoMerge pull request dotnet/corertdotnet/coreclr#4004 from dotnet/nmirror
Michal Strehovský [Wed, 28 Jun 2017 19:26:54 +0000 (12:26 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#4004 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/649ea074fb8d48b3c2e93857efb80a9649484745

7 years agoReduce the verbosity of optdata sync on stdout (dotnet/coreclr#12543)
Daniel Podder [Thu, 29 Jun 2017 09:05:38 +0000 (04:05 -0500)]
Reduce the verbosity of optdata sync on stdout (dotnet/coreclr#12543)

Set the "StandardOutputImportance" attribute on the RestoreOptData
target to low, matching the "RestoreNETCorePlatforms" target. Logging
to sync.log remains verbose, but stdout on the console is made much less
verbose.

Fixes dotnet/coreclr#12127

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

7 years agoFix GC contract violation (dotnet/coreclr#12542)
Jan Kotas [Thu, 29 Jun 2017 07:21:17 +0000 (00:21 -0700)]
Fix GC contract violation (dotnet/coreclr#12542)

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

7 years agoDelete test that tests pinning of System.Object (dotnet/coreclr#12537)
Michal Strehovský [Thu, 29 Jun 2017 06:58:34 +0000 (23:58 -0700)]
Delete test that tests pinning of System.Object (dotnet/coreclr#12537)

See dotnet/corefxdotnet/coreclr#21673 for motivation. This test fails on CoreRT.

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

7 years ago[RyuJIT/armel] Support `double` argument passing
Hanjoung Lee [Mon, 19 Jun 2017 07:50:02 +0000 (16:50 +0900)]
[RyuJIT/armel] Support `double` argument passing

- Fix for putting `double` arguments between Lowering and Codegen phase
- Rename GenTreeMulLong to GenTreeMultiRegOp
  GT_PUTARG_REG could be GenTreeMultiRegOp on RyuJIT/arm

Fix dotnet/coreclr#12293

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

7 years ago[x86/Linux] Adjust SP in throwing helper block (dotnet/coreclr#12504)
Jonghyun Park [Thu, 29 Jun 2017 03:50:36 +0000 (12:50 +0900)]
[x86/Linux] Adjust SP in throwing helper block (dotnet/coreclr#12504)

* [x86/Linux] Adjust SP in throwing helper block

* Fix format error

* Use funKind intead of siInFuncletRegion

* Use genSPtoFPdelta (and add some comments)

* Fix a typo

* Revert irrelevant changes

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

7 years agoMerge pull request dotnet/coreclr#12528 from pgavlin/NoPgoOption
Pat Gavlin [Thu, 29 Jun 2017 00:15:59 +0000 (17:15 -0700)]
Merge pull request dotnet/coreclr#12528 from pgavlin/NoPgoOption

Add a flag to build.{sh,cmd} to disable PGO.

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

7 years agoMerge pull request dotnet/coreclr#12534 from dotnet-bot/from-tfs
Pat Gavlin [Thu, 29 Jun 2017 00:01:08 +0000 (17:01 -0700)]
Merge pull request dotnet/coreclr#12534 from dotnet-bot/from-tfs

Merge changes from TFS

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

7 years agoMerge pull request dotnet/coreclr#12487 from pgavlin/GenTreeVisitor
Pat Gavlin [Wed, 28 Jun 2017 23:04:26 +0000 (16:04 -0700)]
Merge pull request dotnet/coreclr#12487 from pgavlin/GenTreeVisitor

Add a new, faster tree walker.

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

7 years agoRemove unreached() macro
Brian Sullivan [Wed, 28 Jun 2017 22:59:06 +0000 (15:59 -0700)]
Remove unreached() macro

[tfs-changeset: 1663789]

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

7 years agoSupport DispatcherQueues when getting WinRT sync context.
Aditya Mandaleeka [Wed, 28 Jun 2017 22:38:13 +0000 (15:38 -0700)]
Support DispatcherQueues when getting WinRT sync context.

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

7 years agoMerge pull request dotnet/coreclr#12531 from dotnet-bot/from-tfs
Bruce Forstall [Wed, 28 Jun 2017 22:21:40 +0000 (15:21 -0700)]
Merge pull request dotnet/coreclr#12531 from dotnet-bot/from-tfs

Merge changes from TFS

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

7 years agoFix a release build break.
Pat Gavlin [Wed, 28 Jun 2017 22:08:02 +0000 (15:08 -0700)]
Fix a release build break.

[tfs-changeset: 1663777]

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

7 years agoMove ReaderWriterLockSlim to shared partition
Koundinya Veluri [Wed, 28 Jun 2017 19:07:08 +0000 (12:07 -0700)]
Move ReaderWriterLockSlim to shared partition

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

7 years agoEnable SourceBranch to be passed from the pipeline parameters
JC Aguilera [Wed, 28 Jun 2017 20:45:47 +0000 (13:45 -0700)]
Enable SourceBranch to be passed from the pipeline parameters

Enable SourceBranch to be passed from the pipeline parameters

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

7 years agoFormat code.
Pat Gavlin [Wed, 28 Jun 2017 20:44:44 +0000 (13:44 -0700)]
Format code.

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

7 years agoAddress PR feedback.
Pat Gavlin [Wed, 28 Jun 2017 20:40:40 +0000 (13:40 -0700)]
Address PR feedback.

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

7 years agoFix build error
Bruce Forstall [Wed, 28 Jun 2017 20:34:07 +0000 (13:34 -0700)]
Fix build error

[tfs-changeset: 1663755]

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

7 years agoFix usage style.
Pat Gavlin [Wed, 28 Jun 2017 19:59:19 +0000 (12:59 -0700)]
Fix usage style.

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

7 years agoReduce excessive loop count in interlocked tests (dotnet/coreclr#12222)
Steve MacLean [Wed, 28 Jun 2017 19:52:24 +0000 (15:52 -0400)]
Reduce excessive loop count in interlocked tests (dotnet/coreclr#12222)

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

7 years agoUse proper ifdef for EmitProfilerComCallXXX methods (dotnet/coreclr#12502)
Jonghyun Park [Wed, 28 Jun 2017 18:44:18 +0000 (03:44 +0900)]
Use proper ifdef for EmitProfilerComCallXXX methods (dotnet/coreclr#12502)

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

7 years agoFix debug assert (dotnet/coreclr#12496)
Jeremy Kuhne [Wed, 28 Jun 2017 18:43:54 +0000 (11:43 -0700)]
Fix debug assert (dotnet/coreclr#12496)

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

7 years agoFix build error when FEATURE_READYTORUN_COMPILER is disabled (dotnet/coreclr#12505)
Jonghyun Park [Wed, 28 Jun 2017 18:40:22 +0000 (03:40 +0900)]
Fix build error when FEATURE_READYTORUN_COMPILER is disabled (dotnet/coreclr#12505)

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

7 years agoAdd a flag to build.{sh,cmd} to disable PGO.
Pat Gavlin [Wed, 28 Jun 2017 17:37:51 +0000 (10:37 -0700)]
Add a flag to build.{sh,cmd} to disable PGO.

This is helpful when performing JIT throughput measurements.

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

7 years ago[RyuJIT/ARM32] Enable passing large split struct argument (dotnet/coreclr#12050)
Hyeongseok Oh [Wed, 28 Jun 2017 18:01:18 +0000 (03:01 +0900)]
[RyuJIT/ARM32] Enable passing large split struct argument (dotnet/coreclr#12050)

* [RyuJIT/ARM32] Enable passing large split struct

This enables passing split struct larger than 16 bytes.
To support splitted struct, it defines new GenTree type - GenTreePutArgSplit.
GenTreePutArgSplit is similar with GenTreePutArgStk,
but it is used for splitted struct only
and it has additional field to save register information.
GenTreePutArgSplit node is generated in lower phase.

* Apply reviews: split struct argument passing

- Fix some comments:
genPutArgSplit, GenTreePutArgStk, GenTreePutArgSplit, NuwPutArg, ArgComplete
- Add assertion check in genPutArgSplit, genCallInstruction
- Rename variable: baseReg
- Change flag for GenTreePutArgSplit: _TARGET_ARM && !LEGACY_BACKEND
- Change type of gtOtherRegs in GenTreePutArgSplit
- Remove duplicated code: NewPutArg
- Implement spill & restore flag for GenTreePutArgSplit

* Apply reviews

- Rebase
- Update managing spillFlag for split struct
- Implement spill & restore code generation
- Fix typos and rename variables
- Fix bug related to print gentree for split struct

* Fix bug and comments

- Fix bug in regset.cpp
- Add comments in morph.cpp's NYI_ARM
- Fix comments' typo in lsraarmarcp.cpp

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

7 years agoEnable SourceBranch to be passed from the pipeline parameters
JC Aguilera [Wed, 28 Jun 2017 17:15:58 +0000 (10:15 -0700)]
Enable SourceBranch to be passed from the pipeline parameters

sets SkipBranchAndVersionOverrides=false so SourceBranch and SourceVersion
are correctly passed through the pipeline file.

set SkipBranchAndVersionOverrides=true for the publish definitions as
they don't build from the SourceBranch and instead use a different
tools branch to do their work.

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

7 years agoConvert lvaMarkLclRefs to a visitor.
Pat Gavlin [Tue, 27 Jun 2017 22:28:26 +0000 (15:28 -0700)]
Convert lvaMarkLclRefs to a visitor.

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

7 years agoConvert lva{Inc,Dec}RefCntsCB to a visitor.
Pat Gavlin [Tue, 27 Jun 2017 18:34:33 +0000 (11:34 -0700)]
Convert lva{Inc,Dec}RefCntsCB to a visitor.

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

7 years agoConvert rationalize to the generic visitor.
Pat Gavlin [Tue, 27 Jun 2017 06:35:10 +0000 (23:35 -0700)]
Convert rationalize to the generic visitor.

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

7 years agoConvert fgWalkTree{Pre,Post,} to use the new visitor.
Pat Gavlin [Tue, 27 Jun 2017 06:18:32 +0000 (23:18 -0700)]
Convert fgWalkTree{Pre,Post,} to use the new visitor.

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

7 years agoAdd a generic tree visitor.
Pat Gavlin [Tue, 27 Jun 2017 06:17:30 +0000 (23:17 -0700)]
Add a generic tree visitor.

This visitor replaces the function-pointer-based walkers with a more
modern design centered around the curiously-recurring-template pattern.

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

7 years agoCleanup some instances of project.json from the repo (dotnet/coreclr#12484)
Adeel Mujahid [Wed, 28 Jun 2017 15:02:16 +0000 (18:02 +0300)]
Cleanup some instances of project.json from the repo (dotnet/coreclr#12484)

* Replace ScriptGenerator project.json with csproj

* Update project.json occurrences in docs
Fix few typos.

* Remove project.json comments

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

7 years agoFix remove in list (dotnet/coreclr#12497)
Kyungwoo Lee [Wed, 28 Jun 2017 15:00:27 +0000 (08:00 -0700)]
Fix remove in list (dotnet/coreclr#12497)

`remove` uses `erase` to delete the entry in list.
Since `erase` returns the next iterator, the iterator shouldn't be increased
when the entry is found and deleted.

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

7 years agoRemove disabled tests for Marshal.IsComObject(null) (dotnet/coreclr#12359)
Hugh Bellamy [Wed, 28 Jun 2017 14:59:15 +0000 (21:59 +0700)]
Remove disabled tests for Marshal.IsComObject(null) (dotnet/coreclr#12359)

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

7 years agoPartially remove relocations from Class section of NGEN-ed images (dotnet/coreclr...
Ruben Ayrapetyan [Wed, 28 Jun 2017 06:16:01 +0000 (09:16 +0300)]
Partially remove relocations from Class section of NGEN-ed images (dotnet/coreclr#11962)

* Remove relocations for ParamTypeDesc::m_TemplateMT.

* Remove relocations for LayoutEEClass::m_LayoutInfo.m_pFieldMarshalers.

* Prepare RelativeFixupPointer.

* Remove relocations for FieldMarshaler::m_pFD and FieldMarshaler_*::m_*.

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

7 years agoRemove unused declaration (dotnet/coreclr#12501)
Jonghyun Park [Wed, 28 Jun 2017 06:12:51 +0000 (15:12 +0900)]
Remove unused declaration (dotnet/coreclr#12501)

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

7 years agospmi add R2R field to getFieldInfo (dotnet/coreclr#12498)
Sergey Andreenko [Wed, 28 Jun 2017 00:06:59 +0000 (17:06 -0700)]
spmi add R2R field to getFieldInfo (dotnet/coreclr#12498)

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

7 years agoFix JIT_NewArr1 8-byte alignment for ELEMENT_TYPE_R8 on x86.
Ruben Ayrapetyan [Tue, 27 Jun 2017 16:22:07 +0000 (19:22 +0300)]
Fix JIT_NewArr1 8-byte alignment for ELEMENT_TYPE_R8 on x86.

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

7 years agoFix rough edges after CLI update (dotnet/corertdotnet/coreclr#3983)
Jan Kotas [Tue, 27 Jun 2017 00:10:12 +0000 (17:10 -0700)]
Fix rough edges after CLI update (dotnet/corertdotnet/coreclr#3983)

* Move build-restore.cmd back to build-managed

buildpipeline needs to be updated to make this split

* Cleanup dir.props/dir.targets

* Add back VS clues

* Reformat whitespaces to match VS convention

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

7 years agoFix bad range check in TextInfo.IndexOfStringOrdinalIgnoreCase (dotnet/coreclr#12478)
Atsushi Kanamori [Tue, 27 Jun 2017 18:51:28 +0000 (11:51 -0700)]
Fix bad range check in TextInfo.IndexOfStringOrdinalIgnoreCase (dotnet/coreclr#12478)

Breaks:

   int idx = "\uabcd".IndexOf("", 1, StringComparison.OrdinalIgnoreCase);

should return 1, returns -1 instead.

(propagated fix from CoreRT)

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

7 years agoImplement JIT_NewArr1_R2R as R2R wrapper for JIT_NewArr1 to support both MethodTable...
Ruben Ayrapetyan [Tue, 27 Jun 2017 18:31:03 +0000 (21:31 +0300)]
Implement JIT_NewArr1_R2R as R2R wrapper for JIT_NewArr1 to support both MethodTable-based and TypeDesc-based helpers. (dotnet/coreclr#12475)

Related issue: dotnet/coreclr#12463

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

7 years agoMerge pull request dotnet/coreclr#12473 from hqueue/arm/ryujit/lsra_use_helper
Carol Eidt [Tue, 27 Jun 2017 14:36:56 +0000 (07:36 -0700)]
Merge pull request dotnet/coreclr#12473 from hqueue/arm/ryujit/lsra_use_helper

[RyuJIT/ARM32][WIP] Update LSRA with helpers

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

7 years ago[Linux][GDB-JIT] Fix memory leak (dotnet/coreclr#12452)
Konstantin Baladurin [Tue, 27 Jun 2017 14:19:31 +0000 (17:19 +0300)]
[Linux][GDB-JIT] Fix memory leak (dotnet/coreclr#12452)

Use NewArrayHolder for pVars in LocalsInfo class

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

7 years ago[RyuJIT/ARM32] Update LSRA with new helper
Hyung-Kyu Choi [Tue, 27 Jun 2017 11:24:34 +0000 (20:24 +0900)]
[RyuJIT/ARM32] Update LSRA with new helper

- Introduce updatePreviousInterval()
- Update LSRA with helper

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

7 years agosupport spmi collection for r2r calls. (dotnet/coreclr#12343)
Sergey Andreenko [Tue, 27 Jun 2017 06:00:59 +0000 (23:00 -0700)]
support spmi collection for r2r calls. (dotnet/coreclr#12343)

* CreateAgnostic_CORINFO_SIG_INFO

Also you pSig_Index always when it is index in the buffer map,
as we do for sigInst_classInst_Index for example.

* spmi Restore_CORINFO_RESOLVED_TOKENout

delete another duplicate.

* SpmiDumpHelper

* spmi cleaning: GetFunctionEntryPoint and GetAddressOfPInvokeTarget

* support GetReadyToRunHelper and GetReadyToRunDelegateCtorHelper in spmi.

* Fix typo that annoys desktop build.

* spmi GetReadyToRunDelegateCtorHelper

* spmi: use agnostic type for GetReadyToRunDelegateCtorHelper value.

* spmi dump Agnostic_CORINFO_LOOKUP

add stubLookup to dmpGetCallInfo

* clean dmpGetMethodSig and dmpGetTailCallCopyArgsThunk

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

7 years ago[RyuJIT/ARM32] Use helper for LSRA
Hyung-Kyu Choi [Tue, 27 Jun 2017 05:48:33 +0000 (14:48 +0900)]
[RyuJIT/ARM32] Use helper for LSRA

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

7 years agoMerge pull request dotnet/coreclr#12460 from pgavlin/SinglePassRationalize
Pat Gavlin [Tue, 27 Jun 2017 05:34:53 +0000 (22:34 -0700)]
Merge pull request dotnet/coreclr#12460 from pgavlin/SinglePassRationalize

Rephrase rationalize as a single IR walk.

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

7 years agoFormat code.
Pat Gavlin [Tue, 27 Jun 2017 03:32:53 +0000 (20:32 -0700)]
Format code.

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

7 years agoMerge pull request dotnet/coreclr#12423 from CarolEidt/ContainDoNotEnreg
Carol Eidt [Tue, 27 Jun 2017 00:25:55 +0000 (17:25 -0700)]
Merge pull request dotnet/coreclr#12423 from CarolEidt/ContainDoNotEnreg

Mark lvDoNotEnregister lclVars as contained

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

7 years agoMerge pull request dotnet/coreclr#12457 from pgavlin/RewriteIntrinsicsRefactor
Pat Gavlin [Mon, 26 Jun 2017 23:16:27 +0000 (16:16 -0700)]
Merge pull request dotnet/coreclr#12457 from pgavlin/RewriteIntrinsicsRefactor

Refactor the rationalizer's instrinsic rewriter.

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

7 years agoRephrase rationalize as a single IR walk.
Pat Gavlin [Mon, 26 Jun 2017 21:56:09 +0000 (14:56 -0700)]
Rephrase rationalize as a single IR walk.

This walk performs both pre- and post-order visits. The pre-order visit
is responsible for rewriting intrinsics as user calls where necessary;
the post-order visit is resonsible for converting HIR nodes into LIR
nodes.

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

7 years agoUse LIR utilities in the intrinsic rewriter.
Pat Gavlin [Mon, 26 Jun 2017 21:40:15 +0000 (14:40 -0700)]
Use LIR utilities in the intrinsic rewriter.

This simplifies the code a bit and prepares it for some changes to
perform single-pass rationalization.

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

7 years agoMerge pull request dotnet/coreclr#12440 from pgavlin/MaintainIsUnusedValue
Pat Gavlin [Mon, 26 Jun 2017 22:31:06 +0000 (15:31 -0700)]
Merge pull request dotnet/coreclr#12440 from pgavlin/MaintainIsUnusedValue

Maintain `LIR::IsUnusedValue` in the backend.

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

7 years agoUpdate a header comment.
Pat Gavlin [Mon, 26 Jun 2017 22:30:15 +0000 (15:30 -0700)]
Update a header comment.

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

7 years agoFormat code and address PR feedback.
Pat Gavlin [Mon, 26 Jun 2017 21:43:27 +0000 (14:43 -0700)]
Format code and address PR feedback.

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

7 years agoReplace array type handle with method table in arguments of array allocation helpers...
Ruben Ayrapetyan [Mon, 26 Jun 2017 21:18:19 +0000 (00:18 +0300)]
Replace array type handle with method table in arguments of array allocation helpers (dotnet/coreclr#12369)

* Remove direct usage of type handle in JIT_NewArr1, with except of retrieving template method table.

* Assert that array type descriptor is loaded when array object's method table is set.

* Pass template method tables instead of array type descriptors to array allocation helpers.

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

7 years agoRefactor the rationalizer's instrinsic rewriter.
Pat Gavlin [Mon, 26 Jun 2017 19:58:42 +0000 (12:58 -0700)]
Refactor the rationalizer's instrinsic rewriter.

Change its two constituent static methods into instance methods.

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

7 years agoMerge pull request dotnet/coreclr#12441 from pgavlin/TryGetUseInline
Pat Gavlin [Mon, 26 Jun 2017 15:52:31 +0000 (08:52 -0700)]
Merge pull request dotnet/coreclr#12441 from pgavlin/TryGetUseInline

Avoid the use edge iterator in `TryGetUse`.

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

7 years agoMerge pull request dotnet/corertdotnet/coreclr#3969 from dotnet/nmirror
Jan Kotas [Fri, 23 Jun 2017 01:43:00 +0000 (18:43 -0700)]
Merge pull request dotnet/corertdotnet/coreclr#3969 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/2c7a7011d940f906dceabb80fe82a81f80cdc656

7 years agoFormat code.
Pat Gavlin [Sat, 24 Jun 2017 21:09:29 +0000 (14:09 -0700)]
Format code.

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

7 years agoReturn early in `TryGetUse` for unused nodes.
Pat Gavlin [Wed, 21 Jun 2017 17:24:27 +0000 (10:24 -0700)]
Return early in `TryGetUse` for unused nodes.

Now that `IsUnusedValue` is maintained during the first half of the
backend, `TryGetUse` can terminate early if it is set.

Note that this may return false negatives if the `IsUnusedValue` flag is
incorrectly set, but remains correct if said flag is incorrectly
cleared.

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

7 years agoRemove an IR walk during lowering.
Pat Gavlin [Sat, 24 Jun 2017 00:41:06 +0000 (17:41 -0700)]
Remove an IR walk during lowering.

Now that the `IsUnusedValue` flag is maintained by decomposition and
lowering, it does not need to be recalculated before LSRA.

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

7 years agoMaintain `LIR::IsUnusedValue` in the backend.
Pat Gavlin [Wed, 21 Jun 2017 01:22:45 +0000 (18:22 -0700)]
Maintain `LIR::IsUnusedValue` in the backend.

This flag indicates whether or not the SDSU temp produced by a node is
ever read. This information is needed by the register allocator, but is
also useful in other parts of the compiler (for example, `TryGetUse` can
return immediately if this flag is set). Setting this flag properly in
rationalize and maintaining it through decomposition and lowering allows
us to remove an IR walk immediately prior to LSRA.

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

7 years agoMerge pull request dotnet/coreclr#12439 from pgavlin/SkipDecomp
Pat Gavlin [Sat, 24 Jun 2017 21:06:48 +0000 (14:06 -0700)]
Merge pull request dotnet/coreclr#12439 from pgavlin/SkipDecomp

Update compLongUsed in rationalize.

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

7 years ago[CoreRT armel] fix for PINVOKE calls in CoreRT (dotnet/coreclr#12373)
sergey ignatov [Sat, 24 Jun 2017 15:57:59 +0000 (18:57 +0300)]
[CoreRT armel] fix for PINVOKE calls in CoreRT (dotnet/coreclr#12373)

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

7 years agoAvoid the use edge iterator in `TryGetUse`.
Pat Gavlin [Fri, 23 Jun 2017 22:31:47 +0000 (15:31 -0700)]
Avoid the use edge iterator in `TryGetUse`.

`TryGetUse` does not require the ordering semantics provided by the use
edge iterator. Replace use edge iteration with manual inspection of each
node type.

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

7 years agoUpdate compLongUsed in rationalize.
Pat Gavlin [Fri, 23 Jun 2017 16:26:42 +0000 (09:26 -0700)]
Update compLongUsed in rationalize.

This allows us to skip decompisition if long-typed values are not used by a method.

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

7 years agoMark lvDoNotEnregister lclVars as contained
Carol Eidt [Fri, 23 Jun 2017 21:54:27 +0000 (14:54 -0700)]
Mark lvDoNotEnregister lclVars as contained

Even if a lclVar is tracked, it may not be a register candidate. When determining whether a lclVar should be contained or RegOptional, take that into account.
In the interest of making this as accurate as possible, mark lclVars early as lvDoNotEnregister when they meet criteria that will later disqualify them from a register.

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

7 years agoUpdate Windows parameter name for Normalize/IsNormalized with invalid form (dotnet...
Hugh Bellamy [Fri, 23 Jun 2017 22:23:50 +0000 (05:23 +0700)]
Update Windows parameter name for Normalize/IsNormalized with invalid form (dotnet/coreclr#12430)

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

7 years ago# This is a combination of 2 commits.
Carol Eidt [Thu, 22 Jun 2017 18:43:57 +0000 (11:43 -0700)]
# This is a combination of 2 commits.
# The first commit's message is:

Mark lvDoNotEnregister lclVars as contained

Even if a lclVar is tracked, it may not be a register candidate. When determining whether a lclVar should be contained or RegOptional, take that into account.
In the interest of making this as accurate as possible, mark lclVars early as lvDoNotEnregister when they meet criteria that will later disqualify them from a register.

# This is the commit message dotnet/coreclr#2:

Formatting

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

7 years agoAdd ELF program and section headers to core dump. (dotnet/coreclr#12425)
Mike McLaughlin [Fri, 23 Jun 2017 22:02:36 +0000 (15:02 -0700)]
Add ELF program and section headers to core dump. (dotnet/coreclr#12425)

Add ELF program and section headers to core dump.

Issue dotnet/coreclr#12341

This allows the build id for the modules be extracted properly.

Add .eh_frame, .eh_frame_hdr and some other important sections to core dump.

Add managed module names to core dump so the symbol acquisition
tool can get symbol store keys for them.

Add the non memory/file backed memory regions to core dump so debuggers
like lldb can check if an address is "code" or not. Unwinding doesn't
work when there isn't a module/.so file present.

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

7 years ago[Local GC] Remove a number of inclusions of handle table private headers from the...
Sean Gillespie [Fri, 23 Jun 2017 21:48:41 +0000 (14:48 -0700)]
[Local GC] Remove a number of inclusions of handle table private headers from the VM (dotnet/coreclr#12389)

* Remove inclusions of private handle table headers from the VM

* Add TraceRefCountedHandles to the GC handle table interface

* Fix the Unix build

* Move ValidatePinnedObject to marshalnative.h

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

7 years agoFix JitMinOptsTrackGCrefs for legacy x86 back-end (dotnet/coreclr#12416)
Bruce Forstall [Fri, 23 Jun 2017 21:26:56 +0000 (14:26 -0700)]
Fix JitMinOptsTrackGCrefs for legacy x86 back-end (dotnet/coreclr#12416)

Addresses dotnet/coreclr#12415

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

7 years agoMerge pull request dotnet/coreclr#12424 from wtgodbe/ArmRunsPipeline
William Godbe [Fri, 23 Jun 2017 19:20:56 +0000 (12:20 -0700)]
Merge pull request dotnet/coreclr#12424 from wtgodbe/ArmRunsPipeline

Enable ARM test runs in Helix

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

7 years agoFix systemMask on Linux (dotnet/coreclr#12387)
Xiangyang (Mark) Guo [Fri, 23 Jun 2017 00:39:41 +0000 (17:39 -0700)]
Fix systemMask on Linux (dotnet/coreclr#12387)

* fix systemMask

* code refactor

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

7 years agoSpmi third cleaning (dotnet/coreclr#12418)
Sergey Andreenko [Thu, 22 Jun 2017 23:41:21 +0000 (16:41 -0700)]
Spmi third cleaning (dotnet/coreclr#12418)

* CreateAgnostic_CORINFO_SIG_INFO
Also you pSig_Index always when it is index in the buffer map,
as we do for sigInst_classInst_Index for example.
* spmi Restore_CORINFO_RESOLVED_TOKENout
delete another duplicate.

* SpmiDumpHelper

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

7 years agoMerge pull request dotnet/coreclr#12409 from dotnet-bot/from-tfs
Bruce Forstall [Thu, 22 Jun 2017 23:06:24 +0000 (16:06 -0700)]
Merge pull request dotnet/coreclr#12409 from dotnet-bot/from-tfs

Merge changes from TFS

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

7 years agoMerge pull request dotnet/coreclr#12417 from sjsinju/fix_3bytes_struct
Bruce Forstall [Thu, 22 Jun 2017 21:24:23 +0000 (14:24 -0700)]
Merge pull request dotnet/coreclr#12417 from sjsinju/fix_3bytes_struct

[RyuJIT/ARM32] Change the 3bytes struct to int on morph phase.

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

7 years agoEnable ARM test runs in Helix
wtgodbe [Thu, 22 Jun 2017 18:59:49 +0000 (11:59 -0700)]
Enable ARM test runs in Helix

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

7 years agoMerge pull request dotnet/coreclr#12413 from wtgodbe/ArmRuns
William Godbe [Thu, 22 Jun 2017 18:55:26 +0000 (11:55 -0700)]
Merge pull request dotnet/coreclr#12413 from wtgodbe/ArmRuns

First step for enabling ARM test runs

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

7 years agoMerge pull request dotnet/coreclr#12422 from CarolEidt/lvaSetClassDiffable
Carol Eidt [Thu, 22 Jun 2017 18:35:34 +0000 (11:35 -0700)]
Merge pull request dotnet/coreclr#12422 from CarolEidt/lvaSetClassDiffable

Make lvaSetClass dump diffable

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

7 years agoMake lvaSetClass dump diffable
Carol Eidt [Thu, 22 Jun 2017 17:35:36 +0000 (10:35 -0700)]
Make lvaSetClass dump diffable

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

7 years agoUpdate attribute-value in security build definition. (dotnet/coreclr#12419)
Ravi Eda [Thu, 22 Jun 2017 17:19:59 +0000 (12:19 -0500)]
Update attribute-value in security build definition. (dotnet/coreclr#12419)

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

7 years ago[RyuJIT/ARM32] Change the 3bytes struct to int on morph phase.
sjsujinkim [Thu, 22 Jun 2017 01:52:59 +0000 (10:52 +0900)]
[RyuJIT/ARM32] Change the 3bytes struct to int on morph phase.

It is necessary that the 3bytes struct which is a local var to int on morph phase.

Related Issue : dotnet/coreclr#12290 (Assertion failed 'emitTypeSizes[TypeGet(type)] > 0')

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