RFR (S) 8131782: C1 Class.cast optimization breaks when Class is loaded from static final (original) (raw)
Aleksey Shipilev aleksey.shipilev at oracle.com
Tue Jul 21 10:05:38 UTC 2015
- Previous message: RFR (S) 8131782: C1 Class.cast optimization breaks when Class is loaded from static final
- Next message: RFR (S) 8131782: C1 Class.cast optimization breaks when Class is loaded from static final
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 21.07.2015 00:14, John Rose wrote:
On Jul 20, 2015, at 6:52 AM, Aleksey Shipilev <aleksey.shipilev at oracle.com> wrote:
On the road from Unsafe to VarHandles lies a small deficiency in C1 Class.cast/isInstance optimization: the canonicalizer folds constant class perfectly when it is coming from "inlined" constant, but not from static final, because the constant "shapes" are different: https://bugs.openjdk.java.net/browse/JDK-8131782
I suggest a deeper fix, to the factory that produces the oddly formatted constant. That may help with other, similar constant folding problems.
All right, let's do that! http://cr.openjdk.java.net/~shade/8131782/webrev.02/
I respinned it through JRPT and my targeted benchmarks, and it performs the same as previous patch.
Thanks, -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/20150721/ce3f58ab/signature.asc>
- Previous message: RFR (S) 8131782: C1 Class.cast optimization breaks when Class is loaded from static final
- Next message: RFR (S) 8131782: C1 Class.cast optimization breaks when Class is loaded from static final
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the hotspot-compiler-dev mailing list