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