JDK-6568594 : SSE4.2 String intrinsics
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 7
  • Priority: P5
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_vista
  • CPU: x86
  • Submitted: 2007-06-12
  • Updated: 2011-02-16
  • Resolved: 2008-10-21
Related Reports
Duplicate :  
Description
A DESCRIPTION OF THE REQUEST :
Java SE doesn't seem to support the new SSE4 string instructions:

PCMPESTRI (SSE4.2) Packed Compare Explicit Length Strings, Return Index
PCMPESTRM (SSE4.2) Packed Compare Explicit Length Strings, Return Mask
PCMPISTRI (SSE4.2) Packed Compare Implicit Length Strings, Return Index
PCMPISTRM (SSE4.2) Packed Compare Implicit Length String, Return Mask


JUSTIFICATION :
The potential for higher performance in applications like:

XML Parsing applications like Web Services
Code highlighting/auto-completion in Java IDEs
Any applications that use String.indexOf(), String.substring(), regular expressions, String.equals(), and a host of other String methods.

The SSE4 string instructions can be set to 16-bit or 8-bit character sizes, so accelerating searches in byte arrays can be accomplished as well!

Because the amount and degree of applications that would benefit are so high, it seems a good idea to implement this for at least the C2 VM in time for jdk7.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Intrinsify certain String methods on SSE4 compatible CPUs...

Comments
EVALUATION New bug 6761600 was created with the implementation which uses new SSE4.2 instructions. I am closing this one.
21-10-2008