> 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 incremental webrev excludes the unrelated changes brought in 
by the merge/rebase. The pull request contains five additional commits since 
the last revision:

 - 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:
  - all: https://git.openjdk.org/jdk/pull/15614/files
  - new: https://git.openjdk.org/jdk/pull/15614/files/2cb090b6..18cfff84

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=15614&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=15614&range=01-02

  Stats: 68207 lines in 2244 files changed: 20382 ins; 12922 del; 34903 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

Reply via email to