8058728: TEST_BUG: Make java/lang/invoke/LFCaching/LFGarbageCollectedTest.java skip arrayElementSetter and arrayElementGetter methods
Reviewed-by: vlivanov, iignatyev, psandoz
--- a/jdk/test/java/lang/invoke/LFCaching/LFGarbageCollectedTest.java Fri Sep 19 13:00:17 2014 +0400
+++ b/jdk/test/java/lang/invoke/LFCaching/LFGarbageCollectedTest.java Fri Sep 19 16:49:08 2014 +0400
@@ -31,14 +31,13 @@
* @build TestMethods
* @build LambdaFormTestCase
* @build LFGarbageCollectedTest
- * @run main/othervm/timeout=600 -Djava.lang.invoke.MethodHandle.USE_LF_EDITOR=true -DtestLimit=150 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI LFGarbageCollectedTest
+ * @run main/othervm/timeout=600 -Djava.lang.invoke.MethodHandle.USE_LF_EDITOR=true -DtestLimit=150 LFGarbageCollectedTest
*/
import java.lang.invoke.MethodHandle;
import java.lang.ref.PhantomReference;
import java.lang.ref.ReferenceQueue;
import java.lang.reflect.InvocationTargetException;
-import java.util.Arrays;
import java.util.EnumSet;
import java.util.Map;
@@ -94,10 +93,16 @@
* @param args Accepts no arguments.
*/
public static void main(String[] args) {
- // The "identity" and "constant" methods should be removed from this test,
- // because their lambda forms are stored in a static filed and are not GC'ed.
- // There can be only 5 such LFs for each method, so no memory leak happens.
- EnumSet<TestMethods> testMethods = EnumSet.complementOf(EnumSet.of(TestMethods.IDENTITY, TestMethods.CONSTANT));
+ // The "identity", "constant", "arrayElementGetter" and "arrayElementSetter"
+ // methods should be removed from this test,
+ // because their lambda forms are stored in a static field and are not GC'ed.
+ // There can be only a finite number of such LFs for each method,
+ // so no memory leak happens.
+ EnumSet<TestMethods> testMethods = EnumSet.complementOf(EnumSet.of(
+ TestMethods.IDENTITY,
+ TestMethods.CONSTANT,
+ TestMethods.ARRAY_ELEMENT_GETTER,
+ TestMethods.ARRAY_ELEMENT_SETTER));
LambdaFormTestCase.runTests(LFGarbageCollectedTest::new, testMethods);
}
}