Bypass intrinsic/barrier when calling Reference.get() from Finalizer

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: P2
    • 16
    • Affects Version/s: 11, 15, 16
    • Component/s: core-libs
    • None
    • b24
    • generic
    • generic
    • Verified

      Finalizer calls Reference.get() from the Finalizer to acquire the finalizee. Concurrent reference processing GCs like Shenandoah and ZGC would return NULL for unreachable referents, and thus would not call finalize() on them.

      ZGC works around this by fixing the referent before enqueuing, so that the barrier would take the fast-path, but Shenandoah cannot do this.

            Assignee:
            Roman Kennke
            Reporter:
            Roman Kennke
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: