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

C2: JVMS not cloned when needs_clone_jvms() is true

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      b14
    • CPU:
      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

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

                  Dates

                  Created:
                  Updated:
                  Resolved: