RFR: 8318982: improve Exceptions::special_exception [v2]

Doug Simon dnsimon at openjdk.org
Tue Oct 31 19:31:56 UTC 2023


> This PR consolidates the 2 almost identical versions of `Exceptions::special_exception` into a single method.
> If a special exception is thrown and `-Xlog:exceptions` is enabled, a log message is emitted and it indicates the special handling.
> 
> Here's an example in the output from running `compiler/linkage/LinkageErrors.java` with `-Xlog:exceptions -Xcomp`:
> 
> [0.194s][info][exceptions] Exception <java/lang/IllegalAccessError: class java.lang.module.ModuleDescriptor$1 tried to access private method 'void java.lang.module.ModuleDescriptor$Exports.<init>(java.util.Set, java.lang.String, java.util.Set, boolean)' (java.lang.module.ModuleDescriptor$1 and java.lang.module.ModuleDescriptor$Exports are in module java.base of loader 'bootstrap')> (0x0000000000000000)
> thrown [src/hotspot/share/interpreter/linkResolver.cpp, line 591]
> for thread 0x000000011e18c600
> thread cannot call Java, throwing pre-allocated exception: a 'java/lang/VirtualMachineError'{0x0000000772e06f00}
> 
> 
> The motivation for this change was work on [JDK-8318694](https://bugs.openjdk.org/browse/JDK-8318694) where it's useful to know when exceptions are thrown on a CompilerThread.

Doug Simon has updated the pull request incrementally with one additional commit since the last revision:

  add missing ResourceMark

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/16401/files
  - new: https://git.openjdk.org/jdk/pull/16401/files/98da6cab..f74fa5ee

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

  Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/16401.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16401/head:pull/16401

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


More information about the hotspot-dev mailing list