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

Aleksey Shipilev aleksey.shipilev at oracle.com
Tue Sep 1 11:35:16 UTC 2015


On 09/01/2015 10:06 AM, Tobias Hartmann wrote:
> On 01.09.2015 08:52, Tobias Hartmann wrote:
>> On 31.08.2015 22:36, Aleksey Shipilev wrote:
>>> Current JDK 9 code captures T_INT constants there, but we need
>>> T_BYTE as well. Compact Strings version has even more constant
>>> types handled, but not T_BYTE [1] (this should be the leftovers
>>> from CompressedStrings). Tried to hack T_BYTE there for Compact
>>> Strings, and the same performance effect was achieved.

...

>>> I'll see how and where to fix this properly. Tentatively, I'd say
>>> all types should be handled in the mainline version, and Compact
>>> Strings should purge its own version, to avoid further
>>> omissions.
>> 
>> Not sure if that makes sense, since JDK9 has no T_BYTE field in
>> String.
> 
> I just noticed that you are using the make_from_constant() factory
> method in LoadNode::Value() and therefore don't require special
> casing for all possible types. That looks good to me!

Exactly, the universal code rules. Thanks for taking a look!

Cheers,
-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/20150901/f1153414/signature-0001.asc>


More information about the hotspot-compiler-dev mailing list