JDK-8138702 : StringUTF16.(get|set)Char intrinsic should use scaled operand
  • Type: Sub-task
  • Component: hotspot
  • Sub-Component: compiler
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2015-10-01
  • Updated: 2015-10-07
  • Resolved: 2015-10-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9Fixed
Description
-XX:+StringCharIntrinsics does:

  0x00007f7cd51ab90d: shl    %edx
  0x00007f7cd51ab90f: movzwl 0x10(%r10,%rdx,1),%eax 

-XX:-StringCharIntrinsics does:

; <lots on Unsafe garbage before>
0x00007f3a5cf8fa13: movzwl 0x10(%r10,%r11,2),%eax  

The intrinsic could use a complex operand with scale=2.
Comments
Pushed last week: http://hg.openjdk.java.net/jdk9/sandbox/hotspot/rev/25d7fc093b0a
07-10-2015

Webrev: http://cr.openjdk.java.net/~shade/8138702/webrev.00/
01-10-2015