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

[JVMCI] invalidate_nmethod_mirror shouldn't use a phantom reference

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      b25

      Backports

        Description

        While testing the latest JVMCI in JDK11 crashes were occurring during draining of the SATB buffers. The problem was tracked down to invalidate_nmethod_mirror being called on an nmethod whose InstalledCode instance was also dead in the current GC. Reading this oop using NativeAccess<ON_PHANTOM_OOP_REF> lead to that oop being enqueued in the SATB buffer. In JDK 14 it appears some other change in G1 disables those barriers at the point this code is executed but in JDK11 no such logic exists. This code never resurrect that oop so using the normal AS_NO_KEEPALIVE semantics is correct avoids attempting to enqueue the potentially dead object.

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                never Tom Rodriguez
                Reporter:
                never Tom Rodriguez
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: