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

Unseal FinalReference<T>

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Won't Fix
    • Icon: P4 P4
    • None
    • None
    • core-libs
    • None

      The change in JDK-8283415 made use of the now available sealed keyword for FinalReference<T>.
      Unfortunately this introduced a problem for the Espresso VM (Java on Truffle): Since Espresso is written in Java it uses the functionality of the "Host VM" to implement finalization. We do that however by introducing a new subclass of FinalReference<T> [1] which does not work anymore with the changes made in JDK-8283415. We cannot use Finalizer itself because we want to inject an additional "Guest object".
      Making FinalReference<T> non-sealed would simplify things for Espresso.
      [1] https://github.com/oracle/graal/blob/f195395329fba573afc6f81c5e70a18ac334dd10/espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/ref/ClassAssembler.java#L85-L113

            burban Bernhard Urban-Forster
            burban Bernhard Urban-Forster
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: