RFR: 8318982: improve Exceptions::special_exception
Doug Simon
dnsimon at openjdk.org
Tue Oct 31 18:06:33 UTC 2023
On Tue, 31 Oct 2023 17:43:30 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> 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.
>
> src/hotspot/share/utilities/exceptions.cpp line 92:
>
>> 90: } else if (h_name == nullptr) {
>> 91: // at least an informative message.
>> 92: vm_exit_during_initialization("Exception", message);
>
> Should there be a space after "Exception"?
No, based on other usages: https://github.com/search?q=repo%3Aopenjdk%2Fjdk%20vm_exit_during_initialization&type=code
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16401#discussion_r1377991195
More information about the hotspot-dev
mailing list