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();
|