Remove AggressiveOptimization flag from System.Text (#25356)
authorMichal Strehovský <MichalStrehovsky@users.noreply.github.com>
Mon, 24 Jun 2019 19:17:01 +0000 (21:17 +0200)
committerJan Kotas <jkotas@microsoft.com>
Mon, 24 Jun 2019 19:17:01 +0000 (12:17 -0700)
commit6e99e18baf5ebcd41056adee76a059477794b644
tree350acfb66883e74c37481e8a77ede7179d1c8e33
parentbad8d915c267057bf74cb819c9e027d68cd1fa35
Remove AggressiveOptimization flag from System.Text (#25356)

Based on conversation with Levi, I don't think this flag is needed.

The flag currently controls two things:
* Disqualifies the method from precompilation
* Disables Tier-0 JIT for the method

Removing the attribute allows us to precompile some of the methods (not all, because of `Vector<T>`). It measurably helps improve startup time because many of the attributed methods are complex and take a while to compile.

Once tier-1 JIT kicks in, the generated code should be identical to what we were getting before.
src/System.Private.CoreLib/shared/System/Text/ASCIIUtility.cs
src/System.Private.CoreLib/shared/System/Text/Unicode/Utf8Utility.Helpers.cs
src/System.Private.CoreLib/shared/System/Text/Unicode/Utf8Utility.Transcoding.cs