Revert "Revert "Optimizing String.Equals as an intrinsic (x86)""

This reverts commit aabdf8ad2e8d3de953d.
The third implementation of String.Equals. I added an intrinsic
in x86 which is similar to the original java implementation of
String.equals: an instanceof check, null check, length check, and
reference equality check followed by a loop comparing strings
character by character.

Interesting Benchmarking Values:

Optimizing Compiler on Nexus Player
        Intrinsic 15-30 Character Strings: 177 ns
        Original 15-30 Character Strings: 275 ns
        Intrinsic Null Argument: 59 ns
        Original Null Argument: 137 ns
        Intrinsic 100-1000 Character Strings: 1812 ns
        Original 100-1000 Character Strings: 6334 ns

Bug: 21481923
Change-Id: I93fa603c4bd22639143d29d0bfc7e773846f21d3
1 file changed