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 13:17:33 UTC 2016
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 neede 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/86bde916/signature.asc>
More information about the hotspot-compiler-dev
mailing list