RFR: 8301136: Improve unlink() and unlink_all() of ResourceHashtableBase [v6]

Xin Liu xliu at openjdk.org
Tue Mar 7 04:34:37 UTC 2023


> 1. Apply the same idea of JDK-8300184 to unlink().
> 2. Because ResourceHashtableBase doesn't support copy assignment, client of it has to purge all elements first when it needs to assign it. We would like provide a specialized version called 'unlink_all()'.  We don't need to update each node's _next in this case. We only nullify all buckets. 
> 3. This patch also provides a specialized version of unlink_all() for destructor. We don't even update buckets. it's dead anyway.

Xin Liu has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:

 - Add log to dump information in removal APIs.
 - Merge branch 'master' into JDK-8301136
 - Add lambda API unlink(Function f) per reviewers' request.
 - Use unlink_all() in JvmtiTagMapTable::clear.
 - Add a template for unlink(), unlink_all() and dtor.
 - Quit early if cnt is zero.
 - 8301136: Improve unlink() and unlink_all() of ResourceHashtableBase

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/12213/files
  - new: https://git.openjdk.org/jdk/pull/12213/files/086750e4..8b3bb2df

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=12213&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=12213&range=04-05

  Stats: 104740 lines in 2885 files changed: 47853 ins; 25265 del; 31622 mod
  Patch: https://git.openjdk.org/jdk/pull/12213.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/12213/head:pull/12213

PR: https://git.openjdk.org/jdk/pull/12213


More information about the hotspot-dev mailing list