4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 import test.java.lang.invoke.lib.Helper;
25 import test.java.lang.invoke.lib.CodeCacheOverflowProcessor;
26 import java.lang.invoke.MethodHandle;
27 import java.lang.management.GarbageCollectorMXBean;
28 import java.lang.management.ManagementFactory;
29 import java.lang.ref.Reference;
30 import java.lang.reflect.Field;
31 import java.lang.reflect.Method;
32 import java.util.Collection;
33 import java.util.List;
34 import java.util.function.Function;
35 import jdk.testlibrary.Utils;
36 import jdk.testlibrary.TimeLimitedRunner;
37
38 /**
39 * Lambda forms caching test case class. Contains all necessary test routines to
40 * test lambda forms caching in method handles returned by methods of
41 * MethodHandles class.
42 *
43 * @author kshefov
44 */
45 public abstract class LambdaFormTestCase {
46
47 private static final long TIMEOUT = Helper.IS_THOROUGH ? 0L : (long) (Utils.adjustTimeout(Utils.DEFAULT_TEST_TIMEOUT) * 0.9);
48
49 /**
50 * Reflection link to {@code j.l.i.MethodHandle.internalForm} method. It is
51 * used to get a lambda form from a method handle.
52 */
53 protected static final Method INTERNAL_FORM;
54 protected static final Field KIND_FIELD;
55 protected static final Field REF_FIELD;
56 private static final List<GarbageCollectorMXBean> gcInfo;
|
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 import jdk.testlibrary.TimeLimitedRunner;
25 import jdk.testlibrary.Utils;
26 import test.java.lang.invoke.lib.CodeCacheOverflowProcessor;
27 import test.java.lang.invoke.lib.Helper;
28
29 import java.lang.invoke.MethodHandle;
30 import java.lang.management.GarbageCollectorMXBean;
31 import java.lang.management.ManagementFactory;
32 import java.lang.ref.Reference;
33 import java.lang.reflect.Field;
34 import java.lang.reflect.Method;
35 import java.util.Collection;
36 import java.util.List;
37 import java.util.function.Function;
38
39 /**
40 * Lambda forms caching test case class. Contains all necessary test routines to
41 * test lambda forms caching in method handles returned by methods of
42 * MethodHandles class.
43 *
44 * @author kshefov
45 */
46 public abstract class LambdaFormTestCase {
47
48 private static final long TIMEOUT = Helper.IS_THOROUGH ? 0L : (long) (Utils.adjustTimeout(Utils.DEFAULT_TEST_TIMEOUT) * 0.9);
49
50 /**
51 * Reflection link to {@code j.l.i.MethodHandle.internalForm} method. It is
52 * used to get a lambda form from a method handle.
53 */
54 protected static final Method INTERNAL_FORM;
55 protected static final Field KIND_FIELD;
56 protected static final Field REF_FIELD;
57 private static final List<GarbageCollectorMXBean> gcInfo;
|