RFR(M): 8130847: Cloned object's fields observed as null after C2 escape analysis (original) (raw)
Roland Westrelin roland.westrelin at oracle.com
Tue Jul 28 14:05:40 UTC 2015
- Previous message: RFR(M): 8004073: Implement C2 Ideal node specific dump() method
- Next message: RFR(M): 8130847: Cloned object's fields observed as null after C2 escape analysis
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
http://cr.openjdk.java.net/~roland/8130847/webrev.00/
When an allocation which is the destination of an ArrayCopyNode is eliminated, field’s values recorded at a safepoint (to reallocate the object) do not take the ArrayCopyNode into account at all and the effect or the ArrayCopyNode is lost on a deoptimization. This fix records values from the source of the ArrayCopyNode, emitting new loads if necessary.
I also use the opportunity to pin the loads generated in LoadNode::can_see_arraycopy_value() because they depend on all checks that validate the array copy and not only on the check that immediately dominates.
Roland.
- Previous message: RFR(M): 8004073: Implement C2 Ideal node specific dump() method
- Next message: RFR(M): 8130847: Cloned object's fields observed as null after C2 escape analysis
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the hotspot-compiler-dev mailing list