[9] RFR(S): 8021775: compiler/8009761/Test8009761.java "Failed: init recursive calls: 51. After deopt 50"
Tobias Hartmann
tobias.hartmann at oracle.com
Thu May 15 12:44:49 UTC 2014
Hi,
please review the following patch for 8021775.
*Problem
*The compiler test for bug 8009761 checks if the stack size after
deoptimization is the same as before by counting the number of possible
recursive calls until a StackOverflowException occurs both before and
after deoptimization. The test tries to trigger compilation by executing
the method multiple times and enforces deoptimization by loading a
previously unloaded class.
The test fails on multiple platforms.*
*Bug: https://bugs.openjdk.java.net/browse/JDK-8021775
*Solution**
*The test seems to be unstable, as there already occurred several test
bugs (see 8010399 and 8012037). Enforcing compilation by executing a
method multiple times is indeterministic. We have to make sure that the
method is compiled and deoptimized exactly at those points in time where
it is needed.
I reimplemented the test using the Whitebox API to deterministically
trigger compilation and deoptimization.
Webrev: http://cr.openjdk.java.net/~anoll/8021775/webrev.00/
*
**Tests*
Executed test on machines where it previously failed (1k runs, no fails).
Thanks,
Tobias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20140515/a8ccc56f/attachment.html>
More information about the hotspot-compiler-dev
mailing list