[9] RFR (M): 8067344: Adjust java/lang/invoke/LFCaching/LFGarbageCollectedTest.java for recent changes in java.lang.invoke

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Tue Dec 23 12:40:36 UTC 2014

Spotted some more problems:
   - need to skip identity operations (identity_* LambdaForms) in the 
test, since corresponding LambdaForms reside in a permanent cache;

   - need to keep original test data for diagnostic purposes, since 
getTestCaseData() produces new instance.

Updated version:

Best regards,
Vladimir Ivanov

On 12/22/14 11:53 PM, Vladimir Ivanov wrote:
> http://cr.openjdk.java.net/~vlivanov/8067344/webrev.00/
> https://bugs.openjdk.java.net/browse/JDK-8067344
> LFGarbageCollectedTest should be adjusted after JDK-8057020.
> There are a couple of problems with the test.
> (1) Existing logic to test that LambdaForm instance is collected isn't
> stable enough. Consequent System.GCs can hinder reference enqueueing.
> To speed up the test, I added -XX:SoftRefLRUPolicyMSPerMB=0 and limited
> the heap by -Xmx64m.
> (2) MethodType-based invoker caches are deliberately left strongly
> reachable. So, they should be skipped in the test.
> (3) Added additional diagnostic output to simplify failure analysis
> (test case details, method handle type and LambdaForm, heap dump
> (optional, -DHEAP_DUMP=true)).
> Testing: failing test.
> Thanks!
> Best regards,
> Vladimir Ivanov

More information about the core-libs-dev mailing list