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

Thomas Schatzl thomas.schatzl at oracle.com
Fri Mar 30 15:34:37 UTC 2018

Hi Poonam,

On Thu, 2018-03-29 at 13:31 -0700, Poonam Parhar wrote:
> Hello, 
> Please review the changes for the following bug that improve the
> nmethod unloading times with a couple of optimizations.
> 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

  does the change recover all class-unloading times as they were with

The figures you show seem to only compare 1.8.0_162-b32 to 1.8.0_162-
b32 + patch.

If not, do you have any idea what the problem could be?


More information about the hotspot-runtime-dev mailing list