25 import java.time.Instant;
26 import java.util.List;
27
28 import jdk.jfr.Event;
29 import jdk.jfr.Recording;
30 import jdk.jfr.consumer.RecordedClass;
31 import jdk.jfr.consumer.RecordedClassLoader;
32 import jdk.jfr.consumer.RecordedEvent;
33 import jdk.jfr.consumer.RecordedFrame;
34 import jdk.jfr.consumer.RecordedStackTrace;
35 import jdk.jfr.consumer.RecordedThread;
36 import jdk.jfr.internal.test.WhiteBox;
37 import jdk.test.lib.Asserts;
38 import jdk.test.lib.jfr.EventNames;
39 import jdk.test.lib.jfr.Events;
40 import jdk.test.lib.jfr.TestClassLoader;
41
42 /**
43 * @test
44 * @summary The test verifies that an old object sample maintains references to "stale" metadata
45 * @requires vm.hasJFR
46 * @requires vm.flagless
47 * @modules jdk.jfr/jdk.jfr.internal.test
48 * @library /test/lib /test/jdk
49 * @build jdk.jfr.event.oldobject.TestMetadataObject
50 * @run main/othervm -XX:TLABSize=2k -Xmx16m jdk.jfr.event.oldobject.TestMetadataRetention
51 */
52 public final class TestMetadataRetention {
53 private final static String TEST_PACKAGE = TestMetadataRetention.class.getPackage().getName();
54 private final static String TEST_CLASS_LOADER_NAME = "JFR TestClassLoader";
55 private final static String TEST_CLASS_NAME = TEST_PACKAGE + ".TestMetadataObject";
56 private final static String ALLOCATOR_THREAD_NAME = "TestAllocationThread";
57
58 public static ClassLoader testClassLoader;
59 public static Object leakObject;
60 public static Thread allocatorThread;
61 public static Class<?> testClass;
62
63 static class ChunkRotation extends Event {
64 }
65
66 public static void main(String[] args) throws Throwable {
|
25 import java.time.Instant;
26 import java.util.List;
27
28 import jdk.jfr.Event;
29 import jdk.jfr.Recording;
30 import jdk.jfr.consumer.RecordedClass;
31 import jdk.jfr.consumer.RecordedClassLoader;
32 import jdk.jfr.consumer.RecordedEvent;
33 import jdk.jfr.consumer.RecordedFrame;
34 import jdk.jfr.consumer.RecordedStackTrace;
35 import jdk.jfr.consumer.RecordedThread;
36 import jdk.jfr.internal.test.WhiteBox;
37 import jdk.test.lib.Asserts;
38 import jdk.test.lib.jfr.EventNames;
39 import jdk.test.lib.jfr.Events;
40 import jdk.test.lib.jfr.TestClassLoader;
41
42 /**
43 * @test
44 * @summary The test verifies that an old object sample maintains references to "stale" metadata
45 * @requires vm.flagless
46 * @requires vm.hasJFR
47 * @requires !(vm.opt.final.UseCompactObjectHeaders == true | vm.opt.final.UseShenandoahGC == true)
48 * @modules jdk.jfr/jdk.jfr.internal.test
49 * @library /test/lib /test/jdk
50 * @build jdk.jfr.event.oldobject.TestMetadataObject
51 * @run main/othervm -XX:TLABSize=2k -Xmx16m jdk.jfr.event.oldobject.TestMetadataRetention
52 */
53 public final class TestMetadataRetention {
54 private final static String TEST_PACKAGE = TestMetadataRetention.class.getPackage().getName();
55 private final static String TEST_CLASS_LOADER_NAME = "JFR TestClassLoader";
56 private final static String TEST_CLASS_NAME = TEST_PACKAGE + ".TestMetadataObject";
57 private final static String ALLOCATOR_THREAD_NAME = "TestAllocationThread";
58
59 public static ClassLoader testClassLoader;
60 public static Object leakObject;
61 public static Thread allocatorThread;
62 public static Class<?> testClass;
63
64 static class ChunkRotation extends Event {
65 }
66
67 public static void main(String[] args) throws Throwable {
|