[lworld] Improve acmp performance when profile is polluted

XMLWordPrintable

      History:
      - JDK-8235914 added profiling around acmp to speculate that one operand is *not* a value object (or null).
      - JDK-8228361 optimized acmp if the type of one operand is known at compile time.
      - JDK-8376544 leveraged profiling info to speculate that one operand is a value object which then enables JDK-8228361.

      The goal of this RFE is to improve the situation when the profile is polluted or the operand types are truly megamorphic. There are still a few tricks that we can play. For example, similar to what's described in JDK-8252185, we could implement a fast path for "simple" value objects. At this point, it's not clear to me if that additional complexity is justified though.

      Other options would be to create a bytecode or machine code stub for each value class that we can jump/call into from compiled code to perform the substitutability check.

            Assignee:
            Unassigned
            Reporter:
            Tobias Hartmann
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: