On Tue, 22 Apr 2025 17:20:15 GMT, Chen Liang <li...@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. > > Chen Liang 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 four additional commits since > the last revision: > > - Rollback classfile boot speed changes > - Merge branch 'master' of https://github.com/openjdk/jdk into > fix/switch-gen-speed > - Fix adding potentially unbound labels > - 8354899: Reduce overhead associated with type switches I like that the performance of the Class-File API can be improved in critical use cases like this, even though we don't 100% eat our own dog food. ------------- Marked as reviewed by asotona (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/24705#pullrequestreview-2786692967