RFR: 8288537: Move Devirtualizer out of hotspot/share/memory/iterator.hpp [v5]

Ioi Lam iklam at openjdk.org
Tue Jun 21 18:31:30 UTC 2022


> HotSpot build time has regressed quite a bit since JDK 17 (1m46s vs 2m20s on my machine). Now it's time to do some header file cleanup.
> 
> iterator.hpp contains a hodge-podge of unrelated classes. Some of these classes have dependencies on other headers (e.g., `Devirtualizer` depends on bitMap.hpp) that slow down C++ compilation.
> 
> This patch moves two infrequently used classes, `Devirtualizer` and `SerializeClosure`, to their own header files. This reduces the total number of C++ lines compiled for libjvm.so for about 1%.

Ioi Lam 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:

 - Merge branch 'master' of https://urldefense.com/v3/__https://github.com/openjdk/jdk__;!!ACWV5N9M2RV99hQ!O8w2sWDt0MPGVVEybWvls84TjgOspVeKMxwvedai04E5YO0iYMHybIxBFFgPQn2bWY3nW3FBHiUyFCpPS_mLRA$  into 8288537-refactor-iterator-hpp
 - Updated copyright year to 2018, where the Devirtualizer class was first added
 - renamed include guard macro
 - moved memory/devirtualizer.hpp -> utilities/devirtualizer.hpp
 - separate out the changes related to SerializeClosure
 - fixed Shenandoah build
 - 8288537: Refactor hotspot/share/memory/iterator.hpp

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/9176/files
  - new: https://git.openjdk.org/jdk/pull/9176/files/ab986620..c2dce9be

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=9176&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=9176&range=03-04

  Stats: 4585 lines in 234 files changed: 2654 ins; 1047 del; 884 mod
  Patch: https://git.openjdk.org/jdk/pull/9176.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/9176/head:pull/9176

PR: https://git.openjdk.org/jdk/pull/9176


More information about the shenandoah-dev mailing list