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

PPC64 (part 216): opto: trap based null and range checks

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: port-stage-ppc-aix
    • Fix Version/s: port-stage-ppc-aix
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      master
    • CPU:
      ppc

      Backports

        Description

        PPC has the tdi instruction that does a compare and raises SIGTRAP
        if the compare is successful.

        With this instruction conditional branches leading to uncommon
        traps can be implemented very efficiently.

        This is especially needed on AIX, where there are almost no
        possibilities for ImplicitNullChecks as the zero page is not
        protected.

        On linux, this accounts for about 2% jvm2008 performance.

        Possibilities for trap based range checks and trap based null checks
        are recognized during matching. To support this, we added a method
        branches_to_uncommon_trap() to be used in the predicate during
        matching.

        The computation of the final block layout must know about this,
        as it must place the fallthrough properly and adapt the condition
        in the tdi instruction.

        We added a method is_TrapBasedCheckNode so these nodes
        can be recogized in a platform independent way.

        ---------------------------------

        This is preparation for PPC64 integration: http://openjdk.java.net/jeps/175
        This and following ppc64 changes will go into staging repository first and tested there: http://hg.openjdk.java.net/ppc-aix-port/stage/

        http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/338e318f1e12/ppc_patches/0216_opto-trap_based_null_and_range_checks.patch

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  goetz Goetz Lindenmaier
                  Reporter:
                  goetz Goetz Lindenmaier
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: