RFR (S) 8134758: Final String field values should be trusted as stable

Aleksey Shipilev aleksey.shipilev at oracle.com
Mon Aug 31 14:59:15 UTC 2015


I would like to make a forward move and make VM to trust all final
String fields. I cannot quickly find the scenario where it helps current
JDK -- there is only String.value field, which components are not
treated as constants anyway. But, it helps a lot the upcoming Compact
Strings change, which introduces String.coder field.

String.value is actually handled as stable in the GraphKit with
UseImplicitStableValues, but it does not affect "normal" Java code.
Therefore, in a way, this change extends the same behavior to the normal
code. See more here:

Here is a patch:

Passes JPRT and eyeballed assembly looks fine on Linux x86_64.

Does the change itself look generic enough to consider straight in the
mainline? Otherwise, we can keep it in Compact Strings sandbox, but it
will eventually arrive back entangled in a much larger code change, and
shall still require review.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20150831/0dd16c7c/signature.asc>

More information about the hotspot-compiler-dev mailing list