RFR: 8270333: -XX:+VerifyStringTableAtExit should not do linear search [v3]

Ioi Lam iklam at openjdk.java.net
Wed Jul 14 06:02:35 UTC 2021


> The implementation of `-XX:+VerifyStringTableAtExit` used a linear search to check for duplicated strings in the interned string table. This would be excessively slow if there were more than a few thousand strings.
> 
> This PR uses a hashtable so we can avoid doing a linear search. The table is sized such that each bucket has 8 items on average.
> 
> Since this code is executed only for verification, I added a new `java_lang_String::hash_code_noupdate(oop)` function, so we can avoid causing side effects.

Ioi Lam has updated the pull request incrementally with one additional commit since the last revision:

  fixed build and make sure table size is not zero

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4772/files
  - new: https://git.openjdk.java.net/jdk/pull/4772/files/cf913b1c..66c4d4ea

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4772&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4772&range=01-02

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4772.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4772/head:pull/4772

PR: https://git.openjdk.java.net/jdk/pull/4772


More information about the hotspot-runtime-dev mailing list