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