summaryrefslogtreecommitdiff
path: root/disassembler/disassembler_x86.cc
diff options
context:
space:
mode:
authorAgi Csaki <agicsaki@google.com>2015-08-13 17:51:19 -0700
committerAgi Csaki <agicsaki@google.com>2015-08-13 17:51:19 -0700
commitea34b40783064ef73fb555a9cfd04c35cff624d8 (patch)
tree0e737478beda7e0e4063a49738328a0bdfcb4e12 /disassembler/disassembler_x86.cc
parent837b64974977f615dd1f0662857b97536acdb4dd (diff)
Optimizing String.Equals as an intrinsic (ARM64)
The fifth implementation of String.Equals. I added an intrinsic in ARM64 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 four characters at a time starting at the beginning of the string. Interesting Benchmarking Values: 64 Bit Nexus 9: Intrinsic Short (1-5 Character) Strings: 40 ns Original Short (1-5 Character) Strings: 80 ns Intrinsic Very Long (1000+ Character) Strings: 1556 ns Original Very Long (1000+ Character) Strings: 4554 ns Intrinsic Non-String Argument: 15 ns Original Non-String Argument: 62 ns Bug: 21481923 Change-Id: If37b399614c2250f52ac709a3b50c356419ca88a
Diffstat (limited to 'disassembler/disassembler_x86.cc')
0 files changed, 0 insertions, 0 deletions