[9] RFR(S): 8035328: closed/compiler/6595044/Main.java failed with timeout
Tobias Hartmann
tobias.hartmann at oracle.com
Thu Jun 19 07:15:36 UTC 2014
Hi,
please review the following patch for 8035328.
Bug: https://bugs.openjdk.java.net/browse/JDK-8035328
Webrev: http://cr.openjdk.java.net/~thartmann/8035328/webrev.00
*Problem**
*This bug is not a test bug. The test executes hundreds of small methods
consisting of only a return statement multiple times. This was intended
to test for an old (closed) bug in the C2 compiler. The timeout arises
when the tiered compilation policy decides to recompile the caller
method and therefore marks it as non-entrant. The method is still in use
but call sites are not patched. See line 1179 of sharedRuntime.cpp:
// We do not patch the call site if the caller nmethod has been made
non-entrant.
As a result, all call sites have to be resolved on every call which is
costly and leads to the timeout (4mins vs. 17s).
*Solution
*The call site patching code in sharedRuntime is changed to patch not
entrant call sites as well.
*
**Testing
*- JPRT
- SPECjbb2005, SPECjbb2013
- SPECjvm2008-Compiler*
*- Nashorn + Octane*
*- UTE full run with Kitchensink
Thanks,
Tobias
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20140619/a226fa9a/attachment-0001.html>
More information about the hotspot-compiler-dev
mailing list