RFR: 8310829: guarantee(!HAS_PENDING_EXCEPTION) failed in ExceptionTranslation::doit [v3]

David Holmes dholmes at openjdk.org
Mon Jun 26 23:24:03 UTC 2023


On Mon, 26 Jun 2023 13:17:25 GMT, Doug Simon <dnsimon at openjdk.org> wrote:

>> The VMSupport class is required for translating an exception between the HotSpot and libgraal heaps.
>> Loading it lazily can result in a loading exception, obscuring the exception being translated.
>> To avoid this, VMSupport is loaded eagerly along with the other vmClasses.
>
> Doug Simon has updated the pull request incrementally with one additional commit since the last revision:
> 
>   each exception translation failure should trigger a JVMCI event

It may be in the noise but noise adds up over time.

It just seems to me that the simplest fix here would have been to convert

Klass* vmSupport = SystemDictionary::resolve_or_fail(vmSymbols::jdk_internal_vm_VMSupport(), true, THREAD);
guarantee(!HAS_PENDING_EXCEPTION, "");

to

Klass* vmSupport = SystemDictionary::resolve_or_fail(vmSymbols::jdk_internal_vm_VMSupport(), true, CHECK);

and just return on exception. A very isolated change with zero impact on anything else.

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

PR Comment: https://git.openjdk.org/jdk/pull/14641#issuecomment-1608455121


More information about the serviceability-dev mailing list