Carol Eidt [Fri, 7 Sep 2018 22:11:58 +0000 (15:11 -0700)]
Merge pull request dotnet/coreclr#19866 from dotnetrt/fix-generatetests-script
Remove all Sse2 Pack* and Unpack* tests from GneerateTests.csx script
Commit migrated from https://github.com/dotnet/coreclr/commit/
8f6db6188d8ab4f05709a4e8c8de54b18f639ec7
Tomáš Rylek [Fri, 7 Sep 2018 20:56:05 +0000 (22:56 +0200)]
Import signature parsing and general improvements in R2RDump (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
1d00a61b95ce280886c252360851945937b273b7
Carol Eidt [Fri, 7 Sep 2018 20:49:17 +0000 (13:49 -0700)]
Merge pull request dotnet/coreclr#19857 from CarolEidt/Fix19674
Morph ByRef args of SIMD field assign
Commit migrated from https://github.com/dotnet/coreclr/commit/
6cabe95f9dec3162a7407deee3863809511e57be
Brian Robbins [Fri, 7 Sep 2018 20:48:21 +0000 (13:48 -0700)]
Add Basic Out-of-Process EventPipe Control and Heap Snapshot Capture (dotnet/coreclr#19720)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7a231d1cecb9c2dad09e7d6c179af4b587d95687
Michelle McDaniel [Fri, 7 Sep 2018 20:08:25 +0000 (13:08 -0700)]
Fix the slashes when setting the ZapBBInstrDir (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d81a3685df482e8962bf696e44b9071f19bfac2f
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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
483adfefe3d069575774922b44cfcdc306fd6518
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. (dotnet/coreclr#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 dotnet/coreclr#12398.
Commit migrated from https://github.com/dotnet/coreclr/commit/
36449cf94237e7cddb7e43a9fe6f873e7f5ebf77
Brian Sullivan [Fri, 7 Sep 2018 17:40:48 +0000 (10:40 -0700)]
Merge pull request dotnet/coreclr#19748 from briansull/evalop-specialized
Rework the EvalOp generic-template methods
Commit migrated from https://github.com/dotnet/coreclr/commit/
c96aff7670f7d70fe87d2ea60bba9534c5e56088
Egor Chesakov [Fri, 7 Sep 2018 16:16:21 +0000 (09:16 -0700)]
Merge pull request dotnet/coreclr#19823 from echesakovMSFT/CrossBitnessValueNumbering
Commit migrated from https://github.com/dotnet/coreclr/commit/
2ba7230f547141f7f7bad37cb428f54b554d933f
Egor Chesakov [Fri, 7 Sep 2018 16:15:13 +0000 (09:15 -0700)]
Merge pull request dotnet/coreclr#19830 from echesakovMSFT/CrossGenAllocateMethodDescChunkPerMethodDesc
During CrossGen allocate MethodDescChunk per MethodDesc
Commit migrated from https://github.com/dotnet/coreclr/commit/
dddf586a9e0247159a5a84a1341fd1ba5b4337cd
Carol Eidt [Fri, 7 Sep 2018 14:49:25 +0000 (07:49 -0700)]
Merge pull request dotnet/coreclr#19855 from dotnetrt/fix-arm-tstlst
Remove deleted Sse2 tests from Test.lst files for arm and arm64 Windows targets
Commit migrated from https://github.com/dotnet/coreclr/commit/
192492d054a27f08643cf9ee39145735c9a45eda
Jan Vorlicek [Fri, 7 Sep 2018 08:44:47 +0000 (10:44 +0200)]
Fix ICU load on OpenSUSE Tumbleweed (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3df1959f00c34a80988e075b48b869e6b9d8102b
Morgan Brown [Fri, 7 Sep 2018 02:37:30 +0000 (19:37 -0700)]
Enable IJW Native calling managed (dotnet/coreclr#19750)
* Adds back code required to make IJW native->managed calls (if the runtime is already started) and includes a simple test.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9e976d515099c7708cf26cef7520b628564f5acf
Carol Eidt [Thu, 6 Sep 2018 21:26:58 +0000 (14:26 -0700)]
Morph ByRef args of SIMD field assign
Fix dotnet/coreclr#19674
Commit migrated from https://github.com/dotnet/coreclr/commit/
9c8eae93b8406ce7ffc6792f76f35850a745ee44
Carol Eidt [Fri, 7 Sep 2018 00:39:16 +0000 (17:39 -0700)]
Merge pull request dotnet/coreclr#19296 from mikedn/cast-cg
Refactor integer cast codegen
Commit migrated from https://github.com/dotnet/coreclr/commit/
748b5a0a5a701b7f9803021313c620413e353fdc
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 (dotnet/coreclr#19848)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e72b0628e2ab19a417bcb4e34686dfd40d0fb592
Tanner Gooding [Thu, 6 Sep 2018 18:28:45 +0000 (11:28 -0700)]
Disabling the failing CoreFX tests related to ToString for negative zero
Commit migrated from https://github.com/dotnet/coreclr/commit/
98fa2d6982db284d53e202fb2b07683a1df2cd44
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
36a90028f00e7a9e5b6f2aeaadcade3e123d4033
Tanner Gooding [Thu, 30 Aug 2018 17:09:59 +0000 (10:09 -0700)]
Updating Number.Formatting to properly print -0
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad3c8cc8934ec89631c221713b86238f6c86e1b6
Sergey Andreenko [Thu, 6 Sep 2018 23:03:09 +0000 (16:03 -0700)]
Clean CodeGen::genEmitCall (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
e80e55a1ace4b4de10072b0f6f71f79aca868906
Jarret Shook [Thu, 6 Sep 2018 22:55:52 +0000 (15:55 -0700)]
Add native vararg test (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
269deff2221f3c2acbc6b67f5e51a744a8f2f581
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 dotnet/coreclr#19853
Commit migrated from https://github.com/dotnet/coreclr/commit/
c5d22c3e9976a81cab1ec8a5b6a7e9e5cb8d2f7d
mikedn [Thu, 6 Sep 2018 20:28:15 +0000 (23:28 +0300)]
Remove unused GenTree flags (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1d885d32db50e8ee931d0d9fbd1081bfbb7ce271
Sergey Andreenko [Thu, 6 Sep 2018 20:25:52 +0000 (13:25 -0700)]
add a regression test for Linux GC segfault. (dotnet/coreclr#19820)
* add test
* move the test to pri1 and reduce number of iterations
Commit migrated from https://github.com/dotnet/coreclr/commit/
de7ea8c4307b8d0b9be7c3427e1ccfeb926e38a8
Mike Danes [Tue, 7 Aug 2018 19:16:51 +0000 (22:16 +0300)]
Make cast classification arch independent
Commit migrated from https://github.com/dotnet/coreclr/commit/
38a5f91a3e11ecf4d7441a5ce05bb94b6edaf9c3
Mike Danes [Sun, 5 Aug 2018 16:53:50 +0000 (19:53 +0300)]
Get rid of Lowering::getCastDescription
Commit migrated from https://github.com/dotnet/coreclr/commit/
43c5f23bf1b3d697ebe7178c612717a194cffdfe
Mike Danes [Sun, 5 Aug 2018 07:33:27 +0000 (10:33 +0300)]
Cleanup LinearScan::BuildCast
Commit migrated from https://github.com/dotnet/coreclr/commit/
0959db249a11d5eda4f4f4166707e8e1a925169e
Mike Danes [Sun, 5 Aug 2018 13:36:03 +0000 (16:36 +0300)]
Improve ARM genIntCastOverflowCheck
Commit migrated from https://github.com/dotnet/coreclr/commit/
763477bcae7b2de2264bba1b43cb1c11eb4877fd
Mike Danes [Sun, 5 Aug 2018 09:44:27 +0000 (12:44 +0300)]
Refactor genIntToIntCast on ARM
Commit migrated from https://github.com/dotnet/coreclr/commit/
c41a0e34a5ea9d850b09f5d5ac3a1a27d1485df5
Mike Danes [Sun, 5 Aug 2018 09:27:48 +0000 (12:27 +0300)]
Extract cast overflow check ARM codegen to genIntCastOverflowCheck
Commit migrated from https://github.com/dotnet/coreclr/commit/
35e51c884f511a49f1bad6c5706e4fdf8e963ab3
Mike Danes [Sun, 5 Aug 2018 09:16:00 +0000 (12:16 +0300)]
Refactor genIntToIntCast on XARCH
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2ba07ab7ebbd47fc673a1f4a7521a400badb298
Jan Vorlicek [Thu, 6 Sep 2018 08:15:21 +0000 (10:15 +0200)]
Add support for collectible types to SOS (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2a236b31a65614f5318cad794a5f38f4e566674e
Jarret Shook [Thu, 6 Sep 2018 03:50:28 +0000 (20:50 -0700)]
[Unix|Arm64] Correct transition block for unix arm64 (dotnet/coreclr#19822)
* Correct unix transition block macro
Commit migrated from https://github.com/dotnet/coreclr/commit/
045915424f7c4a3e6647cf35d6fca8a7fe48ea16
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 (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
14802fcc27eefbc29fbcb204cd0f3ae626da2042
Tanner Gooding [Wed, 5 Sep 2018 17:15:35 +0000 (10:15 -0700)]
Updating the ilproj-sdk to support the `-RESOURCES` switch
Commit migrated from https://github.com/dotnet/coreclr/commit/
6c6d86eb7efd2f63e8db90aba5aca2b91696afc4
Bruce Forstall [Wed, 5 Sep 2018 20:52:31 +0000 (13:52 -0700)]
Merge pull request dotnet/coreclr#19719 from dotnet/MattGal-patch-1
Fix typos
Commit migrated from https://github.com/dotnet/coreclr/commit/
805024ecddd23fbe9565b28fcaffbf5a1618e4fa
Jacek Blaszczynski [Sat, 25 Aug 2018 14:54:03 +0000 (16:54 +0200)]
Convert all Sse2.Compare*** tests to template based
Commit migrated from https://github.com/dotnet/coreclr/commit/
f28cdb352da285cc2a4248d8008e62e5aa7b081a
Fei Peng [Fri, 31 Aug 2018 21:15:45 +0000 (14:15 -0700)]
Implement AVX2 Gather intrinsic in JIT
Commit migrated from https://github.com/dotnet/coreclr/commit/
0f6597f60f580f64b29b00bec7f71d2fb0d57d9d
Fei Peng [Thu, 9 Aug 2018 21:57:39 +0000 (14:57 -0700)]
Add test for AVX2 gather intrinsic
Commit migrated from https://github.com/dotnet/coreclr/commit/
2055d5610242da81cbc4c767465fddb7dbd78e33
Fei Peng [Thu, 9 Aug 2018 21:57:22 +0000 (14:57 -0700)]
Add managed non-const fall-back for AVX2 gather intrinsic
Commit migrated from https://github.com/dotnet/coreclr/commit/
d59b1af3429809e8c2af86f818ebb387948e313e
Fei Peng [Tue, 4 Sep 2018 22:50:16 +0000 (15:50 -0700)]
Rename CarryLessMultiply to CarrylessMultiply
Commit migrated from https://github.com/dotnet/coreclr/commit/
e6ae9d6460fb8366134d4026b46bb1611045d416
Dan Moseley [Tue, 4 Sep 2018 22:21:28 +0000 (15:21 -0700)]
Fix ServiceController name population perf (dotnet/corefxdotnet/coreclr#32072)
* Fix ServiceController name population perf
* Split tests
* Remove dead field
* Remove new use of DangerousGetHandle
* SafeHandle all the things!
* VSB dotnet/coreclr#1
* VSB dotnet/coreclr#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>
Commit migrated from https://github.com/dotnet/coreclr/commit/
20ee9b884cdc04826826b95e0952f9c5b5e650dc
Michal Strehovský [Tue, 4 Sep 2018 14:26:36 +0000 (16:26 +0200)]
Fix UAP build break (dotnet/corertdotnet/coreclr#6287)
Kick registry related files out of UAP builds.
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
aee79af9a233c397bc3140af2e0ef2d83cf436bf
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
a4e8ffc24e6fc4f31b60fac28241937b19e07458
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
c9de40a819cba1841663792b0c1b815becc242f8
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
e815efc9f5a2523baf59cb7bde6365e5247205b5
Andy Ayers [Tue, 4 Sep 2018 18:43:50 +0000 (11:43 -0700)]
JIT: add option to dump jit-generated debug info (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
958040ed3f8c7efb3f78f301d3cb76271e941c2e
Atsushi Kanamori [Tue, 4 Sep 2018 18:24:00 +0000 (11:24 -0700)]
Virtual AttributeType property and signature generic types (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
a1cb8f6e39ba93d21f2fc2bd0405b9d6d28b42ee
Egor Chesakov [Tue, 4 Sep 2018 03:19:50 +0000 (20:19 -0700)]
Deal with cross-bitness compilation warnings Pt.2 (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
b042edd2d3aab48fe9524381b8b445b910722d8d
chrisnas [Sun, 2 Sep 2018 17:17:31 +0000 (19:17 +0200)]
Add modules to the heap only dump in order to have: (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
0821f6f06f34146053356bf944d01aff086bb312
sergey ignatov [Sat, 1 Sep 2018 14:40:44 +0000 (17:40 +0300)]
i386: Fixed definition with declaration in eetoprofinterfaceimpl.cpp (dotnet/coreclr#18792)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a1757ce8e80cd089d9dc31ba2d4e3246e387a6b8
Sergey Andreenko [Fri, 31 Aug 2018 23:16:57 +0000 (16:16 -0700)]
Fix callKillSet for CORINFO_HELP_ASSIGN_BYREF on x64. (dotnet/coreclr#19780)
* Fix callKillSet for CORINFO_HELP_ASSIGN_BYREF.
on x64.
* Fix typos.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d71ed81a4b9ec9d89bcb5c35174ff60d0991c79c
Brian Sullivan [Wed, 29 Aug 2018 22:00:15 +0000 (15:00 -0700)]
Rework the EvalOp generics template methods
replaced EvalOpIntegral with EvalOpSpecialized
Commit migrated from https://github.com/dotnet/coreclr/commit/
0cb60db619c846f49c97a91dff9286384a60bb32
Jacek Blaszczynski [Thu, 23 Aug 2018 21:01:29 +0000 (23:01 +0200)]
Add Avx2.Permute4x64 template based tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
e3c2f5bacf75f9632961ed04de01940775381a40
Jacek Blaszczynski [Thu, 23 Aug 2018 20:50:57 +0000 (22:50 +0200)]
Implement Avx2.Permute4x64 intrinsics
Commit migrated from https://github.com/dotnet/coreclr/commit/
243251e5e600becc1d9dfeb618fd20751c60a98c
Jarret Shook [Fri, 31 Aug 2018 18:25:20 +0000 (11:25 -0700)]
Fix build-test.sh wrapper build (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
6de8d61ab595b2975a01ba4068a3840a6f7aaacd
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" (dotnet/coreclr#19784)
This reverts commit dotnet/coreclr@
4fb001d431e0f44df15709f02f776e565fec14c7.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3b807944d8822b44eb5085d6b95b130b4a91808f
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>
Commit migrated from https://github.com/dotnet/coreclr/commit/
9ed18951643bc05060b377bf006f2530cb857bdb
Carol Eidt [Fri, 31 Aug 2018 17:21:36 +0000 (10:21 -0700)]
Merge pull request dotnet/coreclr#19772 from fiigii/insxor
Fix target register false dependency of lzcnt, tzcnt, and popcnt
Commit migrated from https://github.com/dotnet/coreclr/commit/
4d031d66619f18f051df6666a87bc8c8acfbbe4f
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 (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
de74b8ca4116235601feaf868f3ab0a06615ec3d
Ben Adams [Fri, 31 Aug 2018 15:19:10 +0000 (16:19 +0100)]
IndexOf(char, Ordinal) use fast path (dotnet/coreclr#19788)
Commit migrated from https://github.com/dotnet/coreclr/commit/
f597da2dd522ca1ca7293ef83798aae86840e588
David Mason [Fri, 31 Aug 2018 10:44:11 +0000 (03:44 -0700)]
Enable gc_profiling for local gc (dotnet/coreclr#19777)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d82fc2062925ced3fb5c479ff8db7ef61cc4f290
David Mason [Fri, 31 Aug 2018 10:43:51 +0000 (03:43 -0700)]
[local gc] move DacNotifyGCMarkEnd and AnalyzeSurvivorsRequested to GCToEEInterface (dotnet/coreclr#19774)
Commit migrated from https://github.com/dotnet/coreclr/commit/
00a5ee589b565ebcd068c5851315a997848ed98c
Tanner Gooding [Thu, 30 Aug 2018 18:41:21 +0000 (11:41 -0700)]
Updating runtest.py so that it works with Python 3
Commit migrated from https://github.com/dotnet/coreclr/commit/
6e780ac7dae161bdfd2d561db7995687703d39b2
Sven Boemer [Fri, 31 Aug 2018 00:24:11 +0000 (17:24 -0700)]
Add startup hook in System.Private.CoreLib (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
1c47703a3d548e5f3293a11d98747dd83bf429f1
Aaron Robinson [Thu, 30 Aug 2018 22:01:12 +0000 (15:01 -0700)]
Update existing COM test assets (native/managed) to share CLSIDs with… (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
35ead994ccde0cf2faaf1786af49d5b9ed523074
Fei Peng [Thu, 30 Aug 2018 20:23:37 +0000 (13:23 -0700)]
Fix target register false dependency of lzcnt, tzcnt, and popcnt
Commit migrated from https://github.com/dotnet/coreclr/commit/
6957b4f44f0917209df89499b7c4071bb0bc1941
Andrew Au [Thu, 30 Aug 2018 16:31:53 +0000 (09:31 -0700)]
Fix CoreCLR debug launch (dotnet/coreclr#19730)
Commit migrated from https://github.com/dotnet/coreclr/commit/
665c5cc83c5fe8b186c82e7f83bba0cdf860516a
Andy Ayers [Thu, 30 Aug 2018 15:01:46 +0000 (08:01 -0700)]
JIT: don't compute edge weights if not optimizing (dotnet/coreclr#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.
Commit migrated from https://github.com/dotnet/coreclr/commit/
d43347e043beb3ae64c8db55f72708c1ce60511e
Mark Jung [Thu, 30 Aug 2018 10:00:02 +0000 (05:00 -0500)]
typo fix (dotnet/coreclr#19763)
Commit migrated from https://github.com/dotnet/coreclr/commit/
819f19a3287ccd179cb8bcbac24d6817c1e2fb71
Sergey Andreenko [Thu, 30 Aug 2018 04:56:43 +0000 (21:56 -0700)]
Fix test folder register (dotnet/coreclr#19749)
rename test
Commit migrated from https://github.com/dotnet/coreclr/commit/
d11784cfbcc11cd0d7b9139ebfca6790b684331b
Sergey Andreenko [Thu, 30 Aug 2018 02:55:24 +0000 (19:55 -0700)]
Delete code that tracks stack level in morph. (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
94b847fc65117d30c62e182b724ac1ffd5ac575c
Sergey Andreenko [Thu, 30 Aug 2018 02:54:42 +0000 (19:54 -0700)]
fix merge conflict in build-test.sh (dotnet/coreclr#19744)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d42cdd01992aa5328320c7d4bf5eca41fbc8ff02
Egor Chesakov [Thu, 30 Aug 2018 02:51:51 +0000 (19:51 -0700)]
Define T_RUNTIME_FUNCTION in cross-bitness crossgen ARM32 (dotnet/coreclr#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
Commit migrated from https://github.com/dotnet/coreclr/commit/
398caa5c90173f90bcfc8275670a1fcaa7ad6e41
Carol Eidt [Thu, 30 Aug 2018 01:08:34 +0000 (18:08 -0700)]
Merge pull request dotnet/coreclr#19742 from CarolEidt/Disable19397Arm64
Disable Failing test on Arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
8ba838fb54d6c07271d026b2d77bedcb9e2a786a
Egor Chesakov [Thu, 30 Aug 2018 00:26:41 +0000 (17:26 -0700)]
Merge pull request dotnet/coreclr#19727 from echesakovMSFT/ConstantPropImmedValNeedsReloc
Do not Constant-Prop immediate values that require relocation on ARM32
Commit migrated from https://github.com/dotnet/coreclr/commit/
e8b9b6c225bf2f876df0c3fc979e4dea6f281358
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)`
Commit migrated from https://github.com/dotnet/coreclr/commit/
13c4ab0742ee7f80fb1cb98bef95e106b0f9c83a
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
91eeb98c500d7d841f49eec7916d8c24d61d0eed
Brian Sullivan [Wed, 29 Aug 2018 21:47:42 +0000 (14:47 -0700)]
Merge pull request dotnet/coreclr#19726 from briansull/vn-dumping
Value Numbering dumping changes and documentation on normal and excSet value numbers
Commit migrated from https://github.com/dotnet/coreclr/commit/
c46e7eec10e3c697ae24350b85b8ae4c424f5d4a
John Doe [Wed, 29 Aug 2018 21:46:52 +0000 (14:46 -0700)]
Typos (dotnet/coreclr#19737)
* testsing -> testing
* reclaming -> reclaiming
* oppurtunity -> opportunity
* implemenation -> implementation
* indicaates -> indicates
* enregisterd -> enregistered
* compuations -> computations
* convinient -> convenient
* intution -> intuition
* Communicaton -> Communication
Commit migrated from https://github.com/dotnet/coreclr/commit/
4c7c066d0bacdb86a2311333de1ca73d94ae5280
Brian Sullivan [Wed, 29 Aug 2018 21:37:48 +0000 (14:37 -0700)]
Fix typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
c5cf85ad3a9be5de0daf0bfe111a64d849c58971
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
8bc0e5e39a3805fa707f366f2a1189e2b25d43b6
Carol Eidt [Wed, 29 Aug 2018 20:20:55 +0000 (13:20 -0700)]
Disable Failing test on Arm64
Commit migrated from https://github.com/dotnet/coreclr/commit/
44f0e8ff4a1ae4f6c8be151261e2c8010b2960b9
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
Commit migrated from https://github.com/dotnet/coreclr/commit/
0ec46e1f18eed108ba18066c7ab1a25da733ad43
Fei Peng [Tue, 28 Aug 2018 20:36:27 +0000 (13:36 -0700)]
using struct for VectorPacket in PacketTracer benchmark
Commit migrated from https://github.com/dotnet/coreclr/commit/
fb4b1f70a47455b392231f97ab446f487c87521a
Carol Eidt [Wed, 29 Aug 2018 17:54:39 +0000 (10:54 -0700)]
Merge pull request dotnet/coreclr#19695 from CarolEidt/Fix19397
Handle multiReg COPY
Commit migrated from https://github.com/dotnet/coreclr/commit/
305b5529b0612c283ccb2b1c21f43e4e801f9871
Vance Morrison [Wed, 29 Aug 2018 17:12:48 +0000 (10:12 -0700)]
Merge pull request dotnet/coreclr#19205 from vancem/EventSourceUIntFix
Event source uint fix
Commit migrated from https://github.com/dotnet/coreclr/commit/
1eedc35a644fece43d7674c4d2d56b5f2c605936
Michelle McDaniel [Wed, 29 Aug 2018 16:41:15 +0000 (09:41 -0700)]
Enable ibc official build (dotnet/coreclr#19586)
Enable IBCOptimize for x86 and x64 Release builds
Commit migrated from https://github.com/dotnet/coreclr/commit/
b08f34eb1ea2cd8527507fc0249d80aed2eef9db
Fei Peng [Fri, 24 Aug 2018 21:48:43 +0000 (14:48 -0700)]
Improve struct promotion for 256-bit SIMD fields
Commit migrated from https://github.com/dotnet/coreclr/commit/
f99ca8c1533fe9f70407353d5f0b9784fd40362c
Morgan Brown [Wed, 29 Aug 2018 11:25:57 +0000 (04:25 -0700)]
Fix IJW test failing on Linux (dotnet/coreclr#19729)
Disables the IJW test on Linux and ARM64
Commit migrated from https://github.com/dotnet/coreclr/commit/
cbbfca3459519c21dbd94f9d8cd0bce26a5a1756
Egor Chesakov [Wed, 29 Aug 2018 01:24:57 +0000 (18:24 -0700)]
Cast gtIconVal to target_ssize_t in src/jit/assertionprop.cpp
Commit migrated from https://github.com/dotnet/coreclr/commit/
9e32ef351092acdde970d1a9a80fa6565bf01456
Egor Chesakov [Wed, 29 Aug 2018 01:24:22 +0000 (18:24 -0700)]
Do not Constant-Prop immediate values that require relocation on ARM32
Commit migrated from https://github.com/dotnet/coreclr/commit/
bd32cdb5ae1e581d8b9aaceaae97075f675abf7d
Egor Chesakov [Wed, 29 Aug 2018 01:17:06 +0000 (18:17 -0700)]
Merge pull request dotnet/coreclr#19619 from echesakovMSFT/Mov32RelocatableDisplacementARM32
[ARM32] Split IF_T2_N3 into relocatable and non-relocatable cases
Commit migrated from https://github.com/dotnet/coreclr/commit/
57ac3820b4284e6c6c278d9be95e81eb446a13b2
Simon Nattress [Wed, 29 Aug 2018 01:09:04 +0000 (18:09 -0700)]
Merge pull request dotnet/coreclr#19053 from riverar/riverar/r2r_size_unavail
Set function size to -1 if sizing info unavailable
Commit migrated from https://github.com/dotnet/coreclr/commit/
d41e5af3382d174d6e4db729390a787524a1cd70
dotnet-maestro-bot [Wed, 29 Aug 2018 00:57:57 +0000 (17:57 -0700)]
Update BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03127-01, preview1-26827-04, preview1-26827-04, preview1-26827-01, master-
20180827-0150, respectively (master) (dotnet/coreclr#19543)
* Update BuildTools, CoreClr, CoreFx, CoreSetup, PgoData to preview1-03127-01, preview1-26827-04, preview1-26827-04, preview1-26827-01, master-
20180827-0150, respectively
* Undo buildtools update
* Use older version of CoreFx.Private.TestUtilities
* Disable outdated test
* Disable failing test against dotnet/coreclr#19537
Commit migrated from https://github.com/dotnet/coreclr/commit/
027d534ff6738ca0731321dc389da0153b7e9160
Morgan Brown [Wed, 29 Aug 2018 00:29:40 +0000 (17:29 -0700)]
Enable mixed mode assembly loading (dotnet/coreclr#19542)
Bring back functionality for loading IJW assemblies and calling managed->native. Also add workaround to test case for the C++ compiler inserting calls to mscoree.
Commit migrated from https://github.com/dotnet/coreclr/commit/
246ae784b826c79098a1b3967083c66187786197
Brian Sullivan [Tue, 28 Aug 2018 23:10:59 +0000 (16:10 -0700)]
Merge pull request dotnet/coreclr#19712 from briansull/remove-unused-arg
Removed unused argument 'evalAsgLhsInd' in Value Numbering
Commit migrated from https://github.com/dotnet/coreclr/commit/
68a1167f6d12ca10ce6ce6ec9d3951e59912e4ce
Bruce Forstall [Tue, 28 Aug 2018 22:39:01 +0000 (15:39 -0700)]
Merge pull request dotnet/coreclr#19716 from BruceForstall/Fix19715
Fix warning C4723 potential divide by zero
Commit migrated from https://github.com/dotnet/coreclr/commit/
85eece42ff277a53e065b44c5fc2ddf18870c456
Sergey Andreenko [Tue, 28 Aug 2018 22:24:09 +0000 (15:24 -0700)]
return NETClientPrimitives to the exluce list for all platforms (dotnet/coreclr#19717)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d9b6f44fec1327930d71900bbc5bde03d44bdd4
Tanner Gooding [Tue, 28 Aug 2018 03:32:40 +0000 (20:32 -0700)]
Replacing the IsDstSrcSrcAVXInstruction jump table with a flag.
Commit migrated from https://github.com/dotnet/coreclr/commit/
041152e886b5f365554d8c062d3a49715a5bcf41