Tanner Gooding [Wed, 4 Jul 2018 23:32:27 +0000 (16:32 -0700)]
Implementing the x86 TrailingZeroCount HWIntrinsic
Commit migrated from https://github.com/dotnet/coreclr/commit/
a58184ff85db3c60014dbc5d05831131c2355fb0
Tanner Gooding [Wed, 4 Jul 2018 14:55:28 +0000 (07:55 -0700)]
Renaming ScalarUnOpTest to ScalarSimdUnOpTest
Commit migrated from https://github.com/dotnet/coreclr/commit/
7bec88e95e9836e37cc62fb7797e2addf507fc23
Viktor Hofer [Mon, 9 Jul 2018 21:41:07 +0000 (23:41 +0200)]
Fix serialization type in NotFiniteNumberException (dotnet/coreclr#18833)
Commit migrated from https://github.com/dotnet/coreclr/commit/
fca544faf6e89b934ef7db71659968c459d0b5ed
Andon Andonov [Mon, 9 Jul 2018 17:45:24 +0000 (10:45 -0700)]
CoreFX CI Unix Staging commit (dotnet/coreclr#18750)
* Modify netci.groovy
* Add script exit codes
* Ad PR Triggers for Ubuntu and OSX10.12
* Remove release PR triggers
* Rename arch
Remove IsJitStressTestScenario assert
* Add correct asserts
* Reformat conditions and add triggers for Release/Checked/Debug
* Change %WORKSPACE% to \${WORKSPACE}
Commit migrated from https://github.com/dotnet/coreclr/commit/
7baedfdafb6979f48026ed7e01de4b6cc14b3bba
HumanEquivalentUnit [Mon, 9 Jul 2018 15:22:38 +0000 (16:22 +0100)]
Fix a comment in the string.ToLower() method (dotnet/coreclr#18832)
Line 307 is lowercasing the current character, but the comment says "store the current character, upper-cased", fixed comment to say "store the current character, lower-cased".
(Equivalent and correct "upper-cased" comment is on line 252)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4349690ec1c81a28c14ba2801240c94f3f79dec4
Jan Kotas [Mon, 9 Jul 2018 13:50:13 +0000 (06:50 -0700)]
Undo unnecessary BinaryReader::ReadOneChar/InternalReadOneChar split (dotnet/coreclr#18830)
This method had misleading comment that this split is required for performance. It was the case when
InternalReadOneChar was called from other places in CoreLib. These calls do not exist anymore.
Commit migrated from https://github.com/dotnet/coreclr/commit/
4aac6883e54d53b41567b6b999559901d7efd4ec
Anirudh Agnihotry [Mon, 9 Jul 2018 09:21:55 +0000 (02:21 -0700)]
Moved ManualResetEventSlim to shared (dotnet/coreclr#18799)
* Moved ManualResetEventSlim to shared
* covert System.int to System.Int32
Commit migrated from https://github.com/dotnet/coreclr/commit/
82828f73b8fb3dbfb578c7206606a465f2cfeeb1
Rich Lander [Sun, 8 Jul 2018 21:56:41 +0000 (14:56 -0700)]
Correct AssemblyLoadContext comment (dotnet/coreclr#18809)
Commit migrated from https://github.com/dotnet/coreclr/commit/
13a7e7044b475caac8219f9eb6d34f6fd892e970
Viktor Hofer [Sun, 8 Jul 2018 17:41:40 +0000 (19:41 +0200)]
LastIndexOf corner case fix when span is empty (dotnet/coreclr#18826)
Commit migrated from https://github.com/dotnet/coreclr/commit/
018dc20cc8f5815867c30b22a4973702ce4716c4
Viktor Hofer [Sun, 8 Jul 2018 13:41:26 +0000 (15:41 +0200)]
Fix Span LastIndexOf empty value handling
Commit migrated from https://github.com/dotnet/coreclr/commit/
3f4e0c7d2a281c2232fde6421b4a9fc18e889eac
Anirudh Agnihotry [Sat, 7 Jul 2018 01:47:46 +0000 (18:47 -0700)]
TargetFrameworkName property initialized (dotnet/coreclr#18814)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2dd9ba545f9bca84bae2d1181d6327f4e8d470a7
Stephen Toub [Fri, 6 Jul 2018 16:12:54 +0000 (12:12 -0400)]
Improve DateTime{Offset}.ParseExact performance for "O"/"o" roundtrip format (dotnet/coreclr#18800)
Ports the code used by Utf8Parser, modified to support things Utf8Parser doesn't but DateTime{Offset{.ParseExact do, such as single-digit offset hours.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e650d42d14f0b701fbbe7fb8f4eb05616c0cf53d
Bruce Forstall [Fri, 6 Jul 2018 16:00:49 +0000 (09:00 -0700)]
Merge pull request dotnet/coreclr#18795 from BruceForstall/RemoveArmemJobs
Remove Ubuntu/Ubuntu16.04 emulator CI jobs
Commit migrated from https://github.com/dotnet/coreclr/commit/
a0ad19ec7305542fd5d1cc63a3a5d791bde63ae8
nkaretnikov2 [Fri, 6 Jul 2018 12:54:28 +0000 (15:54 +0300)]
[ARM] Mention a clang-5.0 issue in the documentation (dotnet/coreclr#18803)
Commit migrated from https://github.com/dotnet/coreclr/commit/
777618952db7e68e6b8e867f087f62d24b1b6fe1
Brian Sullivan [Thu, 5 Jul 2018 23:03:18 +0000 (16:03 -0700)]
Merge pull request dotnet/coreclr#18775 from briansull/add-noway-assert
Add noway asserts in gtNewZeroConNode and gtNewOneConNode
Commit migrated from https://github.com/dotnet/coreclr/commit/
5922cd345fe5de97efaccf426381db4ac74bc53c
Bruce Forstall [Thu, 5 Jul 2018 22:07:14 +0000 (15:07 -0700)]
Remove Ubuntu/Ubuntu16.04 emulator CI jobs
Now that we have Ubuntu arm hardware in the lab, these are unnecessary.
The jobs have also been failing for months.
Commit migrated from https://github.com/dotnet/coreclr/commit/
591a710cf43f96346570c73745cf58dd739e3713
Aaron Robinson [Thu, 5 Jul 2018 21:29:27 +0000 (14:29 -0700)]
Update certain Marshal APIs to match exception thrown on .NET Framework (dotnet/coreclr#18791)
Update certain Marshal APIs to match exception thrown on Desktop
Commit migrated from https://github.com/dotnet/coreclr/commit/
c32eff71383529355f85c83c3caee1953501e2e1
Brian Sullivan [Wed, 20 Jun 2018 23:51:15 +0000 (16:51 -0700)]
Added noway asserts in gtNewZeroConNode and gtNewOneConNode
Added source code change that was needed to service 4.7.2 in fgMorphRecursiveFastTailCallIntoLoop
Set zero/one to null after noway_assert
Commit migrated from https://github.com/dotnet/coreclr/commit/
47c744ebc48cb6c0654f8c11a09870efe16984a3
Bruce Forstall [Thu, 5 Jul 2018 17:51:42 +0000 (10:51 -0700)]
Merge pull request dotnet/coreclr#18793 from BruceForstall/UpdateLibUnwindIssue
Update Linux ARM libunwind instructions
Commit migrated from https://github.com/dotnet/coreclr/commit/
d9d56cccf7b972ee3986e1b8e5113c41df4323de
Bruce Forstall [Thu, 5 Jul 2018 17:50:06 +0000 (10:50 -0700)]
Update Linux ARM libunwind instructions
Commit migrated from https://github.com/dotnet/coreclr/commit/
5c2fbeda7afd01613c193ac65ecbf7605b7a6462
Jarret Shook [Thu, 5 Jul 2018 16:46:51 +0000 (09:46 -0700)]
Enable genFnCalleeRegArgs for Arm64 Varargs (dotnet/coreclr#18714)
* Enable genFnCalleeRegArgs for Arm64 Varargs
Before the method would early out and incorrectly expect the usage
of all incoming arguments to be their homed stack slots. It is
instead possible for incoming arguments to be homed to different
integer registers.
The change will mangle the float types for vararg cases in the same
way that is done during lvaInitUserArgs and fgMorphArgs.
* Apply format patch
* Account for softfp case
* Address feedback
* Apply format patch
* Use standard function header for mangleVarArgsType
* Remove confusing comment
Commit migrated from https://github.com/dotnet/coreclr/commit/
b1bda1bbc9a5fe9954938b4b627660d3acbe7504
Jan Kotas [Thu, 5 Jul 2018 06:04:02 +0000 (08:04 +0200)]
Delete dead code (dotnet/coreclr#18783)
- Leftover from unobserved exception desktop quirk
- Unnecessary calls to AppDomain.IsFinalizingForUnload(). They were actually never required even with AppDomain support because of Environment.HasShutdownStarted returns true during AppDomain unload.
Commit migrated from https://github.com/dotnet/coreclr/commit/
cd1232d47cc028ebf6d22621ce63903a7e5c0e94
Stephen Toub [Thu, 5 Jul 2018 01:38:05 +0000 (21:38 -0400)]
Improve DateTime{Offset}.ParseExact{Multiple} performance for RFC1123 ("r") (dotnet/coreclr#18771)
* Improve DateTime{Offset}.ParseExact{Multiple} performance for RFC1123 ("r")
Significantly improves the performance by porting and adapting the Utf8Parser code from corefx. This optimizes for the (default) case of a DateTimeStyles.None; specifying any other style falls back to the normal parsing support, as that requires handling things such as arbitrary whitespace anywhere in the string.
* Address PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f9a37d04460559c3f91927f1297c8195411a0a3
Andy Ayers [Wed, 4 Jul 2018 20:33:36 +0000 (13:33 -0700)]
Re-enable jit regression test DevDiv_590771 (dotnet/coreclr#18724)
The issue the test was hitting was worked around in dotnet/coreclr#18292.
Fixes dotnet/coreclr#17967.
Also add GitHub_18522_8 to the arm/arm64 lists (from dotnet/coreclr#18708).
Commit migrated from https://github.com/dotnet/coreclr/commit/
2946fdf5c8d66b8fb9ce7c44cef86ba7f81c65db
Viktor Hofer [Wed, 4 Jul 2018 18:56:25 +0000 (20:56 +0200)]
Add LastIndexOf compareoptions overload (dotnet/coreclr#18652)
* Add LastIndexOf compareoptions overload
Commit migrated from https://github.com/dotnet/coreclr/commit/
4e645b1a24a9a6eeb5c9944ebbe1dd07ef6228e0
Tanner Gooding [Sun, 1 Jul 2018 15:06:46 +0000 (08:06 -0700)]
Adding tests for the byte overload of Ssse3.Shuffle
Commit migrated from https://github.com/dotnet/coreclr/commit/
8aee85b0313d51cb5b5faaa320ee24d22e515912
Tanner Gooding [Sun, 1 Jul 2018 15:01:49 +0000 (08:01 -0700)]
Adding support for the `byte` overload of `Ssse3.Shuffle`
Commit migrated from https://github.com/dotnet/coreclr/commit/
d78b519676b88b4e5ae54224f5efa6866d000624
Jan Kotas [Wed, 4 Jul 2018 09:19:38 +0000 (11:19 +0200)]
Remove mention of security transparency from message and comment (dotnet/coreclr#18776)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4da00cf6cbe7d013af525d4c526f00c2f8edc7fe
Andrew Au [Wed, 4 Jul 2018 06:12:54 +0000 (23:12 -0700)]
compGSReorderStackLayout is not supported when EnC is on (dotnet/coreclr#18713)
Commit migrated from https://github.com/dotnet/coreclr/commit/
2ce3f25984f5110b1821d895dc99119501e19f52
dotnet-maestro-bot [Wed, 4 Jul 2018 03:36:31 +0000 (20:36 -0700)]
Update CoreClr, CoreFx to preview1-26704-01, preview1-26704-01, respectively (dotnet/coreclr#18773)
Commit migrated from https://github.com/dotnet/coreclr/commit/
78cdaf104dc5e92640f82e26f4ccde009f71ee0e
Luqun Lou [Wed, 4 Jul 2018 01:30:33 +0000 (18:30 -0700)]
Delete InternalsVisibleTo attributes from S.P.CoreLib (dotnet/coreclr#18697)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c5dce0a3c0c5046aacde93c7ee2e35371d15ad6f
Bruce Forstall [Tue, 3 Jul 2018 22:53:28 +0000 (15:53 -0700)]
Merge pull request dotnet/coreclr#18504 from mikedn/comp-small
Make Compiler and CodeGen objects smaller
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d048c01f8eb4b7591f71556dff5cb4ae9a79d9a
Tomas Weinfurt [Tue, 3 Jul 2018 21:00:40 +0000 (14:00 -0700)]
add missing files to package properly on FreeBSD (dotnet/coreclr#18764)
Commit migrated from https://github.com/dotnet/coreclr/commit/
8d32f87b74b90f7da03574f3d44a370319886681
Carol Eidt [Tue, 3 Jul 2018 20:02:07 +0000 (13:02 -0700)]
Merge pull request dotnet/coreclr#18768 from CarolEidt/RemoveIsMultiReg
Remove Interval::isMultiReg
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc8ee8c84cf51a474fbfc164f7efe825a7a7aece
Carol Eidt [Tue, 3 Jul 2018 19:21:11 +0000 (12:21 -0700)]
Merge pull request dotnet/coreclr#18766 from CarolEidt/Fix18765
Build uses for atomic ops
Commit migrated from https://github.com/dotnet/coreclr/commit/
49e69bc67c26c2431653646af61d8bccb342a356
Bruce Forstall [Tue, 3 Jul 2018 17:27:00 +0000 (10:27 -0700)]
Merge pull request dotnet/coreclr#18716 from BruceForstall/RemoveTstJobsFromViews
Remove build-only and TST jobs from the Jenkins views
Commit migrated from https://github.com/dotnet/coreclr/commit/
13f2f8ce261db0771f6b602e90f0a408cdd33142
dotnet-maestro-bot [Tue, 3 Jul 2018 17:20:00 +0000 (10:20 -0700)]
Update CoreClr, PgoData to preview1-26703-04, master-
20180703-0030, respectively (dotnet/coreclr#18761)
Commit migrated from https://github.com/dotnet/coreclr/commit/
4a4cbc56e5d402e1a43a106c28aed2ec4a745e7b
Carol Eidt [Tue, 3 Jul 2018 16:46:04 +0000 (09:46 -0700)]
Remove Interval::isMultiReg
This is no longer used after dotnet/coreclr#16517
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d01d2d16f4a4c9592002d7c76c19f01f2529140
Carol Eidt [Tue, 3 Jul 2018 14:42:12 +0000 (07:42 -0700)]
Build uses for atomic ops
Fix dotnet/coreclr#18765
Commit migrated from https://github.com/dotnet/coreclr/commit/
f780ddabeb75b2416723bd96f38b361c682c3038
Egor Chesakov [Tue, 3 Jul 2018 02:37:15 +0000 (19:37 -0700)]
Use generic win-x86/win-x64 RIDs in stress_dependencies
Commit migrated from https://github.com/dotnet/coreclr/commit/
87120600c574caf37b4304c2d0725bd90856ab37
Marco Rossignoli [Tue, 3 Jul 2018 04:38:33 +0000 (06:38 +0200)]
Add back most CreateInstance APIs to AppDomain and Activator (dotnet/coreclr#18751)
* add ObjectHandle.cs
* add signature placeholder
* move CreateInstance from netfx
* move CreateInstanceFrom from netfx
* nit: visibility, text formatting
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7c50c5cd54b91c1f982fda8e5c8b21aead3f352
Andon Andonov [Tue, 3 Jul 2018 03:20:38 +0000 (20:20 -0700)]
Update CoreFX CI packages to NetcoreApp3 (dotnet/coreclr#18760)
* Update to FX CI packages to NetcoreApp3
* Add Extra Dependencies
* Enable all tests fixed by change
Commit migrated from https://github.com/dotnet/coreclr/commit/
f32c75e697e77340d581d577789cc530993abbc4
Tanner Gooding [Sat, 30 Jun 2018 05:21:22 +0000 (22:21 -0700)]
Updating SSE_StaticCast and AVX_StaticCast to set the correct type on the returned node.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e3292deddb16defb8d431ec456cf351dd95102c1
Tanner Gooding [Sun, 17 Jun 2018 15:58:20 +0000 (08:58 -0700)]
Fold away Sse.StaticCast and Avx.StaticCast in the importer
Commit migrated from https://github.com/dotnet/coreclr/commit/
94edffc61a1cd7bf61fad5a4910d7cfb786b6f24
Tanner Gooding [Sun, 17 Jun 2018 15:57:51 +0000 (08:57 -0700)]
Adding an Avx.StaticCast test (modified from the Sse.StaticCast test)
Commit migrated from https://github.com/dotnet/coreclr/commit/
bb027de97b1a17b24a599623779aacd7dd7054f3
Sergey Andreenko [Tue, 3 Jul 2018 00:32:59 +0000 (17:32 -0700)]
SuperPMI: add ability to exclude failing method contexts from replays (dotnet/coreclr#18721)
* format spmi
* rename mchFile to mchFileName
* refactor ProcessChildStdOut
* add a stub to exclude methods
Commit migrated from https://github.com/dotnet/coreclr/commit/
15a6beb33de6f243d59f6b61ec90cfcb336f45af
Aaron Robinson [Mon, 2 Jul 2018 23:21:59 +0000 (16:21 -0700)]
Set the activation context for the CoreRun application to what is defined (dotnet/coreclr#18728)
in the target managed assembly. This allows RegFree COM scenarios and ensures
the intended app manifest is used for the 'exe' scenario.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7222c56c42be22ecb0b61ce2d49e3e916ecdadb6
Andrew Au [Mon, 2 Jul 2018 22:39:03 +0000 (15:39 -0700)]
Debug registers cannot be copied in user mode (dotnet/coreclr#18730)
Commit migrated from https://github.com/dotnet/coreclr/commit/
5f306d6823b85ea65e1e955a490853f68dcca2a3
Brian Robbins [Mon, 2 Jul 2018 22:08:32 +0000 (15:08 -0700)]
Dispatch Runtime Events to EventListener (dotnet/coreclr#18649)
Commit migrated from https://github.com/dotnet/coreclr/commit/
b3b9d08529baaa7afdc38b3ede5dde1e456360b2
dotnet-maestro-bot [Mon, 2 Jul 2018 21:02:48 +0000 (14:02 -0700)]
Update BuildTools, CoreClr, PgoData to preview1-03002-01, preview1-26702-04, master-
20180702-0047, respectively (dotnet/coreclr#18731)
Commit migrated from https://github.com/dotnet/coreclr/commit/
834799c12ec0d459638d694b08bf536adee070b5
Andon Andonov [Mon, 2 Jul 2018 20:54:58 +0000 (13:54 -0700)]
Move RuntimeIDArg initialization (dotnet/coreclr#18747)
Commit migrated from https://github.com/dotnet/coreclr/commit/
a2d490dc5e23c69fae7bc3157b6e443587403548
Tanner Gooding [Sat, 30 Jun 2018 21:58:14 +0000 (14:58 -0700)]
Fixing up the Sse41.Insert float HWIntrinsics
Commit migrated from https://github.com/dotnet/coreclr/commit/
a7167ddd15ded348137712705b4fab5852ca57db
Sergey Andreenko [Mon, 2 Jul 2018 17:21:36 +0000 (10:21 -0700)]
reenable fixed arm64 altjit tests (dotnet/coreclr#18722)
Commit migrated from https://github.com/dotnet/coreclr/commit/
e65d730368c3df9d099781153630f5c2c890bbb7
Atsushi Kanamori [Mon, 2 Jul 2018 17:11:33 +0000 (10:11 -0700)]
Add back DefinePInvokeMethod (dotnet/coreclr#18742)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad834bb427539c489ff354fa8f1ba5eb5981da41
Tanner Gooding [Sat, 30 Jun 2018 19:12:32 +0000 (12:12 -0700)]
Adding back the tests for Avx.MaskLoad
Commit migrated from https://github.com/dotnet/coreclr/commit/
e524fbe359fe181259545611b883ee888d140b8f
Tanner Gooding [Sat, 30 Jun 2018 19:10:40 +0000 (12:10 -0700)]
Updating the Avx.Extract/Insert methods to throw PNSE when IsSupported is false
a
Commit migrated from https://github.com/dotnet/coreclr/commit/
50b2ac829a6d16cca84858ddae25de71b8d04708
Tanner Gooding [Sat, 30 Jun 2018 18:28:47 +0000 (11:28 -0700)]
Removing unnecessary `try/catch` blocks from the ExtractScalar and InsertScalar HWIntrinsic test templates
Commit migrated from https://github.com/dotnet/coreclr/commit/
1613245a1e5d844825ed67dc73698ffe2e3129fa
dotnet-maestro-bot [Mon, 2 Jul 2018 09:32:47 +0000 (02:32 -0700)]
Tabs vs. spaces (dotnet/coreclr#18740)
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
1310065f3726f5fe119b7a2f660a77f01104a1ef
Andy Ayers [Sun, 1 Jul 2018 22:43:16 +0000 (15:43 -0700)]
Fix some build breaks seen with the older VS we use to build with on desktop. (dotnet/coreclr#18736)
Commit migrated from https://github.com/dotnet/coreclr/commit/
c80466d4caf2c2f411a2311fd3f45594812d1e0f
Jan Kotas [Sun, 1 Jul 2018 13:02:04 +0000 (06:02 -0700)]
Fix recursive inlining of PInvoke stubs (dotnet/coreclr#18737)
PInvoke stubs can be inlined into a regular methods in CoreRT. PInvoke transition
has to be inlined as well when that happens. Otherwise, there is a risk of recursive
inlining in corner cases.
Commit migrated from https://github.com/dotnet/coreclr/commit/
55023b7c1007c528b0147fe839cea5ac4a100e2f
Mike Danes [Sat, 30 Jun 2018 19:45:01 +0000 (22:45 +0300)]
Replace compGetMemArray uses
Commit migrated from https://github.com/dotnet/coreclr/commit/
10729e1a8a65bf3669049bca234187cbaf1a2e70
Mike Danes [Thu, 21 Jun 2018 18:36:47 +0000 (21:36 +0300)]
Fix incorrect lvaTrackedToVarNum memset size
Commit migrated from https://github.com/dotnet/coreclr/commit/
40fdb3e34d4b304f6a4184fd18159deff303878a
Mike Danes [Mon, 18 Jun 2018 18:19:08 +0000 (21:19 +0300)]
Handle the missing cache case in gtGetStructHandleForSIMD
Commit migrated from https://github.com/dotnet/coreclr/commit/
45c04164112cccfdde71dcd79dd769013547dcaa
Mike Danes [Sat, 16 Jun 2018 15:56:36 +0000 (18:56 +0300)]
Allocate space for siLatestTrackedScopes on demand
By the time siLatestTrackedScopes is needed the number of tracked variables is known so we can allocate an array of suitable size. Defaulting to lclMAX_TRACKED requires 4 kbytes and for many small methods that's a waste.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2e0cc331a72b2473317f9652646bcc6796ece449
Mike Danes [Sat, 16 Jun 2018 20:07:49 +0000 (23:07 +0300)]
Remove Compiler::impSmallStack
Memory allocation via ArenaAllocator is cheap so it's not worth having this inline array that ends up wasting 384 bytes when a larger stack is needed.
Care needs to be taken when inlining to avoid allocating a new stack every time - just steal the stack of the inliner compiler (after ensuring that it is large enough).
Commit migrated from https://github.com/dotnet/coreclr/commit/
f26852e51fc4954a07296cb7b9d0206dca10f8a2
Mike Danes [Sat, 16 Jun 2018 19:21:40 +0000 (22:21 +0300)]
Cleanup hashBvGlobalData
Each compiler object contains a hashBvGlobalData that's 80 bytes in size. Only 16 bytes are actually used - the hash and node free lists.
* hbvFreeVectorList is supposed to be used by hashBv::freeVector but nothing calls that and getNewVector does not attempt to use the free list
* hbvHashSizeLog2 is always 0
* hashBvNextIterator is used only in HbvNext and that function is never used
Commit migrated from https://github.com/dotnet/coreclr/commit/
235bc725acdf8a66b19f1c51cfe83f573562f80d
Mike Danes [Sat, 16 Jun 2018 17:04:09 +0000 (20:04 +0300)]
Remove unused Compiler members
Commit migrated from https://github.com/dotnet/coreclr/commit/
c991031d4cfb8c82bd0d9c736e584e1c8c329d4b
Mike Danes [Sat, 16 Jun 2018 14:43:15 +0000 (17:43 +0300)]
Move SIMD/Intrinsic handles out of Compiler
These handles require ~256 bytes and are only needed if the method uses SIMD/intrinsics. Also, the inlinee compiler can/should reuse them to avoid redundant name lookups.
Commit migrated from https://github.com/dotnet/coreclr/commit/
95770ac26b3a37dcefc1a1cd4b74884642a64783
Mike Danes [Sat, 16 Jun 2018 13:45:02 +0000 (16:45 +0300)]
Move temp info from Compiler to RegSet
Temporaries are only used during register allocation and code generation. They waste space (136 bytes) in the compiler object during inlining.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9ca3690ab2f7828cc46c84a8a55de04d3d9667aa
Mike Danes [Sat, 16 Jun 2018 12:53:38 +0000 (15:53 +0300)]
Allocate space for lvaTrackedToVarNum on demand
Compiler::lvaTrackedToVarNum requires 2 kbytes and it's not used when the compiler object is used for inlining.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e39f1d837342c41ddc34a49de2dbcf8f5b664ad9
Mike Danes [Sat, 16 Jun 2018 11:38:36 +0000 (14:38 +0300)]
Allocate space for the loop table on demand
Compiler::optLoopTable requires 2.5kbytes (the entire Compiler object is around 7.5kbytes) and it's not used when the method does not contain loops, when optimizations are disabled or when the compiler is used for inlining.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f75834126bde4e6dbd7f720ed6d94fef18150fa0
mikedn [Sat, 30 Jun 2018 17:05:30 +0000 (20:05 +0300)]
Pass CompAllocator by value (dotnet/coreclr#15025)
Passing CompAllocator objects by value is advantageous because it no longer needs to be dynamically allocated and cached. CompAllocator instances can now be freely created, copied and stored, which makes adding new CompMemKind values easier.
Together with other cleanup this also improves memory allocation performance by removing some extra levels of indirection that were previously required - jitstd::allocator had a pointer to CompAllocator, CompAllocator had a pointer to Compiler and Compiler finally had a pointer to ArenaAllocator. Without MEASURE_MEM_ALLOC enabled, both jitstd::allocator and CompAllocator now just contain a pointer to ArenaAllocator. When MEASURE_MEM_ALLOC is enabled CompAllocator also contains a pointer but to a MemStatsAllocator object that holds the relevant memory kind. This way CompAllocator is always pointer sized so that enabling MEASURE_MEM_ALLOC does not result in increased memory usage due to objects that store a CompAllocator instance.
In order to implement this, 2 additional signficant changes have been made:
* MemStats has been moved to ArenaAllocator, it's after all the allocator's job to maintain statistics. This also fixes some issues related to memory statistics, such as not tracking the memory allocated by the inlinee compiler (since that one used its own MemStats instance).
* Extract the arena page pooling logic out of the allocator. It doesn't make sense to pool an allocator, it has very little state that can actually be reused and everyting else (including MemStats) needs to be reset on reuse. What really needs to be pooled is just a page of memory.
Since this was touching allocation code the opportunity has been used to perform additional cleanup:
* Remove unnecessary LSRA ListElementAllocator
* Remove compGetMem and compGetMemArray
* Make CompAllocator and HostAllocator more like the std allocator
* Update HashTable to use CompAllocator
* Update ArrayStack to use CompAllocator
* Move CompAllocator & friends to alloc.h
Commit migrated from https://github.com/dotnet/coreclr/commit/
c2baf04cd2c2211334949ba12df2e49fd9109728
dotnet-maestro-bot [Sat, 30 Jun 2018 11:53:40 +0000 (04:53 -0700)]
Update CoreClr, PgoData to preview1-26630-01, master-
20180630-0049, respectively (dotnet/coreclr#18729)
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f98cc53e8530787e363c038be3993f3231e2708
Jan Kotas [Sat, 30 Jun 2018 03:43:08 +0000 (20:43 -0700)]
Fix build breaks with older MSVC compiler (dotnet/coreclr#18725)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7ec464269fe29790cc940aa3958c9ca21496610c
Tanner Gooding [Sat, 30 Jun 2018 02:19:31 +0000 (19:19 -0700)]
Fixing some Bmi1 HWIntrinsic method names (dotnet/coreclr#18718)
Commit migrated from https://github.com/dotnet/coreclr/commit/
20c38eda89d97756d7e99b00e8ce6569ac554b24
Viktor Hofer [Fri, 29 Jun 2018 15:47:53 +0000 (17:47 +0200)]
Regex: reduce allocation slightly, add tests, code cleanup, add parser comments (dotnet/coreclr#30632)
* RegexParser & optionsstack ref
* Add test coverage for Group.Synchronized
* Adjust options mode test case
* Add inline comment '#' test branch
* Add comments
* Replace manual ToLower calls by Span.ToLower
* Make applicable fields readonly in parser
* Change to Assert to reduce an if check in one branch
* Code formatting
* Avoid string allocation when IgnoreCase set
Prefix patterns which are passed to RegexBoyerMoore are already
lowercased by the parser. Remove the redundant ToLower() call and assert
the patterns lowercase state
* Add surrogate pair positive & negative tests
* Add test cases for rtl anchor
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
dbaf2957387c5290a680c8918779683194137b1d
Bruce Forstall [Fri, 29 Jun 2018 21:49:09 +0000 (14:49 -0700)]
Merge pull request dotnet/coreclr#18715 from BruceForstall/FixSignedComparison
Fix issue with signed/unsigned comparison
Commit migrated from https://github.com/dotnet/coreclr/commit/
c7bfd35ab09306885ae74c760ac69ec42be42557
Sergey Andreenko [Fri, 29 Jun 2018 20:38:44 +0000 (13:38 -0700)]
optimize fgMorphTree for GenTreeArgList (dotnet/coreclr#18582)
* add fgMorphArgList
* hide the call inside fgMorphSmpOp
* fix grammar mistakes
Commit migrated from https://github.com/dotnet/coreclr/commit/
f3da13e0661a95cc7a7c148e816af7040f98c748
Bruce Forstall [Fri, 29 Jun 2018 19:28:29 +0000 (12:28 -0700)]
Remove build-only and TST jobs from the Jenkins views
We only want non-PR, "top-level" jobs in the views. Build-only
and TST jobs are always "child" jobs of other flow jobs, which
will be in the views.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7b35c6e0663ca122a9359a8f01f0b6bf74a6185e
Bruce Forstall [Fri, 29 Jun 2018 19:05:59 +0000 (12:05 -0700)]
Fix issue with signed/unsigned comparison
On Mac (maybe on other platforms using clang?) the following set of
comparisons in the emitter were done as unsigned:
```
(val >= 0xFFFFFFFF80000000LL)
```
even though 'val' is signed. This led to assertion failures. On Windows,
the comparisons were signed.
To fix this, cast the constant to the signed `ssize_t` type (to match `val`).
Fixes dotnet/coreclr#18341
Commit migrated from https://github.com/dotnet/coreclr/commit/
d6f814d384d48f97944af97559fadfcf634744bf
Bruce Forstall [Fri, 29 Jun 2018 18:44:40 +0000 (11:44 -0700)]
Merge pull request dotnet/coreclr#18693 from BruceForstall/FixLinuxX64FlowJobs
Stop creating Linux/x64 corefx flow jobs
Commit migrated from https://github.com/dotnet/coreclr/commit/
f2eb9305888429cb96ce858311d7c4fced12dad7
Luqun Lou [Fri, 29 Jun 2018 17:59:07 +0000 (10:59 -0700)]
Change CancellationTokenRegistration.Unregister visibility from internal to public (dotnet/coreclr#18698)
Commit migrated from https://github.com/dotnet/coreclr/commit/
ef85b4e560bd2d10ea342ca86a5947e0e0284fcc
Phil Garcia [Fri, 29 Jun 2018 17:33:35 +0000 (10:33 -0700)]
Corrected a few typos in the documentation and comments (dotnet/coreclr#18706)
* Corrected a few typos in the documentation and comments
* Corrected a few typos in the documentation and comments
* Corrected a few typos in the documentation and comments
* Corrected a few typos in the documentation and comments
* Corrected a few typos in the documentation and comments
* Corrected a few typos in the documentation and comments
Commit migrated from https://github.com/dotnet/coreclr/commit/
d6950568c83269002a41f204400dcb82ced96e14
Stephen Toub [Fri, 29 Jun 2018 17:31:51 +0000 (13:31 -0400)]
Improve bool.TryFormat perf (dotnet/coreclr#18711)
* Improve bool.TryFormat perf
Improves throughput by ~50%, by avoiding AsSpan().CopyTo and just writing out the characters one-by-one. I experimented with playing the same tricks around storing the data in a ulong and blitting it out to the destination reinterpreted as a span of ulongs, but it didn't make a measurable improvement and increased the code complexity.
* Update Boolean.cs
Commit migrated from https://github.com/dotnet/coreclr/commit/
c209f0bf2b0eb5bc6e0a35253457e2f9919f28dc
Carol Eidt [Fri, 29 Jun 2018 16:41:16 +0000 (09:41 -0700)]
Merge pull request dotnet/coreclr#18696 from CarolEidt/Fix18362
Fix & test for dotnet/coreclr#18362
Commit migrated from https://github.com/dotnet/coreclr/commit/
13e760637a4162f825cad6ba6cc27706cb96feef
Andy Ayers [Fri, 29 Jun 2018 16:32:44 +0000 (09:32 -0700)]
JIT: fix regression when returning struct with no fields on SysV (dotnet/coreclr#18708)
The runtime classifies such structs as being returned by reference, so we
need to follow suit in the jit. If the classifier says the value can't be
returned in a register, then so be it.
Add a test case.
Commit migrated from https://github.com/dotnet/coreclr/commit/
65d31999eb89e11a74fe8cbf25982a3ed33a564f
Luqun Lou [Fri, 29 Jun 2018 16:24:45 +0000 (09:24 -0700)]
Add public implementation CultureDataSupport (dotnet/coreclr#18691)
Commit migrated from https://github.com/dotnet/coreclr/commit/
7acc7194a25cd3965c310cc94479f09f7f80714c
dotnet-maestro-bot [Fri, 29 Jun 2018 15:15:05 +0000 (08:15 -0700)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-02929-01, preview1-26629-04, preview1-26628-03, master-
20180629-0054, respectively (dotnet/coreclr#18694)
Commit migrated from https://github.com/dotnet/coreclr/commit/
d96ac2c71dd311733081ffacfeda7315a40eac25
Gleb Balykov [Fri, 29 Jun 2018 14:25:17 +0000 (17:25 +0300)]
Remove relocations for vtable chunks (dotnet/coreclr#17147)
* Separate sections READONLY_VCHUNKS and READONLY_DICTIONARY
* Remove relocations for second-level indirection of Vtable in case FEATURE_NGEN_RELOCS_OPTIMIZATIONS is enabled.
Introduce FEATURE_NGEN_RELOCS_OPTIMIZATIONS, under which NGEN specific relocations optimizations are enabled
* Replace push/pop of R11 in stubs with
- str/ldr of R4 in space reserved in epilog for non-tail calls
- usage of R4 with hybrid-tail calls (same as for EmitShuffleThunk)
* Replace push/pop of R11 for function epilog with usage of LR as helper register right before its restore from stack
Commit migrated from https://github.com/dotnet/coreclr/commit/
61146b5c5851698e113e936d4e4b51b628095f27
Carol Eidt [Thu, 28 Jun 2018 23:38:37 +0000 (16:38 -0700)]
LSRA: fix multi-reg ops under FIELD_LIST
Need to build a use for each reg.
Also, dump the defList if it's not empty at end of block.
Commit migrated from https://github.com/dotnet/coreclr/commit/
965c96e5971e47a256bbd57ad27b75e6d71843cf
Carol Eidt [Thu, 28 Jun 2018 23:10:55 +0000 (16:10 -0700)]
Add test for dotnet/coreclr#18362
Also add to the arm & arm64 tests.lst
Commit migrated from https://github.com/dotnet/coreclr/commit/
b9db2cfc342593ef37c9c17d427bd9df86f686f3
Bruce Forstall [Thu, 28 Jun 2018 21:47:35 +0000 (14:47 -0700)]
Stop creating Linux/x64 corefx flow jobs
Commit migrated from https://github.com/dotnet/coreclr/commit/
f71044ada28202c9524bfbd75330931f6d8830c5
Bruce Forstall [Thu, 28 Jun 2018 19:20:31 +0000 (12:20 -0700)]
Merge pull request dotnet/coreclr#18689 from BruceForstall/UpdateArmBuildDocumentation
Update ARM/Linux build directions
Commit migrated from https://github.com/dotnet/coreclr/commit/
1ad9c94ef5e541e9c8ac29606515d6f54e0e445c
Eden [Thu, 28 Jun 2018 19:08:41 +0000 (04:08 +0900)]
Update Tizen CI docker image (dotnet/coreclr#18567)
* Update Tizen rootfs generation scripts for Tizen 5.0 M1
* Update Tizen CI docker image
* Update Tizen CI RID
Commit migrated from https://github.com/dotnet/coreclr/commit/
96a47e0f4a48ef3c5c59ec40f69c4923a6699e56
Bruce Forstall [Thu, 28 Jun 2018 18:35:21 +0000 (11:35 -0700)]
Update ARM/Linux build directions
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d13196f03eda0afd556245f53c4bffcf2626785
dotnet-maestro-bot [Thu, 28 Jun 2018 15:33:28 +0000 (08:33 -0700)]
Update BuildTools, CoreClr, CoreFx, PgoData to preview1-02928-01, preview1-26627-04, preview1-26627-04, master-
20180627-0051, respectively (master) (dotnet/coreclr#18588)
* Update BuildTools, CoreClr, CoreFx, PgoData to preview1-02928-01, preview1-26627-04, preview1-26627-04, master-
20180627-0051, respectively
* Rename netcoreapp2.2 => netcoreapp3.0
* Disable test for CoreFX update
Commit migrated from https://github.com/dotnet/coreclr/commit/
e0e2859acf5f198d6946f881fcda1419c5d3d001
Stephen Toub [Thu, 28 Jun 2018 14:26:21 +0000 (10:26 -0400)]
Avoid capturing ExecutionContext into CancellationTokenSource's Timer (dotnet/coreclr#18670)
* Avoid capturing ExecutionContext into CancellationTokenSource's Timer
It's not needed, and it can keep unrelated state alive unnecessarily
* Address PR feedback
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d72463b1107cc6f264fcbdc06e3c4df0d9ed668
Jan Vorlicek [Thu, 28 Jun 2018 11:47:34 +0000 (13:47 +0200)]
Fix alternate stack cleanup on MUSL (dotnet/coreclr#18685)
The MUSL implementation of sigaltstack checks that the ss.ss_size is
larger or equal than the MINSIGSTKSZ even when the ss_flags is set
to SS_DISABLE even though Linux man page for sigaltstack states that
when this flag is set, all other ss fields are ignored.
We were not setting the ss_size in this case and it was causing a memory
leak for each thread that has terminated on MUSL based Linux distros
like Alpine.
Glibc implementation doesn't check the ss_size when the SS_DISABLE is set
so the problem was really MUSL specific.
Commit migrated from https://github.com/dotnet/coreclr/commit/
83bdd210b40dac4d42ca8775bfe63d935ab9af2c
John Doe [Thu, 28 Jun 2018 11:47:06 +0000 (04:47 -0700)]
Typo (dotnet/coreclr#18684)
* approrpriate -> appropriate
* allignment -> alignment
* aquire -> acquire
* aquisition -> acquisition
* arbitraty -> arbitrary
* arcance -> arcane
* archetecture -> architecture
* Archicture -> Architecture
* architecures -> architectures
* argmuent -> argument
Commit migrated from https://github.com/dotnet/coreclr/commit/
1a34c72e9e719c9d3879c2a519bf70a05f42869c
John Doe [Thu, 28 Jun 2018 10:03:49 +0000 (03:03 -0700)]
Typo (dotnet/corertdotnet/coreclr#6029)
* aggresively -> aggressively
* algortithm -> algorithm
* anindex -> an index
* antecendent -> antecedent
* barnching -> branching
* becauase -> because
* behaivor -> behavior
* Boolen -> Boolean
* Browing -> Browsing
* calander -> calendar
Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
Commit migrated from https://github.com/dotnet/coreclr/commit/
127a888c33eedefe42d2d01cab4cfaaa3b48f9b0