RFR: JDK-8199406: Performance drop with Java JDK 1.8.0_162-b32

Poonam Parhar poonam.bajaj at oracle.com
Thu Mar 29 20:31:57 UTC 2018


Hello,

Please review the changes for the following bug that improve the nmethod 
unloading times with a couple of optimizations.

JDK-8199406 <https://bugs.openjdk.java.net/browse/JDK-8199406>: 
Performance drop with Java JDK 1.8.0_162-b32
Webrev: http://cr.openjdk.java.net/~poonam/8199406/webrev.00/

This changeset includes two changes:
1. In /compiledIC.cpp, CompiledIC::is_icholder_entry()/ , we need to 
determine if the code blob is an itable stub. With this change, before 
linearly searching through all the VtableStub entries, we first check 
whether the codeblob is a vtable or not. We now also parse through the 
list entries only once rather than doing it twice in 
/VtableStubs::is_entry_point()/ and /VtableStubs::stub_containing()/.
2. The second change helps avoid the virtual function calls in 
CompiledICHolder::is_loader_alive(). CompiledICHolder now stores 
information whether the metadata it holds is a method or a klass.

Testing:
- Customer testing confirming that their class-unloading times drop from 
10s of seconds to an average of 0.75 secs.
- mach5 jdk-tier1,jdk-tier2,jdk-tier3,hs-tier1,hs-tier2

Thanks,
Poonam

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20180329/9885390d/attachment.html>


More information about the hotspot-compiler-dev mailing list