platform/upstream/coreclr.git
6 years agowhitespace fixes
Brian Sullivan [Thu, 13 Sep 2018 22:37:03 +0000 (15:37 -0700)]
whitespace fixes

6 years agoValue Number Enhancements:
Brian Sullivan [Wed, 5 Sep 2018 22:58:10 +0000 (15:58 -0700)]
Value Number Enhancements:

Revise the exeception gernerating value number functions:
VNF_OverflowEXc, VNF_CastOvf, VNF_ARithmeticExc, VNF_DivideByZeroExc and ConvertOverflowExc
added support methods for VNNormalValue
Extended GetVNGuncForOper to support overflow operations and additional unsigned operations:
And added value number functions for
- unsigned comparisons, unsigned add, sub and mul
- overflow add, sub, mul
New method: VMCheckAscending to validate that exception sets maintain the ascending ordfer property.
New method: VMExcSetIntersection and VMExcIsSubset
Changed the constant folding logic in VNForFunc to avoid folding when the operation will unconditionally throw when folded.
Explicitly specialize some EvalOp<> calls
Added several new method headers comments in ValueNum.cpp
Clear the unsigned flag when bashing nodes into GT_COMMA or GT_NOP nodes
Removed GT_NOP and GT_COMMA cases from GetVNFuncForOper
Added enum VNOperKind
Added support for the unsigned multiply VNFunc used on 32-bit target

6 years agoMerge pull request #19881 from vitek-karas/EventSouceCommentTypos
Vance Morrison [Mon, 10 Sep 2018 17:08:15 +0000 (10:08 -0700)]
Merge pull request #19881 from vitek-karas/EventSouceCommentTypos

Fix multiple typos in the EventSource.cs design comment.

6 years agoMerge pull request #19844 from CarolEidt/Enable19397Arm64
Carol Eidt [Mon, 10 Sep 2018 16:57:21 +0000 (09:57 -0700)]
Merge pull request #19844 from CarolEidt/Enable19397Arm64

Re-enable GitHub_19397 test

6 years agoFix multiple typos in the EventSource.cs design comment.
vitek-karas [Mon, 10 Sep 2018 12:23:07 +0000 (05:23 -0700)]
Fix multiple typos in the EventSource.cs design comment.

6 years agoMerge pull request #19870 from nattress/debuginfo
Simon Nattress [Sat, 8 Sep 2018 21:38:42 +0000 (14:38 -0700)]
Merge pull request #19870 from nattress/debuginfo

Add DebugInfo dumping support to r2rdump

6 years agoUpdate BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03207-02, preview1...
dotnet-maestro-bot [Fri, 7 Sep 2018 20:25:20 +0000 (13:25 -0700)]
Update BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03207-02, preview1-26907-04, preview1-26907-04, preview1-26907-05, master-20180907-0057, respectively

6 years agoAdd DebugInfo dumping support to r2rdump
Simon Nattress [Fri, 7 Sep 2018 20:41:30 +0000 (13:41 -0700)]
Add DebugInfo dumping support to r2rdump

Display formatted debug info for each runtime function

6 years agoFix AVX2 Gather Intrinsic failture with JITStress
Fei Peng [Fri, 7 Sep 2018 21:45:37 +0000 (14:45 -0700)]
Fix AVX2 Gather Intrinsic failture with JITStress

6 years agodelete superpmi-shared/compileresult.cpp assert on x86. (#19841)
Sergey Andreenko [Fri, 7 Sep 2018 23:59:10 +0000 (16:59 -0700)]
delete superpmi-shared/compileresult.cpp  assert on x86. (#19841)

* fix emitOutputAM for x86.

* Revert "fix emitOutputAM for x86."

This reverts commit fe5ade83e7c8e1ac1cb4442defdfee1d3a3be3f0.

* delete an assert

* add an assert about slotNum

6 years agoMemoryExtensions.Contains (#19863)
Grant [Fri, 7 Sep 2018 22:25:42 +0000 (15:25 -0700)]
MemoryExtensions.Contains (#19863)

6 years agoFixes towards making the runtime compiled without FEATURE_PREJIT defined (#19864)
Jan Kotas [Fri, 7 Sep 2018 22:22:40 +0000 (15:22 -0700)]
Fixes towards making the runtime compiled without FEATURE_PREJIT defined (#19864)

6 years agoMerge pull request #19866 from dotnetrt/fix-generatetests-script
Carol Eidt [Fri, 7 Sep 2018 22:11:58 +0000 (15:11 -0700)]
Merge pull request #19866 from dotnetrt/fix-generatetests-script

Remove all Sse2 Pack* and Unpack* tests from GneerateTests.csx script

6 years agoImport signature parsing and general improvements in R2RDump (#19813)
Tomáš Rylek [Fri, 7 Sep 2018 20:56:05 +0000 (22:56 +0200)]
Import signature parsing and general improvements in R2RDump (#19813)

* Import signature parsing and general improvements in R2RDump

GcInfo - fixed a bug where the machine architecture was stored in
the instance field later than it was used in the calculation of
SlotTable which subsequently ended up with the wrong register set
(ARM64 instead of AMD64).

GcTransition - changed register set selector to a switch as the
previous implementation was incorrect for AMD64.

UnwindInfo - bug fix: the 4-alignment padding should come before
the personality routine, not after it. I have also slightly
simplified the calculation of the padding size.

CoreDisTools - added support for annotating indirect calls with
symbol information for the import cells; fixed formatting of
short relative jumps and added some code comments.

DisassemblingTypeProvider - bumped up some visibilities and made
a few generalizations letting me use this helper in the general
signature parser.

R2RImportSection - replaced binary signature samples with the
actual parsed representation.

R2RReader - I removed special-casing for eager import signatures
that seems wrong - I don't see any equivalent code in the
CoreCLR runtime. Please let me know if anyone is aware of a reason
why this was put here in the first place.

TextDumper and elsewhere - I have removed all tabs from the
R2RDump tool output.

R2RConstants - I have merged the various CoreCLR and R2R constants
in this file - previously they were interspersed in multiple
classes - and I added a bunch of new stuff needed by the signature
parser.

R2RSignature - comprises the newly added R2R signature parser.

Thanks

Tomas

* Slight modification in signature formatting to make it easier to read

I have swapped the ordering of the signature content with the
signature name - based on analyzing actual disassembly produced
by the code I came to the conclusion that the parsed signature
is generally more important than the cell fixup type which is
often obvious just based on the code context.

Thanks

Tomas

* Add dump of unwind info and RVA translation for near jumps / calls

* Add code comment on GetInstruction return value per PR feedback

6 years agoMerge pull request #19857 from CarolEidt/Fix19674
Carol Eidt [Fri, 7 Sep 2018 20:49:17 +0000 (13:49 -0700)]
Merge pull request #19857 from CarolEidt/Fix19674

Morph ByRef args of SIMD field assign

6 years agoAdd Basic Out-of-Process EventPipe Control and Heap Snapshot Capture (#19720)
Brian Robbins [Fri, 7 Sep 2018 20:48:21 +0000 (13:48 -0700)]
Add Basic Out-of-Process EventPipe Control and Heap Snapshot Capture (#19720)

6 years agoFix the slashes when setting the ZapBBInstrDir (#19858)
Michelle McDaniel [Fri, 7 Sep 2018 20:08:25 +0000 (13:08 -0700)]
Fix the slashes when setting the ZapBBInstrDir (#19858)

In OpenMethodProfileDataLogFile, we try to set the directory and path for the .ibc files using windows slashes (\). This causes this code to fail on Linux, which uses forward slashes. This is particularly a problem when setting COMPlus_ZapBBInstrDir, which takes that environment variable and attempts to find the name of the file using wcsrchr(assemblyPath, '\'). This causes a crash on linux when collecting IBC counts. The fix is to ifdef it for linux to use the correct path separator.

This change also includes a fix to change the code for checking if IbcTuning is set to use == instead of -eq which was causing a failure in the build that was ignored.

6 years agoRemove all Sse2 Pack* and Unpack* tests from GneerateTests.csx script
Jacek Blaszczynski [Fri, 7 Sep 2018 17:57:16 +0000 (19:57 +0200)]
Remove all Sse2 Pack* and Unpack* tests from GneerateTests.csx script

Due te earlier error data for initiating generation of Sse2 Pack*
and Unpack* HW intrinsics tests were left in the file. Code generated
from this script will not compile as several required changes are missing.
Removal of this tests data restores full functionality of script.

6 years agoFix for bug 12398: Lowering is inconsistent in checking safety of RegOptional. (...
Eugene Rozenfeld [Fri, 7 Sep 2018 17:48:06 +0000 (10:48 -0700)]
Fix for bug 12398: Lowering is inconsistent in checking safety of RegOptional. (#19740)

This fixes an inconsistency in lowering where it fails to make an
operand contained because IsSafeToContainMem() returns false yet
it marks it regOptional, which may cause a problem if the operand
will be loaded at the point of use.

I also fixed a case where an operand was marked RegOptional even though
there is a type size mismatch.

There are 7 places that are affected, I added repro cases for 4 of them.
I wasn't able to construct repros for the 3 places that deal with
floating point operands but decided to fix those places anyway.

Fixes #12398.

6 years agoMerge pull request #19748 from briansull/evalop-specialized
Brian Sullivan [Fri, 7 Sep 2018 17:40:48 +0000 (10:40 -0700)]
Merge pull request #19748 from briansull/evalop-specialized

Rework the EvalOp generic-template methods

6 years agoMerge pull request #19823 from echesakovMSFT/CrossBitnessValueNumbering
Egor Chesakov [Fri, 7 Sep 2018 16:16:21 +0000 (09:16 -0700)]
Merge pull request #19823 from echesakovMSFT/CrossBitnessValueNumbering

6 years agoMerge pull request #19830 from echesakovMSFT/CrossGenAllocateMethodDescChunkPerMethodDesc
Egor Chesakov [Fri, 7 Sep 2018 16:15:13 +0000 (09:15 -0700)]
Merge pull request #19830 from echesakovMSFT/CrossGenAllocateMethodDescChunkPerMethodDesc

During CrossGen allocate MethodDescChunk per MethodDesc

6 years agoMerge pull request #19855 from dotnetrt/fix-arm-tstlst
Carol Eidt [Fri, 7 Sep 2018 14:49:25 +0000 (07:49 -0700)]
Merge pull request #19855 from dotnetrt/fix-arm-tstlst

Remove deleted Sse2 tests from Test.lst files for arm and arm64 Windows targets

6 years agoFix ICU load on OpenSUSE Tumbleweed (#19812)
Jan Vorlicek [Fri, 7 Sep 2018 08:44:47 +0000 (10:44 +0200)]
Fix ICU load on OpenSUSE Tumbleweed (#19812)

For some reason, OpenSUSE Tumbleweed has decided to prefix the
version number in the SO name of the ICU libraries by "suse".
That prevents our ICU version detection code from working.

This change adds scanning for SO names that contain that prefix too.

6 years agoEnable IJW Native calling managed (#19750)
Morgan Brown [Fri, 7 Sep 2018 02:37:30 +0000 (19:37 -0700)]
Enable IJW Native calling managed (#19750)

* Adds back code required to make IJW native->managed calls (if the runtime is already started) and includes a simple test.

6 years agoMorph ByRef args of SIMD field assign
Carol Eidt [Thu, 6 Sep 2018 21:26:58 +0000 (14:26 -0700)]
Morph ByRef args of SIMD field assign

Fix #19674

6 years agoMerge pull request #19296 from mikedn/cast-cg
Carol Eidt [Fri, 7 Sep 2018 00:39:16 +0000 (17:39 -0700)]
Merge pull request #19296 from mikedn/cast-cg

Refactor integer cast codegen

6 years agoAdd logging to file when CrossGen System.Private.CoreLib.dll on Unix (#19848)
Egor Chesakov [Fri, 7 Sep 2018 00:11:44 +0000 (17:11 -0700)]
Add logging to file when CrossGen System.Private.CoreLib.dll on Unix (#19848)

6 years agoDisabling the failing CoreFX tests related to ToString for negative zero
Tanner Gooding [Thu, 6 Sep 2018 18:28:45 +0000 (11:28 -0700)]
Disabling the failing CoreFX tests related to ToString for negative zero

6 years agoRemoving i386/fptext.asm in favor of using the shared implementation in number.cpp
Tanner Gooding [Thu, 6 Sep 2018 04:24:59 +0000 (21:24 -0700)]
Removing i386/fptext.asm in favor of using the shared implementation in number.cpp

6 years agoUpdating Number.Formatting to properly print -0
Tanner Gooding [Thu, 30 Aug 2018 17:09:59 +0000 (10:09 -0700)]
Updating Number.Formatting to properly print -0

6 years agoClean CodeGen::genEmitCall (#19804)
Sergey Andreenko [Thu, 6 Sep 2018 23:03:09 +0000 (16:03 -0700)]
Clean CodeGen::genEmitCall (#19804)

* delete isProfLeaveCB from arm signature

The previous implementation was done many years ago and I do not why it was done that way.

* extract GetSavedSet

* add isNoGCHelper

* delete isNoGC arg

* move declarations closer to their uses

* delete isGc from genEmitCall

* delete unused method declaration.

* add emitNoGChelper that accepts CORINFO_METHOD_HANDLE

* fix missed switch cases

* add function headers

* Fix feedback

* Fix feedback2

6 years agoAdd native vararg test (#17707)
Jarret Shook [Thu, 6 Sep 2018 22:55:52 +0000 (15:55 -0700)]
Add native vararg test (#17707)

* Add native vararg testing

This is a desktop test. It will be excluded for coreclr; however, decided it is worth adding
to the test tree in case we ever need the coverage.

* Fix several errors, and address feedback

* Split long lines

* Update vararg test

* Fix excludes

* Refernce private_corelib

* Correctly build vararg test

* Fix incorrect addition

* Fix build break unix

* Fix native build on unix

* Fix entry point

* Correctly pass doubles instead of floats

* Correct vararg test, pass double to pinvoke methods

* Remove printf tests

* Fix cmake for varargnative.c

* Fix cdel calling convention

* Correctly pass success back to the main method

* Explicitely undef cdecl

* Fix some excludes and exclude the new test on x86

* Add unix exclude

* Disable echo_short and correct header

6 years agoRemove deleted Sse2 tests from Test.lst files for arm and arm64 Windows targets
Jacek Blaszczynski [Thu, 6 Sep 2018 20:49:27 +0000 (22:49 +0200)]
Remove deleted Sse2 tests from Test.lst files for arm and arm64 Windows targets

Fixes #19853

6 years agoRemove unused GenTree flags (#19840)
mikedn [Thu, 6 Sep 2018 20:28:15 +0000 (23:28 +0300)]
Remove unused GenTree flags (#19840)

GTF_IND_ARR_LEN was set by the importer in minopts/debug mode and used only by value numbering, which does not run in minopts/debug mode.

GTF_FLD_NULLCHECK was also set by the importer and not used anywhere. fgMorphField has its own opinion about when an explicit null check is needed.

6 years agoadd a regression test for Linux GC segfault. (#19820)
Sergey Andreenko [Thu, 6 Sep 2018 20:25:52 +0000 (13:25 -0700)]
add a regression test for Linux GC segfault. (#19820)

* add test

* move the test to pri1 and reduce number of iterations

6 years agoMake cast classification arch independent
Mike Danes [Tue, 7 Aug 2018 19:16:51 +0000 (22:16 +0300)]
Make cast classification arch independent

6 years agoGet rid of Lowering::getCastDescription
Mike Danes [Sun, 5 Aug 2018 16:53:50 +0000 (19:53 +0300)]
Get rid of Lowering::getCastDescription

6 years agoCleanup LinearScan::BuildCast
Mike Danes [Sun, 5 Aug 2018 07:33:27 +0000 (10:33 +0300)]
Cleanup LinearScan::BuildCast

6 years agoImprove ARM genIntCastOverflowCheck
Mike Danes [Sun, 5 Aug 2018 13:36:03 +0000 (16:36 +0300)]
Improve ARM genIntCastOverflowCheck

6 years agoRefactor genIntToIntCast on ARM
Mike Danes [Sun, 5 Aug 2018 09:44:27 +0000 (12:44 +0300)]
Refactor genIntToIntCast on ARM

6 years agoExtract cast overflow check ARM codegen to genIntCastOverflowCheck
Mike Danes [Sun, 5 Aug 2018 09:27:48 +0000 (12:27 +0300)]
Extract cast overflow check ARM codegen to genIntCastOverflowCheck

6 years agoRefactor genIntToIntCast on XARCH
Mike Danes [Sun, 5 Aug 2018 09:16:00 +0000 (12:16 +0300)]
Refactor genIntToIntCast on XARCH

6 years agoAdd support for collectible types to SOS (#19842)
Jan Vorlicek [Thu, 6 Sep 2018 08:15:21 +0000 (10:15 +0200)]
Add support for collectible types to SOS (#19842)

* Add support for collectible types to SOS

Collectible types indirectly reference managed LoaderAllocator via
pointer to native AssemblyLoaderAllocator stored in their MethodTable.
GC uses this relation when scanning object graph to determine which
objects are rooted and which ones are not.
The gcroot command in SOS doesn't understand this relation and so it
is unable to find all roots for LoaderAllocator.
This change fixes it.

* PR feedback

Make the failure to get the collectible info non-fatal to make it
compatible with older runtimes.

6 years ago[Unix|Arm64] Correct transition block for unix arm64 (#19822)
Jarret Shook [Thu, 6 Sep 2018 03:50:28 +0000 (20:50 -0700)]
[Unix|Arm64] Correct transition block for unix arm64 (#19822)

* Correct unix transition block macro

6 years agoDon't build and publish libcoreclr libeventprovider libeventpipe as crosscomponents...
Egor Chesakov [Wed, 5 Sep 2018 22:08:58 +0000 (15:08 -0700)]
Don't build and publish libcoreclr libeventprovider libeventpipe as crosscomponents on ARM (#19782)

* Use _install to stop copying sosdocsunix.txt to crosscomponents directory in src/ToolBox/SOS/Strike/CMakeLists.txt
* Use _install for coreclrpal in src/pal/src/CMakeLists.txt
* Use _install for eventprovider in src/scripts/genLttngProvider.py
* Unconditionally use add_library_clr and _install for eventpipe in src/scripts/genEventPipe.py

6 years agoRe-enable GitHub_19397 test
Carol Eidt [Wed, 5 Sep 2018 21:49:26 +0000 (14:49 -0700)]
Re-enable GitHub_19397 test

6 years agoUpdating the ilproj-sdk to support the `-RESOURCES` switch
Tanner Gooding [Wed, 5 Sep 2018 17:15:35 +0000 (10:15 -0700)]
Updating the ilproj-sdk to support the `-RESOURCES` switch

6 years agoMerge pull request #19719 from dotnet/MattGal-patch-1
Bruce Forstall [Wed, 5 Sep 2018 20:52:31 +0000 (13:52 -0700)]
Merge pull request #19719 from dotnet/MattGal-patch-1

Fix typos

6 years agoConvert all Sse2.Compare*** tests to template based
Jacek Blaszczynski [Sat, 25 Aug 2018 14:54:03 +0000 (16:54 +0200)]
Convert all Sse2.Compare*** tests to template based

6 years agoImplement AVX2 Gather intrinsic in JIT
Fei Peng [Fri, 31 Aug 2018 21:15:45 +0000 (14:15 -0700)]
Implement AVX2 Gather intrinsic in JIT

6 years agoAdd test for AVX2 gather intrinsic
Fei Peng [Thu, 9 Aug 2018 21:57:39 +0000 (14:57 -0700)]
Add test for AVX2 gather intrinsic

6 years agoAdd managed non-const fall-back for AVX2 gather intrinsic
Fei Peng [Thu, 9 Aug 2018 21:57:22 +0000 (14:57 -0700)]
Add managed non-const fall-back for AVX2 gather intrinsic

6 years agoRename CarryLessMultiply to CarrylessMultiply
Fei Peng [Tue, 4 Sep 2018 22:50:16 +0000 (15:50 -0700)]
Rename CarryLessMultiply to CarrylessMultiply

6 years agoFix ServiceController name population perf (dotnet/corefx#32072)
Dan Moseley [Tue, 4 Sep 2018 22:21:28 +0000 (15:21 -0700)]
Fix ServiceController name population perf (dotnet/corefx#32072)

* Fix ServiceController name population perf

* Split tests

* Remove dead field

* Remove new use of DangerousGetHandle

* SafeHandle all the things!

* VSB #1

* VSB #2

* Fix GLE

* Initialize machineName in ctor

* Test for empty name ex

* Null names

* Inadvertent edit

* Unix build

* Move interop into class

* Reverse SafeHandle for HAllocGlobal

* Fix tests

* Disable test for NETFX

* CR feedback

* Pattern matching on VSB

* Direct call

* typo

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoFix UAP build break (dotnet/corert#6287)
Michal Strehovský [Tue, 4 Sep 2018 14:26:36 +0000 (16:26 +0200)]
Fix UAP build break (dotnet/corert#6287)

Kick registry related files out of UAP builds.

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoDuring CrossGen allocate MethodDescChunk for every MethodDesc in MethodTableBuilder...
Egor Chesakov [Tue, 4 Sep 2018 23:22:39 +0000 (16:22 -0700)]
During CrossGen allocate MethodDescChunk for every MethodDesc in MethodTableBuilder::AllocAndInitMethodDescs in src/vm/methodtablebuilder.cpp

6 years agoReplace VNForPtrSizeIntCon(addrValue) with VNForHandle(addrValue, GTF_ICON_FTN_ADDR...
Egor Chesakov [Tue, 4 Sep 2018 18:04:58 +0000 (11:04 -0700)]
Replace VNForPtrSizeIntCon(addrValue) with VNForHandle(addrValue, GTF_ICON_FTN_ADDR) for function address in Compiler::fgValueNumberHelperCallFunc in src/jit/valuenum.cpp

6 years agoReplace ssize_t with target_ssize_t in GenTree::ParseArrayAddress GenTree::ParseArray...
Egor Chesakov [Tue, 4 Sep 2018 17:35:30 +0000 (10:35 -0700)]
Replace ssize_t with target_ssize_t in GenTree::ParseArrayAddress GenTree::ParseArrayAddressWork in src/jit/gentree.cpp src/jit/gentree.h

6 years agoJIT: add option to dump jit-generated debug info (#19808)
Andy Ayers [Tue, 4 Sep 2018 18:43:50 +0000 (11:43 -0700)]
JIT: add option to dump jit-generated debug info (#19808)

Add dump option for debug info (like the ones we have for gc info,
eh, unwind, etc) so we can more readily verify jit changes that are
might impact debug info generation.

6 years agoVirtual AttributeType property and signature generic types (#19818)
Atsushi Kanamori [Tue, 4 Sep 2018 18:24:00 +0000 (11:24 -0700)]
Virtual AttributeType property and signature generic types (#19818)

* Virtual AttributeType property and signature generic types

https://github.com/dotnet/corefx/issues/31614

1. This will allow Reflection providers the option
to supply the attribute type without building
an entire constructor.

https://github.com/dotnet/corefx/issues/31798

2. This will permit other Reflection providers
to support Type.MakeGenericMethodParameter()
in their implementations.

* More robust argument validation.

* Change parameter name

6 years agoDeal with cross-bitness compilation warnings Pt.2 (#19781)
Egor Chesakov [Tue, 4 Sep 2018 03:19:50 +0000 (20:19 -0700)]
Deal with cross-bitness compilation warnings Pt.2 (#19781)

* Disable ASMCONSTANTS_C_ASSERT in cross-bitness scenario in src/vm/ceeload.cpp

* Adjust MAXFIELDMARSHALERSIZE for cross-bitness scenario in src/vm/arm/cgencpu.h

* Make ALLOC_ALIGN_CONSTANT host specific in src/inc/stdmacros.h

* Make PRECODE_ALIGNMENT host specific in src/vm/arm/cgencpu.h

* Disable unreachable code in src/vm/arm/stubs.cpp

* Adjust CorDBIPC_BUFFER_SIZE for cross-bitness scenario in src/debug/inc/dbgipcevents.h

* Disable warning C4359 in src/vm/arm/cgencpu.h

* Deal with warning C4267: 'initializing': conversion from 'size_t' to 'int' in src/vm/stublink.cpp

* Deal with warning C4267: 'initializing': conversion from 'size_t' to 'int' in src/vm/callingconvention.h

* Disable unreachable REGDISPLAY constructor in src/inc/regdisp.h

6 years agoAdd modules to the heap only dump in order to have: (#19761)
chrisnas [Sun, 2 Sep 2018 17:17:31 +0000 (19:17 +0200)]
Add modules to the heap only dump in order to have: (#19761)

+ types in with sos.dumpheap -stat instead of UNKNOWN
  + complete stack with sos.dumpstack On a dual core machine, full=11GB, withheap=226MB, withheap(+patch)=269MB

6 years agoi386: Fixed definition with declaration in eetoprofinterfaceimpl.cpp (#18792)
sergey ignatov [Sat, 1 Sep 2018 14:40:44 +0000 (17:40 +0300)]
i386: Fixed definition with declaration in eetoprofinterfaceimpl.cpp (#18792)

6 years agoFix callKillSet for CORINFO_HELP_ASSIGN_BYREF on x64. (#19780)
Sergey Andreenko [Fri, 31 Aug 2018 23:16:57 +0000 (16:16 -0700)]
Fix callKillSet for CORINFO_HELP_ASSIGN_BYREF on x64. (#19780)

* Fix callKillSet for CORINFO_HELP_ASSIGN_BYREF.

on x64.

* Fix typos.

6 years agoRework the EvalOp generics template methods
Brian Sullivan [Wed, 29 Aug 2018 22:00:15 +0000 (15:00 -0700)]
Rework the EvalOp generics template methods
replaced EvalOpIntegral with EvalOpSpecialized

6 years agoAdd Avx2.Permute4x64 template based tests
Jacek Blaszczynski [Thu, 23 Aug 2018 21:01:29 +0000 (23:01 +0200)]
Add Avx2.Permute4x64 template based tests

6 years agoImplement Avx2.Permute4x64 intrinsics
Jacek Blaszczynski [Thu, 23 Aug 2018 20:50:57 +0000 (22:50 +0200)]
Implement Avx2.Permute4x64 intrinsics

6 years agoFix build-test.sh wrapper build (#19779)
Jarret Shook [Fri, 31 Aug 2018 18:25:20 +0000 (11:25 -0700)]
Fix build-test.sh wrapper build (#19779)

* Fix build-test.sh wrapper build

In addition this change creates a json file with the build info so that the wrapper build
may be skipped if it was built on the same os/arch/buildtype.

* Address pr feedback

6 years agoRevert "Remove not necessary type forwarded from attributes when type comes from...
Santiago Fernandez Madero [Fri, 31 Aug 2018 18:16:19 +0000 (11:16 -0700)]
Revert "Remove not necessary type forwarded from attributes when type comes from mscorlib in netfx" (#19784)

This reverts commit 4fb001d431e0f44df15709f02f776e565fec14c7.

6 years agoFix build break in CoreRT/ProjectN
Jan Kotas [Fri, 31 Aug 2018 04:06:51 +0000 (21:06 -0700)]
Fix build break in CoreRT/ProjectN

Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
6 years agoMerge pull request #19772 from fiigii/insxor
Carol Eidt [Fri, 31 Aug 2018 17:21:36 +0000 (10:21 -0700)]
Merge pull request #19772 from fiigii/insxor

Fix target register false dependency of lzcnt, tzcnt, and popcnt

6 years agoJIT: don't allocate promoted struct death vars map for clear or lookup (#19753)
Andy Ayers [Fri, 31 Aug 2018 15:20:53 +0000 (08:20 -0700)]
JIT: don't allocate promoted struct death vars map for clear or lookup (#19753)

Only allocate this map if we're adding something. Refactor clearing and
lookup to do minimal work if the map hasn't been allocated (and it won't
have been in debug / minopts).

Saves a tiny bit of throughput and memory.

6 years agoIndexOf(char, Ordinal) use fast path (#19788)
Ben Adams [Fri, 31 Aug 2018 15:19:10 +0000 (16:19 +0100)]
IndexOf(char, Ordinal) use fast path (#19788)

6 years agoEnable gc_profiling for local gc (#19777)
David Mason [Fri, 31 Aug 2018 10:44:11 +0000 (03:44 -0700)]
Enable gc_profiling for local gc (#19777)

6 years ago[local gc] move DacNotifyGCMarkEnd and AnalyzeSurvivorsRequested to GCToEEInterface...
David Mason [Fri, 31 Aug 2018 10:43:51 +0000 (03:43 -0700)]
[local gc]  move DacNotifyGCMarkEnd and AnalyzeSurvivorsRequested to GCToEEInterface  (#19774)

6 years agoUpdating runtest.py so that it works with Python 3
Tanner Gooding [Thu, 30 Aug 2018 18:41:21 +0000 (11:41 -0700)]
Updating runtest.py so that it works with Python 3

6 years agoAdd startup hook in System.Private.CoreLib (#19486)
Sven Boemer [Fri, 31 Aug 2018 00:24:11 +0000 (17:24 -0700)]
Add startup hook in System.Private.CoreLib (#19486)

* Add startup hook in System.Private.CoreLib

ProcessStartupHooks can be called from the host before the user's Main
entry point. It receives a list of dlls and types containing
Initialize() methods that will be called, making it possible to inject
managed code early during startup.

* Allow ! in assembly path for startup hook and other changes

Also:
- Report full assembly path when startup hook assembly is not found
- Remove unnecessary assert
- use Type.Delimiter instead of "."

* Use C# 7 tuple syntax and remove assert

* Improve error handling

Throw MissingMethodException only when there aren't any Initialize
methods at all.

When there are Initialize methods with incorrect
signatures (parameters, return type, visibility, or instance methods),
throw invalid signature error.

This should improve diagnosability of this feature.

* Remove eager check for missing startup hook assemblies

* Require full assembly path and use Split(char) overload.

* Remove startup hook type syntax

The type is now required to be "StartupHook" (in the global
namespace).

* Add assembly path to startup signature exception

With a hard-coded type name, printing the type.method of the startup
hook in the exception will no longer be much of an aid in debugging
startup hook signature issues. Adding the assembly path makes it clear
which startup hook had the problem.

* Use const strings

* Call startup hook inside ExecuteMainMethod

This way it will be called when the application is executed, but not
during other uses of hosting apis that go through
coreclr_create_delegate. This change will ensure that the threading
state is set based on attributes in the main method, before the
startup hooks run.

* Run startup hooks after setting root assembly and other fixes

- Run startup hooks after setting the appdomain's root
  assembly (visible in Assembly.GetEntryAssembly()
- Make the class static
- Remove debug output
- Don't allocate an empty ARG_SLOT array

* Allow non-public Initialize method, adjust coding style

* Remove overly-specific assert

6 years agoUpdate existing COM test assets (native/managed) to share CLSIDs with… (#19756)
Aaron Robinson [Thu, 30 Aug 2018 22:01:12 +0000 (15:01 -0700)]
Update existing COM test assets (native/managed) to share CLSIDs with… (#19756)

* Update existing COM test assets (native/managed) to share CLSIDs with other projects.

* Update Interop.settings.targets

None of these test changes apply to Ubuntu ARM

6 years agoFix target register false dependency of lzcnt, tzcnt, and popcnt
Fei Peng [Thu, 30 Aug 2018 20:23:37 +0000 (13:23 -0700)]
Fix target register false dependency of lzcnt, tzcnt, and popcnt

6 years agoFix CoreCLR debug launch (#19730)
Andrew Au [Thu, 30 Aug 2018 16:31:53 +0000 (09:31 -0700)]
Fix CoreCLR debug launch (#19730)

6 years agoJIT: don't compute edge weights if not optimizing (#19736)
Andy Ayers [Thu, 30 Aug 2018 15:01:46 +0000 (08:01 -0700)]
JIT: don't compute edge weights if not optimizing (#19736)

We were spending a bit less than 1% of jit time computing edge weights
for minopts an debug codegen, but then never using them.

Also when optimizing we wanted to just compute edge weights but ran
through a bit more code than that.

Restructure the code so it's clearer what runs when, and bypass the
edge weight computations for minopts and debug codegen.

6 years agotypo fix (#19763)
Mark Jung [Thu, 30 Aug 2018 10:00:02 +0000 (05:00 -0500)]
typo fix (#19763)

6 years agoFix test folder register (#19749)
Sergey Andreenko [Thu, 30 Aug 2018 04:56:43 +0000 (21:56 -0700)]
Fix test folder register (#19749)

rename test

6 years agoDelete code that tracks stack level in morph. (#19703)
Sergey Andreenko [Thu, 30 Aug 2018 02:55:24 +0000 (19:55 -0700)]
Delete code that tracks stack level in morph. (#19703)

* call fgCheckArgCnt only from stackLevelSetter

* delete changing fgPtrArgCntMax from codegencommon

* delete fgPtrArgCntCur

* reset write phase only once

* delete gtStkDepth

* add headers for the new fucntions

* fix comments

6 years agofix merge conflict in build-test.sh (#19744)
Sergey Andreenko [Thu, 30 Aug 2018 02:54:42 +0000 (19:54 -0700)]
fix merge conflict in build-test.sh (#19744)

6 years agoDefine T_RUNTIME_FUNCTION in cross-bitness crossgen ARM32 (#19718)
Egor Chesakov [Thu, 30 Aug 2018 02:51:51 +0000 (19:51 -0700)]
Define T_RUNTIME_FUNCTION in cross-bitness crossgen ARM32 (#19718)

* Allow 'Non-ARM Host managing ARM related code' scenario in src/inc/crosscomp.h
* Restrict RtlUnwindEx RtlVirtualUnwind to X86 || FEATURE_PAL in src/inc/clrnt.h
* Define PTR_RUNTIME_FUNCTION via T_RUNTIME_FUNCTION in src/inc/daccess.h

6 years agoMerge pull request #19742 from CarolEidt/Disable19397Arm64
Carol Eidt [Thu, 30 Aug 2018 01:08:34 +0000 (18:08 -0700)]
Merge pull request #19742 from CarolEidt/Disable19397Arm64

Disable Failing test on Arm64

6 years agoMerge pull request #19727 from echesakovMSFT/ConstantPropImmedValNeedsReloc
Egor Chesakov [Thu, 30 Aug 2018 00:26:41 +0000 (17:26 -0700)]
Merge pull request #19727 from echesakovMSFT/ConstantPropImmedValNeedsReloc

Do not Constant-Prop immediate values that require relocation on ARM32

6 years agoUpdate floatdouble and floatsingle to use `floatcontrol(precise, value push)` and...
Tanner Gooding [Wed, 29 Aug 2018 20:08:33 +0000 (13:08 -0700)]
Update floatdouble and floatsingle to use `floatcontrol(precise, value push)` and `floatcontrol(precise, pop)`

6 years agoUpdating floatdouble and floatsingle to work around an incorrect result under /fp...
Tanner Gooding [Wed, 29 Aug 2018 00:28:20 +0000 (17:28 -0700)]
Updating floatdouble and floatsingle to work around an incorrect result under /fp:fast

6 years agoMerge pull request #19726 from briansull/vn-dumping
Brian Sullivan [Wed, 29 Aug 2018 21:47:42 +0000 (14:47 -0700)]
Merge pull request #19726 from briansull/vn-dumping

Value Numbering dumping changes and documentation on normal and excSet value numbers

6 years agoTypos (#19737)
John Doe [Wed, 29 Aug 2018 21:46:52 +0000 (14:46 -0700)]
Typos (#19737)

* testsing -> testing

* reclaming -> reclaiming

* oppurtunity -> opportunity

* implemenation -> implementation

* indicaates -> indicates

* enregisterd -> enregistered

* compuations -> computations

* convinient -> convenient

* intution -> intuition

* Communicaton -> Communication

6 years agoFix typo
Brian Sullivan [Wed, 29 Aug 2018 21:37:48 +0000 (14:37 -0700)]
Fix typo

6 years agoRemove not necessary type forwarded from attributes when type comes from mscorlib...
Santiago Fernandez Madero [Fri, 24 Aug 2018 19:30:27 +0000 (12:30 -0700)]
Remove not necessary type forwarded from attributes when type comes from mscorlib in netfx

6 years agoDisable Failing test on Arm64
Carol Eidt [Wed, 29 Aug 2018 20:20:55 +0000 (13:20 -0700)]
Disable Failing test on Arm64

6 years agoValue Numbering dumping changes and documentation on normal and excSet value numbers
Brian Sullivan [Wed, 29 Aug 2018 01:03:56 +0000 (18:03 -0700)]
Value Numbering dumping changes and documentation on normal and excSet value numbers

Support the dumping of exception set
Added full method header comments for VNNormVal and VNWithExc
Removed extra spew for fieldSeq
Removed several unnecessary fgCurMemoryVN assigned printf
Added noway_asserts when dealing with a GT_ASG for a LHS that is a GT_PHI_ARG, GT_BLK or GT_OBJ

6 years agousing struct for VectorPacket in PacketTracer benchmark
Fei Peng [Tue, 28 Aug 2018 20:36:27 +0000 (13:36 -0700)]
using struct for VectorPacket in PacketTracer benchmark

6 years agoMerge pull request #19695 from CarolEidt/Fix19397
Carol Eidt [Wed, 29 Aug 2018 17:54:39 +0000 (10:54 -0700)]
Merge pull request #19695 from CarolEidt/Fix19397

Handle multiReg COPY

6 years agoMerge pull request #19205 from vancem/EventSourceUIntFix
Vance Morrison [Wed, 29 Aug 2018 17:12:48 +0000 (10:12 -0700)]
Merge pull request #19205 from vancem/EventSourceUIntFix

Event source uint fix