On Tue, 29 Apr 2025 23:16:05 GMT, Kim Barrett <kbarr...@openjdk.org> wrote:

>> Brent Christian has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   convert test to use WhiteBox
>
> test/jdk/java/lang/ref/FinalizerHistogramTest.java line 77:
> 
>> 75:             wb = WhiteBox.getWhiteBox();
>> 76:             wb.fullGC();
>> 77:             refProResult = wb.waitForReferenceProcessing();
> 
> WhiteBox::waitForReferenceProcessing returns true if some progress has been 
> made, not if all the 
> processing is done.  Probably need a loop here, e.g.
> 
> while (wb.waitForReferenceProcessing()) {}
> // All finalizable objects from prior gcs have made it to the finalizer queue.

I've only ever seen it return `false`. But that won't necessarily always be 
true; I've added a loop.

> test/jdk/java/lang/ref/FinalizerHistogramTest.java line 79:
> 
>> 77:             refProResult = wb.waitForReferenceProcessing();
>> 78:             System.out.println("waitForReferenceProcessing returned: " + 
>> refProResult);
>> 79:             while(trappedCount.get() < 1);
> 
> This doesn't seem to be doing anything?  trappedCount is initially 0, and 
> only incremented.

It spins until at least one `MyObject` has entered `finalize()` before 
proceeding to fetch the histogram.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/24143#discussion_r2069386677
PR Review Comment: https://git.openjdk.org/jdk/pull/24143#discussion_r2069389317

Reply via email to