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

Memory ordering spec updates in java.lang.ref

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 23
    • None
    • core-libs
    • b26

      Classes in the java.lang.ref package would benefit from an update to bring the spec in line with how the VM already behaves. The changes would focus on happens-before edges at some key points during reference processing.

      A couple key things we want to be able to say are:
      * Reference.reachabilityFence(x) happens-before reference processing occurs for 'x'.
      * Cleaner.register() happens-before the Cleaner thread runs the registered cleaning action.

      This will bring Cleaner in line (or close) with the memory visibility guarantees made for finalizers in JLS 17.4.5[1]:
      "There is a happens-before edge from the end of a constructor of an object to the start of a finalizer (§12.6) for that object."

      1. https://docs.oracle.com/javase/specs/jls/se18/html/jls-17.html#jls-17.4.5

            bchristi Brent Christian
            bchristi Brent Christian
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: