RFR (S) 8149813: Move trusted final field handling from C2 LoadNode::Value to shared code
Tobias Hartmann
tobias.hartmann at oracle.com
Mon Feb 15 13:27:45 UTC 2016
Hi Aleksey,
this looks good to me (not a reviewer). Thanks for cleaning up string opts!
Best,
Tobias
On 15.02.2016 14:17, 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 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
>
More information about the hotspot-compiler-dev
mailing list