Integrated: 8284167: Make internal javac exceptions stackless

Aleksey Shipilev shade at openjdk.java.net
Wed Apr 6 15:52:38 UTC 2022


On Fri, 1 Apr 2022 10:12:17 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> async-profiling of SPECjvm2008 benchmarks (heavily modified to run with newer JDKs) shows that a considerable time is spent creating and throwing internal exceptions like:
>   - `Infer$InferenceException`
>   - `Resolve$InapplicableMethodException`
>   - `Types$FunctionDescriptorLookupError`
> 
> These exceptions do not seem to leak outside javac and are only used to deliver asynchronous errors and related diagnostics. Stack trace does not seem relevant there and can be omitted. 
> 
> This patch improves `Compiler.compiler` and `Compiler.sunflow` benchmarks for about +4.3%. There is no measurable impact on JDK build times.
> 
> Additional testing:
>  - [x] Linux x86_64 fastdebug `tier1`
>  - [x] Linux x86_64 fastdebug `tier2`
>  - [x] Linux x86_64 fastdebug `tier3`

This pull request has now been integrated.

Changeset: 3cd3a836
Author:    Aleksey Shipilev <shade at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/3cd3a83647297f525f5eab48ce688e024ca6b08c
Stats:     27 lines in 3 files changed: 24 ins; 0 del; 3 mod

8284167: Make internal javac exceptions stackless

Reviewed-by: mcimadamore

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

PR: https://git.openjdk.java.net/jdk/pull/8072


More information about the compiler-dev mailing list