platform/upstream/dotnet/runtime.git
7 years agoReplace JitHelpers.UnsafeCast with Unsafe.As
Jan Kotas [Wed, 13 Sep 2017 22:59:37 +0000 (15:59 -0700)]
Replace JitHelpers.UnsafeCast with Unsafe.As

Both methods to the same, but the latter one is the offficial public name for the functionality

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

7 years agoUndo more JIT layout workarounds (dotnet/coreclr#13961)
Joseph Tremoulet [Thu, 14 Sep 2017 03:49:38 +0000 (23:49 -0400)]
Undo more JIT layout workarounds (dotnet/coreclr#13961)

Remove some `goto`s that were added  to work around undesirable jit
layout (dotnet/coreclr#9692, fixed in dotnet/coreclr#13314) and epilog factoring (improved in
 dotnet/coreclr#13792 and dotnet/coreclr#13903), which are no longer needed.

Resolves dotnet/coreclr#13466.

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

7 years agoMerge pull request dotnet/coreclr#13957 from JosephTremoulet/LoopNestFix
Joseph Tremoulet [Thu, 14 Sep 2017 03:21:07 +0000 (23:21 -0400)]
Merge pull request dotnet/coreclr#13957 from JosephTremoulet/LoopNestFix

Renumber blocks before computing loop nest

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

7 years agoCall the fast generic impl from the non-generic one where possible
Jan Kotas [Wed, 13 Sep 2017 23:36:57 +0000 (16:36 -0700)]
Call the fast generic impl from the non-generic one where possible

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

7 years agoMake Array.Reverse faster
Jan Kotas [Wed, 13 Sep 2017 22:53:18 +0000 (15:53 -0700)]
Make Array.Reverse faster

Array.Reverse showed up as hot method in profiles of real workloads (e.g. it is called from Json.NET frequently via List.Reverse)

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

7 years agoEnable end to end Alpine build (dotnet/coreclr#13966)
Jan Vorlicek [Thu, 14 Sep 2017 02:52:39 +0000 (04:52 +0200)]
Enable end to end Alpine build (dotnet/coreclr#13966)

This change enables full end to end build of coreclr including
managed code on Alpine Linux.

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

7 years agoMerge pull request dotnet/coreclr#13967 from dotnet-bot/from-tfs
Brian Sullivan [Thu, 14 Sep 2017 01:48:47 +0000 (18:48 -0700)]
Merge pull request dotnet/coreclr#13967 from dotnet-bot/from-tfs

Merge changes from TFS

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

7 years agoMerge pull request dotnet/coreclr#13626 from mikedn/test-bt
Carol Eidt [Thu, 14 Sep 2017 00:36:55 +0000 (17:36 -0700)]
Merge pull request dotnet/coreclr#13626 from mikedn/test-bt

Lower TEST(x, LSH(1, y)) to BT(x, y)

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

7 years agoFix potentially unused variable in lb arm
Brian Sullivan [Thu, 14 Sep 2017 00:09:33 +0000 (17:09 -0700)]
Fix potentially unused variable in lb arm

[tfs-changeset: 1674030]

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

7 years agoEliminate double delete in EventPipeProvider cleanup (dotnet/coreclr#13833)
Victor "Nate" Graf [Wed, 13 Sep 2017 21:51:46 +0000 (14:51 -0700)]
Eliminate double delete in EventPipeProvider cleanup (dotnet/coreclr#13833)

* Eliminate double delete in EventProvider cleanup

* Fix access after deletion error

* Simplify control flow

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

7 years agoRenumber blocks before computing loop nest
Joseph Tremoulet [Wed, 13 Sep 2017 18:29:05 +0000 (14:29 -0400)]
Renumber blocks before computing loop nest

The loop nest computation expects to be able to test block numbers for
lexical inclusion, so do a renumbering pass first if blocks have been
moved.

Fixes dotnet/coreclr#13919.

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

7 years agoFix setting PAX options for crossgen (dotnet/coreclr#13950)
Jan Vorlicek [Wed, 13 Sep 2017 21:33:55 +0000 (23:33 +0200)]
Fix setting PAX options for crossgen (dotnet/coreclr#13950)

In my previous PR that added marking executables with paxctl, I've made
a mistake in the order of calling _add_library and add_dependencies.
But that was hidden due to the fact that we have yet another copy of the
add_library_clr and add_executable_clr functions in src/CMakeLists.txt.
I have no idea how that happened.
This one has overriden the other, which has hidden the problem, but also
caused the crossgen to not to be modified by the paxctl.
So I am fixing the order and removing the extra definitions of those
functions.

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

7 years agoMerge pull request dotnet/coreclr#13943 from jashook/fix_lb_build_break
Jarret Shook [Wed, 13 Sep 2017 19:50:12 +0000 (12:50 -0700)]
Merge pull request dotnet/coreclr#13943 from jashook/fix_lb_build_break

Fix potentially unused variable in lb arm

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

7 years agoFix ARM build break (dotnet/coreclr#13932)
Jan Kotas [Wed, 13 Sep 2017 19:49:24 +0000 (12:49 -0700)]
Fix ARM build break (dotnet/coreclr#13932)

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

7 years agoFix potentially unused variable in lb arm
jashook [Wed, 13 Sep 2017 17:54:48 +0000 (10:54 -0700)]
Fix potentially unused variable in lb arm

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

7 years agoDisable PAX mprotect for native executables (dotnet/coreclr#13940)
Jan Vorlicek [Wed, 13 Sep 2017 17:19:20 +0000 (19:19 +0200)]
Disable PAX mprotect for native executables (dotnet/coreclr#13940)

This change adds marking native executables that coreclr build produces
(corerun, coreconsole, crossgen, ilasm, ildasm, crashdump) to using the
paxctl tool to allow them running on systems with PAX configured so that
creating executable memory mappings by applications is prohibited.

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

7 years agoFix AV in corerun on invalid filename
Jan Kotas [Wed, 13 Sep 2017 03:32:08 +0000 (20:32 -0700)]
Fix AV in corerun on invalid filename

Before this fix, corerun would AV on certain invalid paths e.g.: corerun test.exe\

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

7 years agoMark Span.Length as non-versionable
Jan Kotas [Wed, 13 Sep 2017 03:30:30 +0000 (20:30 -0700)]
Mark Span.Length as non-versionable

This allows inlining Span.Length accross versioning boundaries in R2R images. We are leaking the Span implementation details already because the Span indexer is treated as intrinsic. Marking a few more trivial methods as non-versionable should not do any future harm.

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

7 years agoMerge pull request dotnet/coreclr#13806 from hqueue/arm/ryujit/issue_13739_jitstress_...
Carol Eidt [Wed, 13 Sep 2017 16:30:46 +0000 (09:30 -0700)]
Merge pull request dotnet/coreclr#13806 from hqueue/arm/ryujit/issue_13739_jitstress_NYI_addr

[RyuJIT/ARM32] Add ADDR and fixup return type correctly

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

7 years agoFix Hebrew date parsing (dotnet/coreclr#13929)
Tarek Mahmoud Sayed [Wed, 13 Sep 2017 15:20:46 +0000 (08:20 -0700)]
Fix Hebrew date parsing (dotnet/coreclr#13929)

This fix when parsing Hevrew dat e string formatted as dd/MM/yy. we didn't encounter the same on Windows before because default short date pattern on Windows is dd MMM yyyy which we can parse it successfully.

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

7 years agoLower TEST(x, LSH(1, y)) to BT(x, y)
Mike Danes [Mon, 28 Aug 2017 17:28:56 +0000 (20:28 +0300)]
Lower TEST(x, LSH(1, y)) to BT(x, y)

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

7 years agoAdd GT_BT
Mike Danes [Sat, 29 Apr 2017 10:49:20 +0000 (13:49 +0300)]
Add GT_BT

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

7 years agoAdd INS_bt
Mike Danes [Sat, 29 Apr 2017 10:12:21 +0000 (13:12 +0300)]
Add INS_bt

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

7 years agoMerge pull request dotnet/coreclr#13903 from JosephTremoulet/PlaceReturns
Joseph Tremoulet [Wed, 13 Sep 2017 13:04:04 +0000 (09:04 -0400)]
Merge pull request dotnet/coreclr#13903 from JosephTremoulet/PlaceReturns

Improve const return block placement

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

7 years agoMerge pull request dotnet/coreclr#13835 from sdmaclea/PR-ARM64-GT_MULHI
Joseph Tremoulet [Wed, 13 Sep 2017 13:03:13 +0000 (09:03 -0400)]
Merge pull request dotnet/coreclr#13835 from sdmaclea/PR-ARM64-GT_MULHI

[Arm64] Add GT_MULHI

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

7 years agoMerge pull request dotnet/coreclr#13799 from sdmaclea/PR-ARM64-Transform-AND-CMP
Joseph Tremoulet [Wed, 13 Sep 2017 12:58:31 +0000 (08:58 -0400)]
Merge pull request dotnet/coreclr#13799 from sdmaclea/PR-ARM64-Transform-AND-CMP

[Arm64] Transform AND-CMP to TST

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

7 years agoIntroduce FEATURE_GDBJIT_SYMTAB (dotnet/coreclr#13567)
Konstantin Baladurin [Wed, 13 Sep 2017 12:17:55 +0000 (15:17 +0300)]
Introduce FEATURE_GDBJIT_SYMTAB (dotnet/coreclr#13567)

* Introduce FEATURE_GDBJIT_SYMTAB

This commit adds new feature FEATURE_GDBJIT_SYMTAB. When it's set
ELF file with symtab section will be generated for all JITed methods.

It helps lldb and gdb correctly unwind frames of JITed methods as they
can use assembly language inspection to determine location of saved
registers on stack.

* gdbjit symtab feature: use different symbols for each function in JITed code

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

7 years agoChange how numProc is derived on Linux (dotnet/coreclr#13909)
Jarret Shook [Wed, 13 Sep 2017 08:43:06 +0000 (01:43 -0700)]
Change how numProc is derived on Linux (dotnet/coreclr#13909)

Before the decision for numProcs to run in parallel for runtests.sh
was based on _NPROCESSORS_ONLN which harware which attempts to save
power (eg arm(64)) this number may be < numProcs.

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

7 years agoUpdate BuildTools, CoreClr, CoreFx, PgoData to prerelease-02012-02, preview1-25713...
dotnet-maestro-bot [Wed, 13 Sep 2017 02:49:01 +0000 (19:49 -0700)]
Update BuildTools, CoreClr, CoreFx, PgoData to prerelease-02012-02, preview1-25713-01, preview1-25712-02, master-20170912-0038, respectively (dotnet/coreclr#13928)

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

7 years agoRe-implemented the ecvt function. (dotnet/coreclr#12894)
Jim Ma [Wed, 13 Sep 2017 01:33:40 +0000 (09:33 +0800)]
Re-implemented the ecvt function. (dotnet/coreclr#12894)

* Re-implemented the ecvt function.

Instead of leveraging snprintf, re-implement the ecvt function according to the paper: https://www.cs.indiana.edu/~dyb/pubs/FP-Printing-PLDI96.pdf

Note:
1. This commit won't fix any existing bug.
2. This is a raw implementation of the paper. The performance on Linux only gain 10%. We could tune the performance further.

Fix dotnet/coreclr#10651

* Resolve a cross platform header file issue.

Fix dotnet/coreclr#10651

* Fixed a minor bug. Improved the performance.

Fix dotnet/coreclr#10651

* Modified code according to code review feedback.

This commit fixed most of the issue found in code review. However, some of the feedback may not be involved due to either little performance improvement or need a POC.

Fix dotnet/coreclr#10651

* Try to fix constexpr compile error on Windows.

Fix dotnet/coreclr#10651

* Fixed a potential overflow bug in BigNum::Compare.

Fix dotnet/coreclr#10651

* Improved multiply 10 operation.

Use shift and add operation to replace actual multiply operation.

Fix dotnet/coreclr#10651

* Remove old _ecvt function.

Fix dotnet/coreclr#10651

* Documented the reason why we do not need m+ and m-.

Fix dotnet/coreclr#10651

* Changed exp > 0 to exp != 0 to remove any confusion.

exp should fall in 1 ~ 2046 for normalized value. Denormalized value has exp = 0.

Fix dotnet/coreclr#10651

* Disable the _ecvt tests.

Fix dotnet/coreclr#10651

* Removed _ecvt tests.

Fix dotnet/coreclr#10651

* Re-implemented LogBase2.

Fix dotnet/coreclr#10651

* Use DWORD and DWORD64 for _BitScanReverse and _BitScanReverse64

Fix dotnet/coreclr#10651

* Fixed x86 compile issue for _BitScanReverse64

x86 does not support _BitScanReverse64 so we have to add additional shift operations to handle it.

Fix dotnet/coreclr#10651

* Implemented BitScanReverse64 and BitScanReverse in pal.h

Fix dotnet/coreclr#10651

* Remove the confusion comment which is unrelated to BitScanReverse.

Fix dotnet/coreclr#10651

* Introduced wmemset to enhance the perf for 0.0

Fix dotnet/coreclr#10651

* Improved the performance of converting 0.0.

Fix dotnet/coreclr#10651

* Renamed ecvt to DoubleToNumberWorker.

Fix dotnet/coreclr#10651

* Updated code according to the code review feedback.

Fix dotnet/coreclr#10651

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

7 years ago[RyuJIT/ARM32] Implement CreateDictionaryLookupHelper only via helper (dotnet/coreclr...
Sujin Kim [Wed, 13 Sep 2017 00:55:55 +0000 (09:55 +0900)]
[RyuJIT/ARM32] Implement CreateDictionaryLookupHelper only via helper (dotnet/coreclr#13733)

* [RyuJIT/ARM32] Implement CreateDictionaryLookupHelper only via run-time helper

Implement CreateDictionaryLookupHelper only via run-time helper

* Add assertion for checking CORINFO_USEHELPER

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

7 years agoFix ARM32 secure delegate bug (dotnet/coreclr#13922)
Jan Vorlicek [Wed, 13 Sep 2017 00:30:55 +0000 (02:30 +0200)]
Fix ARM32 secure delegate bug (dotnet/coreclr#13922)

This change fixes a bug that causes crashes when secure delegate is
invoked on ARM32 with legacy codegen. Register R4 was loaded with
indirection slot address and immediatelly marked as trashed, so the JIT
compiler reused it before the call that was supposed to have that value
in R4.
The fix was to move the reg trashing after the call.
There was also an incorrect marking of that address as EA_PTRSIZE
while it should be EA_BYREF, so I've fixed that too.

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

7 years agoMake dangerous Span APIs less discoverable. (dotnet/coreclr#13927)
Ahson Ahmed Khan [Wed, 13 Sep 2017 00:29:14 +0000 (17:29 -0700)]
Make dangerous Span APIs less discoverable. (dotnet/coreclr#13927)

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

7 years agoRemove redundant zero-initialization of struct temps with GC fields. (dotnet/coreclr...
Eugene Rozenfeld [Wed, 13 Sep 2017 00:15:08 +0000 (17:15 -0700)]
Remove redundant  zero-initialization of struct temps with GC fields. (dotnet/coreclr#13868)

Remove redundant  zero-initialization of struct temps with GC fields.

Structs with GC pointer fields are fully zero-initialized in the prolog if compInitMem is true.
Therefore, we don't need to insert zero-initialization for the result of newobj or for inlinee locals
when they are structs with GC pointer fields and the basic bock is not in a loop.

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

7 years agoJIT: optimize case where box feeds GetType (dotnet/coreclr#13710)
Andy Ayers [Tue, 12 Sep 2017 22:02:54 +0000 (15:02 -0700)]
JIT: optimize case where box feeds GetType (dotnet/coreclr#13710)

If the only use of a box is in a call to Type:GetType, remove the box and
obtain the type directly. Get the handle needed for obtaining the type from
the newobj call in the original box, via a new box removal option.

Also add some logging to the type optimizations done in morph.

Closes dotnet/coreclr#13187.

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

7 years agoMerge pull request dotnet/coreclr#13819 from sdmaclea/PR-ARM64-MOD-AND-TRANSFORM
Jarret Shook [Tue, 12 Sep 2017 20:49:13 +0000 (13:49 -0700)]
Merge pull request dotnet/coreclr#13819 from sdmaclea/PR-ARM64-MOD-AND-TRANSFORM

[Arm64] Allow a%b to a&(b-1) transform

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

7 years agofix stack depth in DevDiv_278523 test source code(dotnet/coreclr#13912)
Sergey Andreenko [Tue, 12 Sep 2017 20:11:29 +0000 (13:11 -0700)]
fix stack depth in DevDiv_278523 test source code(dotnet/coreclr#13912)

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

7 years agoFix core dump generation on Centos. (dotnet/coreclr#13887)
Mike McLaughlin [Tue, 12 Sep 2017 19:41:14 +0000 (12:41 -0700)]
Fix core dump generation on Centos. (dotnet/coreclr#13887)

Fix core dump generation on Centos.

Issue dotnet/coreclr#13764

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

7 years agoMerge pull request dotnet/coreclr#13918 from adiaaida/unifyPerfConfigs
Michelle McDaniel [Tue, 12 Sep 2017 18:02:12 +0000 (11:02 -0700)]
Merge pull request dotnet/coreclr#13918 from adiaaida/unifyPerfConfigs

Add OptLevel and JitName configurations

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

7 years agoMerge pull request dotnet/coreclr#13715 from CarolEidt/LsraInfoInLsra
Carol Eidt [Tue, 12 Sep 2017 17:26:49 +0000 (10:26 -0700)]
Merge pull request dotnet/coreclr#13715 from CarolEidt/LsraInfoInLsra

Do TreeNodeInfoInit in buildIntervals

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

7 years agoAdd OptLevel and JitName configurations
Michelle McDaniel [Tue, 12 Sep 2017 16:56:30 +0000 (09:56 -0700)]
Add OptLevel and JitName configurations

To unify the configuration names in benchview, add OptLevel and JitName
configurations in run-xunit-perf.sh. This change does not add min_opts
to perf.groovy.

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

7 years agoMerge pull request dotnet/coreclr#13242 from ViktorHofer/BinarySerializationCleanup
Viktor Hofer [Tue, 12 Sep 2017 16:45:42 +0000 (18:45 +0200)]
Merge pull request dotnet/coreclr#13242 from ViktorHofer/BinarySerializationCleanup

Binary serialization unused methods and attributes cleanup and misc code cleanup

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

7 years agoFix formatting
Steve MacLean [Tue, 12 Sep 2017 15:54:11 +0000 (11:54 -0400)]
Fix formatting

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

7 years agonoway_assert to assert per review
Steve MacLean [Tue, 12 Sep 2017 15:44:47 +0000 (11:44 -0400)]
noway_assert to assert per review

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

7 years agoFix formatting
Steve MacLean [Tue, 12 Sep 2017 15:32:26 +0000 (11:32 -0400)]
Fix formatting

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

7 years agoSimplify divisorValue calculation
Steve MacLean [Tue, 12 Sep 2017 15:22:51 +0000 (11:22 -0400)]
Simplify divisorValue calculation

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

7 years agoAdd comments per review
Steve MacLean [Tue, 12 Sep 2017 15:15:26 +0000 (11:15 -0400)]
Add comments per review

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

7 years agoFixing archiving of Linux perf artifacts. (dotnet/coreclr#13911)
José Rivero [Tue, 12 Sep 2017 15:15:37 +0000 (08:15 -0700)]
Fixing archiving of Linux perf artifacts. (dotnet/coreclr#13911)

- Previous change did not fix archiving artifacts

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

7 years agoResourceSet
Viktor Hofer [Tue, 12 Sep 2017 09:09:40 +0000 (11:09 +0200)]
ResourceSet

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

7 years agoTextInfo
Viktor Hofer [Thu, 7 Sep 2017 19:21:45 +0000 (21:21 +0200)]
TextInfo

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

7 years agoReflection
Viktor Hofer [Thu, 7 Sep 2017 17:28:18 +0000 (19:28 +0200)]
Reflection

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

7 years agoIO
Viktor Hofer [Thu, 24 Aug 2017 16:29:57 +0000 (18:29 +0200)]
IO

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

7 years ago[GDBJIT] Specify C# language in DWARF debug information (dotnet/coreclr#13720)
Konstantin Baladurin [Tue, 12 Sep 2017 10:44:24 +0000 (13:44 +0300)]
[GDBJIT] Specify C# language in DWARF debug information (dotnet/coreclr#13720)

* [GDBJIT] Specify C# language in DWARF debug information

To correctly support C# language in lldb DWARF debug information
should contain correct information about language.

Now we use 0x9e57 constant for specify C# language.

* [GDBJIT] Introduce FEATURE_GDBJIT_LANGID_CS

If this feature is set gdbjit will use 0x9e57 as c# lang id,
otherwise it will use DW_LANG_C89.

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

7 years agoMerge pull request dotnet/coreclr#13907 from stephentoub/valuetask_astask_caching
Stephen Toub [Tue, 12 Sep 2017 06:49:53 +0000 (23:49 -0700)]
Merge pull request dotnet/coreclr#13907 from stephentoub/valuetask_astask_caching

Use AsyncTaskCache in ValueTask.AsTask()

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

7 years agoMerge changes from TFS (dotnet/coreclr#13884)
dotnet bot [Tue, 12 Sep 2017 02:54:33 +0000 (19:54 -0700)]
Merge changes from TFS (dotnet/coreclr#13884)

Add new GetMethodNameFromMetadata interface member to ILGEN.

Also fix warning in the build.

[tfs-changeset: 1673078]

[Hand edited to fix break in SPMI]

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

7 years agoImprove const return block placement
Joseph Tremoulet [Mon, 11 Sep 2017 18:56:16 +0000 (14:56 -0400)]
Improve const return block placement

Tweak a few things so that generated constant return blocks get laid out
more optimally:

 - Don't set BBF_DONT_REMOVE on them; it's ok to move them around, and
   if all references to them get dropped, it's fine to eliminate them.
 - Insert them immediately after their lexically-last predecessor when
   generating them; this increases the likelihood of using fallthrough
   rather than gotos to target them in the face of fgReorderBlocks'
   reticence to reorder code that we don't have IBC data for and that
   hasn't been marked rare.
 - Make fgReorderBlocks slightly more aggressive for a pattern that now
   shows up somewhat routinely for returning compound conditionals from
   predicate functions.

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

7 years agoUse AsyncTaskCache in ValueTask.AsTask()
Stephen Toub [Mon, 11 Sep 2017 21:40:57 +0000 (14:40 -0700)]
Use AsyncTaskCache in ValueTask.AsTask()

We can avoid task allocations for common values by using the same task cache that async methods do.  This is important to avoid allocations in certain cases when switching from Task-returning to ValueTask-returning methods.  If at some point we change Task.FromResult to use the same cache, this can be reverted.

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

7 years agoMerge pull request dotnet/coreclr#13875 from wtgodbe/RevertLabel
William Godbe [Mon, 11 Sep 2017 18:49:57 +0000 (11:49 -0700)]
Merge pull request dotnet/coreclr#13875 from wtgodbe/RevertLabel

Revert PreReleaseLabel to preview1

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

7 years agoJIT: optimize Enum.HasFlag (dotnet/coreclr#13748)
Andy Ayers [Mon, 11 Sep 2017 18:12:45 +0000 (11:12 -0700)]
JIT: optimize Enum.HasFlag (dotnet/coreclr#13748)

Check for calls to `Enum.HasFlag` using the new named intrinsic support
introduced in dotnet/coreclr#13815. Implement a simple recognizer for these named
intrinsics (currently just recognizing `Enum.HasFlag`).

When the call is recognized, optimize if both operands are boxes with
compatible types and both boxes can be removed. The optimization changes the
call to a simple and/compare tree on the underlying enum values.

To accomplish this, generalize the behavior of `gtTryRemoveBoxUpstreamEffects`
to add a "trial removal" mode and to optionally suppress narrowing of the
copy source.

Invoke the optimization during importation (which will catch most cases) and
again during morph (to get the post-inline cases).

Added test cases. Suprisingly there were almost no uses of HasFlag in the
current CoreCLR test suite.

Closes dotnet/coreclr#5626.

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

7 years ago[GDBJIT] Fix calculation of debuginfo's size. (dotnet/coreclr#13899)
Konstantin Baladurin [Mon, 11 Sep 2017 17:23:16 +0000 (20:23 +0300)]
[GDBJIT] Fix calculation of debuginfo's size. (dotnet/coreclr#13899)

Information about each type is dumped once but during debuginfo's
size calculation it was taken into account several time. Due to it
size of debuginfo section could be in several times bigger than
needed that in some cases leaded to OOM.

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

7 years agoMerge pull request dotnet/coreclr#13876 from eerhardt/UpdateBuildTools
Eric Erhardt [Mon, 11 Sep 2017 16:30:56 +0000 (11:30 -0500)]
Merge pull request dotnet/coreclr#13876 from eerhardt/UpdateBuildTools

Update BuildTools automatically when new versions are available.

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

7 years agoUbuntu runs are not archiving perf results because rsync does not create destination...
José Rivero [Mon, 11 Sep 2017 16:10:02 +0000 (09:10 -0700)]
Ubuntu runs are not archiving perf results because rsync does not create destination folder (dotnet/coreclr#13858)

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

7 years agoMerge branch 'master' into UpdateBuildTools
Eric Erhardt [Mon, 11 Sep 2017 14:52:39 +0000 (09:52 -0500)]
Merge branch 'master' into UpdateBuildTools

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

7 years agofixed minor typo (dotnet/coreclr#13898)
Alfred Myers [Mon, 11 Sep 2017 14:51:58 +0000 (11:51 -0300)]
fixed minor typo (dotnet/coreclr#13898)

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

7 years agoFix building of rootfs for Tizen armel (dotnet/coreclr#13854)
Konstantin Baladurin [Mon, 11 Sep 2017 14:48:01 +0000 (17:48 +0300)]
Fix building of rootfs for Tizen armel (dotnet/coreclr#13854)

Now there isn't arm buildtarget in tizen-base repository.
Use standard one to fetch packages for rootfs.

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

7 years agoMake order of elements consistent (dotnet/coreclr#13892)
Kevin Gosse [Mon, 11 Sep 2017 14:14:11 +0000 (16:14 +0200)]
Make order of elements consistent (dotnet/coreclr#13892)

When the cache is only partially populated, MemberInfoCache.Insert will
insert the new members into the cache. But then, it will return the
original list. In subsequent calls, it will return the cached list.
However, the order of elements can be different, which can cause issues
with methods that rely on the order of elements returned by
Type.GetFields (for instance, Attribute.GetHashCode)

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

7 years agoMerge pull request dotnet/coreclr#13894 from dotnet-maestro-bot/master-UpdateDependencies
Stephen Toub [Mon, 11 Sep 2017 14:09:31 +0000 (10:09 -0400)]
Merge pull request dotnet/coreclr#13894 from dotnet-maestro-bot/master-UpdateDependencies

Update PgoData to master-20170911-0041 (master)

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

7 years agoMerge branch 'master' into UpdateBuildTools
Eric Erhardt [Mon, 11 Sep 2017 14:02:42 +0000 (09:02 -0500)]
Merge branch 'master' into UpdateBuildTools

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

7 years agoUpdate PgoData to master-20170911-0041
dotnet-maestro-bot [Mon, 11 Sep 2017 07:57:00 +0000 (00:57 -0700)]
Update PgoData to master-20170911-0041

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

7 years agoMerge pull request dotnet/coreclr#13893 from dotnet-maestro-bot/master-UpdateDependencies
Stephen Toub [Mon, 11 Sep 2017 06:55:58 +0000 (02:55 -0400)]
Merge pull request dotnet/coreclr#13893 from dotnet-maestro-bot/master-UpdateDependencies

Update CoreClr to preview2-25711-01 (master)

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

7 years agoUpdate CoreClr to preview2-25711-01
dotnet-maestro-bot [Mon, 11 Sep 2017 00:15:37 +0000 (17:15 -0700)]
Update CoreClr to preview2-25711-01

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

7 years agoMerge branch 'master' into UpdateBuildTools
Eric Erhardt [Sun, 10 Sep 2017 20:36:19 +0000 (15:36 -0500)]
Merge branch 'master' into UpdateBuildTools

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

7 years agoMerge branch 'master' into UpdateBuildTools
Eric Erhardt [Sun, 10 Sep 2017 20:35:25 +0000 (15:35 -0500)]
Merge branch 'master' into UpdateBuildTools

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

7 years agoMerge pull request dotnet/coreclr#13847 from dotnet-maestro-bot/master-UpdateDependencies
Stephen Toub [Sun, 10 Sep 2017 13:20:14 +0000 (09:20 -0400)]
Merge pull request dotnet/coreclr#13847 from dotnet-maestro-bot/master-UpdateDependencies

Update CoreClr, PgoData to preview2-25709-04, master-20170910-0049, respectively (master)

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

7 years agoUpdate CoreClr, PgoData to preview2-25709-04, master-20170910-0049, respectively
dotnet-maestro-bot [Sun, 10 Sep 2017 08:06:00 +0000 (01:06 -0700)]
Update CoreClr, PgoData to preview2-25709-04, master-20170910-0049, respectively

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

7 years agoMerge pull request dotnet/coreclr#13849 from stephentoub/string_create
Stephen Toub [Sun, 10 Sep 2017 03:25:18 +0000 (23:25 -0400)]
Merge pull request dotnet/coreclr#13849 from stephentoub/string_create

Add String.Create span-based method

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

7 years agoMerge pull request dotnet/coreclr#13888 from jkotas/corelib-mirror
Jan Kotas [Sun, 10 Sep 2017 01:48:20 +0000 (18:48 -0700)]
Merge pull request dotnet/coreclr#13888 from jkotas/corelib-mirror

Mirror changes from dotnet/corert

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

7 years agoMerge pull request dotnet/coreclr#13886 from ahsonkhan/SpanReadOnlyStruct
Stephen Toub [Sat, 9 Sep 2017 23:44:19 +0000 (19:44 -0400)]
Merge pull request dotnet/coreclr#13886 from ahsonkhan/SpanReadOnlyStruct

Marking {ReadOnly}Span with IsReadOnly attribute

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

7 years agoFinish moving files to shared CoreLib partition
Jan Kotas [Sat, 9 Sep 2017 23:32:23 +0000 (16:32 -0700)]
Finish moving files to shared CoreLib partition

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

7 years agoMove PInvoke interop related attributes to shared CoreLib partition
Jan Kotas [Sat, 9 Sep 2017 22:51:05 +0000 (15:51 -0700)]
Move PInvoke interop related attributes to shared CoreLib partition

[tfs-changeset: 1673253]

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

7 years agoFinish moving files to shared partition
Jan Kotas [Sat, 9 Sep 2017 16:06:21 +0000 (09:06 -0700)]
Finish moving files to shared partition

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

7 years agoFix IntrinsicAttribute build break
Jan Kotas [Sat, 9 Sep 2017 11:57:48 +0000 (04:57 -0700)]
Fix IntrinsicAttribute build break

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

7 years agoMerge branch 'master' into UpdateBuildTools
Eric Erhardt [Sat, 9 Sep 2017 22:37:14 +0000 (17:37 -0500)]
Merge branch 'master' into UpdateBuildTools

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

7 years agoEnable auto-update for PGO data (dotnet/coreclr#13883)
Daniel Podder [Sat, 9 Sep 2017 19:33:18 +0000 (12:33 -0700)]
Enable auto-update for PGO data (dotnet/coreclr#13883)

Move PgoDataPackageVersion into dependencies.props, which enables auto-update functionality.
Also, update optdata version to 20170908-1805.

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

7 years agoCleanup Guid formatting (dotnet/coreclr#13885)
Jan Kotas [Sat, 9 Sep 2017 07:28:46 +0000 (00:28 -0700)]
Cleanup Guid formatting (dotnet/coreclr#13885)

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

7 years agoMarking {ReadOnly}Span with IsReadOnly attribute.
ahsonkhan [Sat, 9 Sep 2017 05:23:16 +0000 (22:23 -0700)]
Marking {ReadOnly}Span with IsReadOnly attribute.

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

7 years agoMerge pull request dotnet/coreclr#13842 from dotnet-bot/from-tfs
Pat Gavlin [Sat, 9 Sep 2017 04:18:07 +0000 (21:18 -0700)]
Merge pull request dotnet/coreclr#13842 from dotnet-bot/from-tfs

Merge changes from TFS

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

7 years agoMerge pull request dotnet/coreclr#13110 from pgavlin/SPMIJitOptions
Pat Gavlin [Sat, 9 Sep 2017 04:14:13 +0000 (21:14 -0700)]
Merge pull request dotnet/coreclr#13110 from pgavlin/SPMIJitOptions

Add the capability to specify JIT options on the SPMI command line.

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

7 years agoGuid span-based APIs (ctor, TryWriteBytes, TryFormat) (dotnet/coreclr#13323)
Stephanie Niu [Sat, 9 Sep 2017 02:58:35 +0000 (19:58 -0700)]
Guid span-based APIs (ctor, TryWriteBytes, TryFormat) (dotnet/coreclr#13323)

* standardized style changes

* 3 span-ified guid methods

throw null exception for readonlyspan ctor

full changes

* restructured trywritebytes

* changed writebytehelper from feedback

* changed casing of switch statement

* indentation

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

7 years agoMerge pull request dotnet/coreclr#13863 from pgavlin/DevDiv491211
Pat Gavlin [Sat, 9 Sep 2017 01:56:36 +0000 (18:56 -0700)]
Merge pull request dotnet/coreclr#13863 from pgavlin/DevDiv491211

Properly update GTF_{ASG,EXCEPT} in call morphing.

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

7 years ago[Arm64] Optimize System.Buffer:Memmove (dotnet/coreclr#13793)
Steve MacLean [Sat, 9 Sep 2017 01:41:42 +0000 (21:41 -0400)]
[Arm64] Optimize System.Buffer:Memmove (dotnet/coreclr#13793)

* [Arm64] Optimize System.Buffer:Memmove

Enable HAS_BLOCKS

Disable code to fall back to native memmove until memmove
optimizations are merged to OS mainline

* Add links to issues

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

7 years agoMove files to shared partition (dotnet/coreclr#13870)
Jan Kotas [Sat, 9 Sep 2017 01:16:01 +0000 (18:16 -0700)]
Move files to shared partition (dotnet/coreclr#13870)

Moved pseudo-custom attribute reflection helpers from attribute definitions to reflection to prepare attribute definitions to be moved to shared partition.

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

7 years agoPort some concurrent collection implementations with latest fixes from CoreFX into...
Koundinya Veluri [Sat, 9 Sep 2017 00:14:09 +0000 (17:14 -0700)]
Port some concurrent collection implementations with latest fixes from CoreFX into CoreCLR copies (dotnet/coreclr#12939)

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

7 years agoAdd a <clear /> to packageSources in src/NuGet.Config (dotnet/coreclr#13874)
Daniel Podder [Fri, 8 Sep 2017 23:55:04 +0000 (16:55 -0700)]
Add a <clear /> to packageSources in src/NuGet.Config (dotnet/coreclr#13874)

Fixes dotnet/coreclr#13873

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

7 years agoMerge pull request dotnet/coreclr#13845 from ViktorHofer/DBNull-Serialization
Viktor Hofer [Fri, 8 Sep 2017 22:10:51 +0000 (00:10 +0200)]
Merge pull request dotnet/coreclr#13845 from ViktorHofer/DBNull-Serialization

Make DBNull serializable

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

7 years agoNon-shared changes
Jan Kotas [Fri, 8 Sep 2017 04:33:15 +0000 (21:33 -0700)]
Non-shared changes

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

7 years agoDelete redundant PInvokes
Jan Kotas [Sun, 3 Sep 2017 16:57:12 +0000 (09:57 -0700)]
Delete redundant PInvokes

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

7 years agoMove HResults to shared partition
Jan Kotas [Sun, 3 Sep 2017 16:40:43 +0000 (09:40 -0700)]
Move HResults to shared partition

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

7 years agoFix CoreLib build warnings (dotnet/coreclr#13851)
Jan Kotas [Fri, 8 Sep 2017 22:04:56 +0000 (15:04 -0700)]
Fix CoreLib build warnings (dotnet/coreclr#13851)

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

7 years agoUpdate CLI version to match other dotnet repos and unblock new BuildTools
Eric Erhardt [Fri, 8 Sep 2017 22:02:55 +0000 (17:02 -0500)]
Update CLI version to match other dotnet repos and unblock new BuildTools

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