> 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.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/31487/files
  - new: https://git.openjdk.org/jdk/pull/31487/files/1e39b23e..bfdc49e7

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

  Stats: 343 lines in 32 files changed: 154 ins; 87 del; 102 mod
  Patch: https://git.openjdk.org/jdk/pull/31487.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/31487/head:pull/31487

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

Reply via email to