[9] RFR (M): 8067344: Adjust java/lang/invoke/LFCaching/LFGarbageCollectedTest.java for recent changes in java.lang.invoke
Paul Sandoz
paul.sandoz at oracle.com
Wed Jan 7 11:16:20 UTC 2015
Hi
70 TestMethods testCase = getTestMethod();
71 if (testCase == TestMethods.EXACT_INVOKER || testCase == TestMethods.INVOKER) {
72 // Invokers aren't collected.
73 return;
74 }
Can you just filter those test cases out in the main method within EnumSet.complementOf?
On Dec 23, 2014, at 1:40 PM, Vladimir Ivanov <vladimir.x.ivanov at oracle.com> wrote:
> Spotted some more problems:
> - need to skip identity operations (identity_* LambdaForms) in the test, since corresponding LambdaForms reside in a permanent cache;
>
82 mtype = adapter.type();
83 if (mtype.parameterCount() == 0) {
84 // Ignore identity_* LambdaForms.
85 return;
86 }
Under what conditions does this arise? i guess it might be non-determinisitic based on the randomly generated arity for the test case, so could filter more tests than absolutely required?
> - need to keep original test data for diagnostic purposes, since getTestCaseData() produces new instance.
>
78 adapter = getTestMethod().getTestCaseMH(data, TestMethods.Kind.ONE);
Could replace "getTestMethod()" with "testCase".
Paul.
> Updated version:
> http://cr.openjdk.java.net/~vlivanov/8067344/webrev.01/
>
> 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
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 841 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20150107/2a509ec4/signature-0001.asc>
More information about the mlvm-dev
mailing list