> 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 14 commits: - Merge branch 'master' into vb-map2 - Fix formatting - Remove caching in TreeMap - Remove caching from CHM and CSLM - Move back clone to original position - Reintroduce AbstractMap::clone - Add 'fresh' to implSpec - Remove AbstractMap::clone - Merge master - Merge branch 'master' into vb-map2 - ... and 4 more: https://git.openjdk.org/jdk/compare/9cce9fe0...b1bfcd17 ------------- Changes: https://git.openjdk.org/jdk/pull/15614/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15614&range=10 Stats: 295 lines in 11 files changed: 92 ins; 165 del; 38 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