< prev index next >

test/jdk/jdk/jfr/event/oldobject/TestObjectAge.java

Print this page

20  * or visit www.oracle.com if you need additional information or have any
21  * questions.
22  */
23 
24 package jdk.jfr.event.oldobject;
25 
26 import java.time.Duration;
27 import java.util.ArrayList;
28 import java.util.List;
29 
30 import jdk.jfr.Recording;
31 import jdk.jfr.consumer.RecordedEvent;
32 import jdk.jfr.internal.test.WhiteBox;
33 import jdk.test.lib.jfr.EventNames;
34 import jdk.test.lib.jfr.Events;
35 
36 /**
37  * @test
38  * @requires vm.flagless
39  * @requires vm.hasJFR

40  * @library /test/lib /test/jdk
41  * @modules jdk.jfr/jdk.jfr.internal.test
42  * @run main/othervm -XX:TLABSize=2k jdk.jfr.event.oldobject.TestObjectAge
43  */
44 public class TestObjectAge {
45 
46     public final static List<Object[]> leak = new ArrayList<>(OldObjects.MIN_SIZE);
47 
48     public static void main(String[] args) throws Exception {
49         WhiteBox.setWriteAllObjectSamples(true);
50 
51         try (Recording recording = new Recording()) {
52             recording.enable(EventNames.OldObjectSample).withStackTrace().with("cutoff", "1 h");
53             recording.start();
54 
55             // Allocate array to trigger sampling code path for interpreter / c1
56             for (int i = 0; i < OldObjects.MIN_SIZE; i++) {
57                 leak.add(new Object[0]);
58             }
59             recording.stop();

20  * or visit www.oracle.com if you need additional information or have any
21  * questions.
22  */
23 
24 package jdk.jfr.event.oldobject;
25 
26 import java.time.Duration;
27 import java.util.ArrayList;
28 import java.util.List;
29 
30 import jdk.jfr.Recording;
31 import jdk.jfr.consumer.RecordedEvent;
32 import jdk.jfr.internal.test.WhiteBox;
33 import jdk.test.lib.jfr.EventNames;
34 import jdk.test.lib.jfr.Events;
35 
36 /**
37  * @test
38  * @requires vm.flagless
39  * @requires vm.hasJFR
40  * @requires !(vm.opt.final.UseCompactObjectHeaders == true | vm.opt.final.UseShenandoahGC == true)
41  * @library /test/lib /test/jdk
42  * @modules jdk.jfr/jdk.jfr.internal.test
43  * @run main/othervm -XX:TLABSize=2k jdk.jfr.event.oldobject.TestObjectAge
44  */
45 public class TestObjectAge {
46 
47     public final static List<Object[]> leak = new ArrayList<>(OldObjects.MIN_SIZE);
48 
49     public static void main(String[] args) throws Exception {
50         WhiteBox.setWriteAllObjectSamples(true);
51 
52         try (Recording recording = new Recording()) {
53             recording.enable(EventNames.OldObjectSample).withStackTrace().with("cutoff", "1 h");
54             recording.start();
55 
56             // Allocate array to trigger sampling code path for interpreter / c1
57             for (int i = 0; i < OldObjects.MIN_SIZE; i++) {
58                 leak.add(new Object[0]);
59             }
60             recording.stop();
< prev index next >