RFR: 8234735: InstanceKlass:find_method_index regression after JDK-8231610

Claes Redestad claes.redestad at oracle.com
Mon Nov 25 13:51:12 UTC 2019


Hi,

JDK-8231610 refactored InstanceKlass::binary_search to ::quick_search,
which now has a linear slow-path version in case the VM is currently
dumping the dynamic CDS archive. This cause the methods to grow enough
that ::quick_search is not inlined into find_method_index, which cause a
local regression.

Since the linear search is not as performance sensitive as the default
binary search, then outlining the slow-path to a different method makes
sense. Tests show that this allows the performance critical path to be
completely inlined again, recuperating about half of the performance
regression (still adds a branch to check for whether we should do a
linear search to the fast path, compared to pre-8231610)

Bug:    https://bugs.openjdk.java.net/browse/JDK-8234735
Webrev: http://cr.openjdk.java.net/~redestad/8234735/open.00/

Testing: tier1-3

Thanks!

/Claes


More information about the hotspot-runtime-dev mailing list