<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <small><small><font><big><font><big><font><big><font
                      face="Helvetica, Arial, sans-serif">Volker-<br>
                      <br>
                      We did implement compressed strings in the
                      proprietary 6u21p release. Going forward we will
                      from time to time implement some features in a
                      proprietary, closed-source release and may later
                      choose to migrate it into a OpenJDK release. We do
                      this reluctantly, owing to the ongoing cost of
                      keeping separate closed and open code bases in
                      sync, but we will sometimes do it. We've never
                      committed to doing all development exclusively in
                      the open.<br>
                      <br>
                      This particular feature didn't work out so well.
                      Its complexity and additional overhead outweigh
                      its advantages, so we don't expect to forward-port
                      it to JDK 7 (open or otherwise), nor do we have
                      plans to do any further work on it in the short
                      term. Also, while some parts of compressed strings
                      are implemented in the JVM, much is implemented in
                      the core libraries. We've concluded that to
                      properly implement this will require a radical
                      restructuring of the String related classes, and
                      that isn't practical until JDK 9 at the earliest.<br>
                      <br>
                      -John</font></big></font></big></font></big></font></small></small><br>
    <br>
    <br>
    On 3/4/11 3:31 AM, Volker Simonis wrote:
    <blockquote
      cite="mid:AANLkTimUFEU5CtPTS+8e+RuxhhtfYqsVSzump9EH0W4T@mail.gmail.com"
      type="cite">
      <pre wrap="">Sorry for my impertinence. I already sent this message to the list a
few days before but I can not believe that nobody is interested in
this topic so I resend it with a different (more appropriate?)
subject. If again nobody comments I apologize and promise to keep
silent forevermore:)



I just saw that 6u23 has a new optimization option -XX:+UseCompressedStrings.
See for example:
<a class="moz-txt-link-freetext" href="http://thevirtualmachinist.blogspot.com/2010/12/xxusecompressedstrings-explained.html">http://thevirtualmachinist.blogspot.com/2010/12/xxusecompressedstrings-explained.html</a>

Apparently this feature was implemented for the performance release
6u21p as can be seen here:
<a class="moz-txt-link-freetext" href="http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html">http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html</a>

Looking at <a class="moz-txt-link-freetext" href="http://download.java.net/jdk6/6u23/promoted/b01/changes/JDK6u23.list.html">http://download.java.net/jdk6/6u23/promoted/b01/changes/JDK6u23.list.html</a>
one may guess that this was change:

6836579: Use byte[] instead of char[] for Strings where possible (Hotspot)

but unfortunately the bug report is not available publicly.

6u23 has HS 19b09. If I look at
<a class="moz-txt-link-freetext" href="http://hg.openjdk.java.net/hsx/hsx19/master">http://hg.openjdk.java.net/hsx/hsx19/master</a> I can not find this
option, although it is HS19b09 as well.

I thought the general promise was that the HotSpot would be developed
"in the open". I understand that sensitive security fixes may follow a
 "deferred integration" policy, but what about this pure performance
relevant change: it's not in HSX19 neither in the tip revision. Do we
have to expect more proprietary changes which will be present only in
the commercial/closed version of the OpenJDK?

Any comments?

Regards,
Volker
</pre>
    </blockquote>
  </body>
</html>