> This PR outlines a solution for making immutable maps `@ValueBased` by > removing cacheing of certain values in `AbstractMap`. > > By removing these caching fields in `AbstractMap`, we can make the immutable > maps `@ValueBased` and at the same time, performance is likely improved > because the JVM is probably able to optimize away object creation anyway via > escape analysis. Also, all maps will occupy less space as we get rid of a > number of objects and references stored for each map. > > We need to benchmark this solution to better understand its implications.
Per Minborg has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains six commits: - Merge master - Merge branch 'master' into vb-map2 - Remove redundant impl spec parts - Merge pull request #4 from cl4es/HashMapViews Add simple HashMapViews microbenchmark - Add simple HashMapViews microbenchmark - Remove caching in AbstractMap and make immutable maps @ValueBased ------------- Changes: https://git.openjdk.org/jdk/pull/15614/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15614&range=03 Stats: 264 lines in 9 files changed: 92 ins; 143 del; 29 mod Patch: https://git.openjdk.org/jdk/pull/15614.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/15614/head:pull/15614 PR: https://git.openjdk.org/jdk/pull/15614