• Icon: Sub-task Sub-task
    • Resolution: Unresolved
    • Icon: P4 P4
    • 25
    • 25
    • core-libs

      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.

            liach Chen Liang
            liach Chen Liang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: