On Fri, 11 Apr 2025 20:09:10 GMT, Brent Christian <bchri...@openjdk.org> wrote:
>> Certain specific types of tests involving GC and reference processing need >> to account for the delay between a GC completing (during which the GC clears >> a Reference), and the Reference being added to its associated queue. At >> present, ad hoc mechanisms (with delays/timeout) are used, but can lead to >> intermittent test failures >> ([JDK-8298783](https://bugs.openjdk.org/browse/JDK-8298783) is a recent >> example). >> >> A better mechanism already exists in the private >> `Reference.waitForReferenceProcessing()` method. This PR makes >> `waitForReferenceProcessing()` available to tests via the `WhiteBox` and >> `ForceGC` test libraries. > > Brent Christian has updated the pull request incrementally with one > additional commit since the last revision: > > wFRP throws InterruptedException, pass through from > InvocationTargetException; don't check param count test/lib/jdk/test/whitebox/WhiteBox.java line 568: > 566: private Method getWaitForReferenceProcessingMethod() { > 567: Method wfrp = waitForReferenceProcessingMethod; > 568: if (wfrp == null) { Racy initialization is fine, the field can be static and the last one (any racy init would all the same) wins: Suggestion: private static Method waitForReferenceProcessingMethod = getWaitForReferenceProcessingMethod(); private static Method getWaitForReferenceProcessingMethod() { ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/24527#discussion_r2040327180