Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8228361

[lworld] Further optimize acmp on inline types in C2

    Details

      Description

      We currently always allocate when performing acmp on inline types and delegate to ValueBootstrapMethods::isSubstitutable() if the klasses are equal. We should try to check for substitutability at compile time or even emit optimized code for the substitutability check (for example, directly compare memory if there are no oop fields).

      With all the branching in Parse::do_acmp, we should also make sure that profile information is correctly used to set branch probabilities.

      ValueBootstrapMethods::isSubstitutable() is currently special cased in the JIT to avoid recursion. Should it use unsafe for pointer comparison?

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              thartmann Tobias Hartmann
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: