< prev index next >

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

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

*** 28,37 **** --- 28,40 ---- /** * Weak reference objects, which do not prevent their referents from being * made finalizable, finalized, and then reclaimed. Weak references are most * often used to implement canonicalizing mappings. + * <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 that the garbage collector determines at a certain point in time * that an object is <a href="package-summary.html#reachability">weakly * reachable</a>. At that time it will atomically clear all weak references to * that object and all weak references to any other weakly-reachable objects
*** 50,59 **** --- 53,64 ---- /** * Creates a new weak reference that refers to the given object. The new * reference is not registered with any queue. * * @param referent object the new weak reference will refer to + * @throws IllegalArgumentException if the referent is an instance of an + * {@link Class#isInlineClass() inlineClass} */ public WeakReference(T referent) { super(referent); }
*** 62,71 **** --- 67,78 ---- * registered with the given queue. * * @param referent object the new weak 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 WeakReference(T referent, ReferenceQueue<? super T> q) { super(referent, q); }
< prev index next >