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

Aleksey Shipilev aleksey.shipilev at oracle.com
Tue Sep 1 11:34:19 UTC 2015

On 09/01/2015 04:31 AM, Vladimir Kozlov wrote:
> Why you check constant.basic_type() == T_OBJECT?
> In old compact strings version it was value field's type but now it is
> always array.

Because that line of reasoning got us here: the desynced version that
gets overlooked for months in Compact String research, and wastes more
time after the flaw is discovered. I'd prefer to handle all final fields
in Strings universally, for every possible type, to avoid future surprises.

> This optimization only done for Sting which are constant. Is it enough
> for you?

Yes, it's a known constraint. It is still important for, say,
concatenating with constant Strings literals, which is a very common case.


-------------- 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/20150901/26e1d82e/signature.asc>

More information about the hotspot-compiler-dev mailing list