On Fri, 12 Jun 2026 19:18:48 GMT, Ashay Rane <[email protected]> wrote:

>> Every time an exception object is created, the constructor calls
>> `fillInStackTrace()`, which has to walk the call stack to record every
>> frame.  This is expensive, and it's also unnecessary if the exception is
>> never thrown.  There are a few instances in various parts of the JDK
>> libraries where we create an exception in the dominator block but don't
>> always throw it.  This patch fixes those cases so that if the exception
>> is not going to be thrown, it is never created in the first place.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Ashay Rane 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 three additional commits since 
> the last revision:
> 
>  - Address PR comments
>  - Merge branch 'main' into JDK-8386509-localized-exceptions
>  - Only create exception objects if we're going to throw them
>    
>    Every time an exception object is created, the constructor calls
>    `fillInStackTrace()`, which has to walk the call stack to record every
>    frame.  This is expensive, and it's also unnecessary if the exception is
>    never thrown.  There are a few instances in various parts of the JDK
>    libraries where we create an exception in the dominator block but don't
>    always throw it.  This patch fixes those cases so that if the exception
>    is not going to be thrown, it is never created in the first place.

Hello Ashay,

> and/or address the LDAP/TLS problem in a separate issue/PR.

It looks like an oversight in the 
`src/java.naming/share/classes/com/sun/jndi/ldap/Connection.java` catch block. 
Please create a separate JBS issue to track just that.

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

PR Comment: https://git.openjdk.org/jdk/pull/31487#issuecomment-4719142957

Reply via email to