RFR: 8260307: Do not include method.hpp in frame.hpp

Ioi Lam iklam at openjdk.java.net
Fri Jan 22 20:01:51 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.

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

Commit messages:
 - 8260307: Do not include method.hpp in frame.hpp

Changes: https://git.openjdk.java.net/jdk/pull/2201/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2201&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8260307
  Stats: 42 lines in 21 files changed: 25 ins; 1 del; 16 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