• Type: Sub-task
    • Resolution: Fixed
    • Priority: P4
    • 25
    • Affects Version/s: 25
    • Component/s: 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.

            Assignee:
            Chen Liang
            Reporter:
            Chen Liang
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: