[jdk11u-dev] Integrated: 8364660: ClassVerifier::ends_in_athrow() should be removed
Andrew John Hughes
andrew at openjdk.org
Wed Dec 17 13:34:23 UTC 2025
On Sat, 13 Dec 2025 13:55:02 GMT, Andrew John Hughes <andrew at openjdk.org> wrote:
> This backport removes the `ends_in_athrow` check which has been obsoleted by [JDK-8302497](https://bugs.openjdk.org/browse/JDK-83024970), specifically:
>
> "There is no way to perform a return instruction given that type state, so the handler would have to throw another exception (or loop forever). In fact, it's not even possible to express a handler with that type state, because there is no way for a stack frame, as expressed by the StackMapTable attribute ([4.7.4](https://docs.oracle.com/javase/specs/jvms/se22/html/jvms-4.html#jvms-4.7.4)), to carry flagThisUninit without any accompanying use of type uninitializedThis." [0]
>
> The backport is mostly clean, with the following exceptions:
>
> 1. The removed code in `verifier.cpp` used `log_info` and the `Info` type rather than `log_debug` and `Debug`. (no [JDK-8234656](https://bugs.openjdk.org/browse/JDk-8234656))
> 2. The copyright header of `verifier.hpp` was older in 11u.
>
> [0] https://cr.openjdk.org/~dlsmith/8302497/8302497-20231218/specs/invokespecial-verification-jvms.html
This pull request has now been integrated.
Changeset: 705236ba
Author: Andrew John Hughes <andrew at openjdk.org>
URL: https://git.openjdk.org/jdk11u-dev/commit/705236baf53a76f0beb7be29fe45b68b7999fc7e
Stats: 241 lines in 2 files changed: 0 ins; 240 del; 1 mod
8364660: ClassVerifier::ends_in_athrow() should be removed
Reviewed-by: phh, sgehwolf
Backport-of: 3f884a976a1cfc8ffa8a9f80d682a108ec4f58a3
-------------
PR: https://git.openjdk.org/jdk11u-dev/pull/3134
More information about the jdk-updates-dev
mailing list