RFR: 8260307: Do not include method.hpp in frame.hpp [v2]

Ioi Lam iklam at openjdk.java.net
Sat Jan 23 06:28:57 UTC 2021


> frame.hpp is a popular header file (included by 876 out of 1000 HotSpot.o file). It includes method.hpp, which in turn pulls in all the class metadata types such as instanceKlass.hpp, constantPool.hpp, etc.
> 
> We can replace the inclusion of method.hpp with a forward declaration of the Method class.
> 
> This reduces the number of .o files that include method.hpp from 882 to 586.
> 
> HotSpot build time is reduced by more than 2%.
> 
> Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero.

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 two additional commits since the last revision:

 - Merge branch 'master' of https://github.com/openjdk/jdk into 8260307-do-not-include-method.hpp-in-frame.hpp
 - 8260307: Do not include method.hpp in frame.hpp

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2201/files
  - new: https://git.openjdk.java.net/jdk/pull/2201/files/fed529d0..2178110f

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

  Stats: 4615 lines in 83 files changed: 2516 ins; 1660 del; 439 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2201.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2201/head:pull/2201

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


More information about the hotspot-dev mailing list