On Thu, 4 May 2023 22:32:36 GMT, Coleen Phillimore <cole...@openjdk.org> wrote:
> The ResourceHashtable conversion for JDK-8292741 didn't add the resizing > code. The old hashtable code was tuned for resizing in anticipation of large > hashtables for JVMTI tags. This patch ports over the old hashtable resizing > code. It also adds a ResourceHashtable::put_fast() function that prepends to > the bucket list, which is also reclaims the performance of the old hashtable > for this test with 10M tags. The ResourceHashtable put function is really a > put_if_absent. This can be cleaned up in a future change. Also, the remove > function needed a lambda to destroy the WeakHandle, since resizing requires > copying entries. > > Tested with JVMTI and JDI tests locally, and tier1-4 tests. This pull request has now been integrated. Changeset: 4251b562 Author: Coleen Phillimore <cole...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/4251b56214a6af6c307a473c7ba13482ad3109e2 Stats: 326 lines in 8 files changed: 242 ins; 40 del; 44 mod 8306843: JVMTI tag map extremely slow after JDK-8292741 Reviewed-by: sspitsyn, iklam ------------- PR: https://git.openjdk.org/jdk/pull/13818