RFR(S): 8086046: escape analysis generates incorrect code as of B67
Roland Westrelin
roland.westrelin at oracle.com
Fri Jun 12 13:01:41 UTC 2015
http://cr.openjdk.java.net/~roland/8086046/webrev.00/
The membar_for_arraycopy() code returns true if the MemBarNode is a membar following an arraycopy that can modify memory t_oop. After an ArrayCopyNode is expanded, that code must work with a subgraph that merges multiple code path. The membar_for_arraycopy() didn’t correctly match on that graph pattern. To be safer, I also made some change so the membar_for_arraycopy() code not only recognizes calls to fast path stubs but also the CallStaticJavaNode for the “slow_arraycopy”.
Roland.
More information about the hotspot-compiler-dev
mailing list