RFR(M): Tiered: incorrect results in VM tests stringconcat with -Xcomp -XX:+DeoptimizeALot on solaris-amd64

Igor Veresov igor.veresov at oracle.com
Mon Oct 14 13:57:42 PDT 2013

Hi guys,

I had to go back and think about the solution to clear up some doubts. While my original solution mostly worked, there is actually a more efficient way to do the analysis in polynomial time.
Basically the implementation boils down to verifying that there are no side effects between the first constructor and all the following calls by following the bottom memory slices up until we find a know call. The presence of memory slices of different alias types between the calls also indicate the side effect. As for the case when side effects (calls or stores) happen after allocation and before the constructor call they always have a control dependency on initialization, and therefore will be caught by the existing control flow validation.

Webrev: http://cr.openjdk.java.net/~iveresov/8009303/webrev.2/

Testing: jtreg, CTW, the failing tests


More information about the hotspot-compiler-dev mailing list