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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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