< prev index next >

src/java.base/share/classes/java/lang/ref/PhantomReference.java

Print this page
rev 55532 : 8223582: [lworld] WeakReference of an inline type should throw

@@ -28,10 +28,13 @@
 
 /**
  * Phantom reference objects, which are enqueued after the collector
  * determines that their referents may otherwise be reclaimed.  Phantom
  * references are most often used to schedule post-mortem cleanup actions.
+ * <p>
+ * The referent must not be an instance of an inline class; such a value
+ * can never have another reference to it and cannot be held in a reference type.
  *
  * <p> Suppose the garbage collector determines at a certain point in time
  * that an object is <a href="package-summary.html#reachability">
  * phantom reachable</a>.  At that time it will atomically clear
  * all phantom references to that object and all phantom references to

@@ -70,10 +73,12 @@
      * it will never be enqueued.
      *
      * @param referent the object the new phantom reference will refer to
      * @param q the queue with which the reference is to be registered,
      *          or {@code null} if registration is not required
+     * @throws IllegalArgumentException if the referent is an instance of an
+     *         {@link Class#isInlineClass() inlineClass}
      */
     public PhantomReference(T referent, ReferenceQueue<? super T> q) {
         super(referent, q);
     }
 
< prev index next >