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

C2: JVMS not cloned when needs_clone_jvms() is true

    XMLWordPrintable

Details

    • b14
    • ppc

    Backports

      Description

        We have observed assertions and crashes on PPC64 when running compiler/c2/Test6603011.java:
        assert((mcall == __null) || (mcall->jvms() == __null) || (mcall->jvms()->debug_start() + mcall->_jvmadj == mcall->tf()->domain()->cnt())) failed
        Or SIGSEGV in product build:
        # V [libjvm.so+0x5a5bc4] OopFlow::build_oop_map(Node*, int, PhaseRegAlloc*, int*)+0x494

        JDK-8257211 has introduced new clone_jvms functions which miss needs_clone_jvms() checks.

        The crashes occur on PPC64, because Call nodes like MachCallDynamicJava require the ConstantTableBase as additional input edge at mach_constant_base_node_input(). The different input edge layout requires JVMS cloning which is indicated by needs_clone_jvms().

        Attachments

          Issue Links

            Activity

              People

                mdoerr Martin Doerr
                mdoerr Martin Doerr
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: