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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Viktor Hofer [Tue, 12 Sep 2017 09:09:40 +0000 (11:09 +0200)]
ResourceSet
Commit migrated from https://github.com/dotnet/coreclr/commit/
08e37bb669254df8667888ef5171603cdd1a6988
Viktor Hofer [Thu, 7 Sep 2017 19:21:45 +0000 (21:21 +0200)]
TextInfo
Commit migrated from https://github.com/dotnet/coreclr/commit/
1fffec5ee9fcb838c6b71ae8b755406e098c9671
Viktor Hofer [Thu, 7 Sep 2017 17:28:18 +0000 (19:28 +0200)]
Reflection
Commit migrated from https://github.com/dotnet/coreclr/commit/
e466788c35fcf8cbb3fca4320824ad83530b7927
Viktor Hofer [Thu, 24 Aug 2017 16:29:57 +0000 (18:29 +0200)]
IO
Commit migrated from https://github.com/dotnet/coreclr/commit/
435f5420e7df4f2ef77c9beca6bdafa5fc976d30
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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