Re: RFR: 8247536: Support for pre-generated java.lang.invoke classes in CDS static archive

2020-08-15 Thread Ioi Lam
On 8/15/20 6:19 PM, Ioi Lam wrote: To better capture what we're trying to do in this RFE, I've changed the RFE title (and the subject of this email thread) to https://bugs.openjdk.java.net/browse/JDK-8247536 Support for pre-generated java.lang.invoke classes in CDS static archive I also update

RFR: 8247536: Support for pre-generated java.lang.invoke classes in CDS static archive

2020-08-15 Thread Ioi Lam
To better capture what we're trying to do in this RFE, I've changed the RFE title (and the subject of this email thread) to https://bugs.openjdk.java.net/browse/JDK-8247536 Support for pre-generated java.lang.invoke classes in CDS static archive I also update the RFE Description to give an over

Re: SoftCleanable and WeakCleanable

2020-08-15 Thread Mandy Chung
It's a fine idea to remove these 2 classes and resurrect them when it finds a need for it.  I will file a JBS issue. Mandy On 8/15/20 2:34 AM, Peter Levart wrote: Hi, You are right. For public Cleanable API, only the PhantomCleanable is used currently. It is subclassed by CleanerImpl.Phanto

Re: SoftCleanable and WeakCleanable

2020-08-15 Thread Peter Levart
Hi, You are right. For public Cleanable API, only the PhantomCleanable is used currently. It is subclassed by CleanerImpl.PhantomCleanableRef to implement the public API and also a couple of specialized internal implementations. When the public Cleanable API was created, it was thought that

Re: Possible subtle memory model error in ClassValue

2020-08-15 Thread Peter Levart
On 8/15/20 10:37 AM, Peter Levart wrote: https://github.com/openjdk/jdk/pull/7 Oops, I forgot to remove the redundant initialization of cacheArray field in constructor, which revealed another place in code where the check for null value has to be made. Here's a modified patch: https://gi

Re: Possible subtle memory model error in ClassValue

2020-08-15 Thread Peter Levart
Hi, There might be a way to fix this NPE without adding additional memory fences. The CacheValueMap.cacheArray field is not final because it can change during lifetime of CacheValueMap - it holds an array of entries which can get resized (replaced with bigger array) which is performed while

Re: SoftCleanable and WeakCleanable

2020-08-15 Thread Florian Weimer
* Florian Weimer: > * Alan Bateman: > >> On 01/08/2020 10:23, Florian Weimer wrote: >>> Are jdk.internal.ref.SoftCleanable and jdk.internal.ref.WeakCleanable >>> actually used? >>> >>> CleanerTest rests them, but I don't see any other mentions of these >>> classes. > >> Do you mean used outside of