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
Hi,
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:
https://bugs.openjdk.java.net/browse/JDK-8134758
Here is a patch:
http://cr.openjdk.java.net/~shade/8134758/webrev.00/
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.
Thanks,
-Aleksey
-------------- 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