[9] RFR(S): 8035328: closed/compiler/6595044/Main.java failed with timeout

Christian Thalinger christian.thalinger at oracle.com
Fri Jun 20 22:13:17 UTC 2014


Since the comments talk about “waste of time” this looks good to me.

On Jun 19, 2014, at 12:15 AM, Tobias Hartmann <tobias.hartmann at oracle.com> wrote:

> 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/20140620/ebddea13/attachment-0001.html>


More information about the hotspot-compiler-dev mailing list