-
Sub-task
-
Resolution: Unresolved
-
P4
-
25
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.
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.
- links to
-
Review(master) openjdk/jdk/24705