RFR: JDK-8303166: Disable RTTI for Hotspot when building with MSVC [v3]

Justin King jcking at openjdk.org
Fri Feb 24 19:56:39 UTC 2023


> Disable RTTI `-GR-` for Hotspot when building with MSVC. This drops the size of `jvm.dll` by roughly 1 MB. Hotspot does not rely on RTTI and it is disabled for both GCC/Clang and Open XL C/C++ already. This change disables it for MSVC, ensuring we do not accidently rely on RTTI for Windows-specific code while also decreasing the resulting binary size.
> 
> Cheers to @alexmenkov for finding the tricky root cause of why disabling RTTI was causing a subset of serviceability agent tests to fail.

Justin King 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 four additional commits since the last revision:

 - Merge remote-tracking branch 'upstream/master' into msvc-rtti
 - Update src/hotspot/share/runtime/notificationThread.hpp
   
   Co-authored-by: Chris Plummer <chris.plummer at oracle.com>
 - Force MSVC to emit unique vtable for NotificationThread
   
   Signed-off-by: Justin King <jcking at google.com>
 - Disable RTTI with MSVC
   
   Signed-off-by: Justin King <jcking at google.com>

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/12743/files
  - new: https://git.openjdk.org/jdk/pull/12743/files/9a882207..42932cdd

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

  Stats: 4490 lines in 198 files changed: 3104 ins; 751 del; 635 mod
  Patch: https://git.openjdk.org/jdk/pull/12743.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/12743/head:pull/12743

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



More information about the build-dev mailing list