Integrated: 8354899: Reduce overhead associated with type switches
Chen Liang
liach at openjdk.org
Wed Apr 23 21:43:04 UTC 2025
On Thu, 17 Apr 2025 00:08:55 GMT, Chen Liang <liach at openjdk.org> wrote:
> The downcallHandle method in Linker has a complex implementation, and type switches is triggered in multiple places in that handle.
>
> After bytestacks analysis of a simple program that links the native implementation of Class::forName0, it turns out that:
> 1. there are a few missed usages of type switch in ClassFile API
> 2. type switch can speed up generation by using explicit stack maps, as stack map gen is over 50% of the generation instructions because the switch is branch-heavy, but the frames are actually simple.
>
> These two combined are not that significant in the overall overhead of downcallHandle, but would be helpful for other workloads.
This pull request has now been integrated.
Changeset: bd1c53e9
Author: Chen Liang <liach at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/bd1c53e96038994788ca5c11602aa2ce4fa4c840
Stats: 47 lines in 2 files changed: 34 ins; 2 del; 11 mod
8354899: Reduce overhead associated with type switches
Reviewed-by: asotona
-------------
PR: https://git.openjdk.org/jdk/pull/24705
More information about the core-libs-dev
mailing list