RFR (S) 8149813: Move trusted final field handling from C2 LoadNode::Value to shared code

Aleksey Shipilev aleksey.shipilev at oracle.com
Mon Feb 15 20:30:45 UTC 2016

Thank you for reviews, Vladimir and Tobias!


On 02/15/2016 10:06 PM, Vladimir Kozlov wrote:
> Yes, looks good.
> Thanks,
> Vladimir
> On 2/15/16 5:17 AM, Aleksey Shipilev wrote:
>> Hi,
>> I would like us to consider moving out the "trusted fields" logic from
>> C2-ish LoadNode::Value to a shared code:
>>    https://bugs.openjdk.java.net/browse/JDK-8149813
>> Webrev:
>>    http://cr.openjdk.java.net/~shade/8149813/webrev.00/
>> With this patch, primitive boxes and Strings are handled in the shared
>> code, where all other special cases are listed. Not only this is
>> cleaner, it also lets C1 to constant fold those cases too:
>>    http://cr.openjdk.java.net/~shade/8149813/notes.txt
>> Some changes were needed in StringOpts, because it used to rely on
>> constant oop present in a graph after LoadNode::Value -- which was
>> inconsistent with the way we pull get_constant_coder anyway.
>> Testing: JPRT -testset hotspot, microbenchmarks, eyeballing assembly
>> 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/20160215/3923fae5/signature.asc>

More information about the hotspot-compiler-dev mailing list