< prev index next >

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

Print this page

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 package jdk.jfr.event.oldobject;
24 
25 import java.util.ArrayList;
26 import java.util.List;
27 
28 import jdk.jfr.Recording;
29 import jdk.jfr.consumer.RecordedEvent;
30 import jdk.jfr.internal.test.WhiteBox;
31 import jdk.test.lib.jfr.EventNames;
32 import jdk.test.lib.jfr.Events;
33 
34 /**
35  * @test
36  * @requires vm.flagless
37  * @requires vm.hasJFR

38  * @library /test/lib /test/jdk
39  * @modules jdk.jfr/jdk.jfr.internal.test
40  * @run main/othervm -XX:TLABSize=2k jdk.jfr.event.oldobject.TestCircularReference
41  */
42 public class TestCircularReference {
43 
44     static class TestCircularReferrer {
45         // Allocate array to trigger sampling code path for interpreter / c1
46         final byte[] leak = new byte[1_0000_000];
47         TestCircularReferrer reference;
48 
49         public void setReference(TestCircularReferrer reference) {
50             this.reference = reference;
51         }
52     }
53 
54     public final static List<Object> referenceHolder = new ArrayList<>(OldObjects.MIN_SIZE);
55 
56     public static void main(String[] args) throws Exception {
57         WhiteBox.setWriteAllObjectSamples(true);

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 package jdk.jfr.event.oldobject;
24 
25 import java.util.ArrayList;
26 import java.util.List;
27 
28 import jdk.jfr.Recording;
29 import jdk.jfr.consumer.RecordedEvent;
30 import jdk.jfr.internal.test.WhiteBox;
31 import jdk.test.lib.jfr.EventNames;
32 import jdk.test.lib.jfr.Events;
33 
34 /**
35  * @test
36  * @requires vm.flagless
37  * @requires vm.hasJFR
38  * @requires !(vm.opt.final.UseCompactObjectHeaders == true | vm.opt.final.UseShenandoahGC == true)
39  * @library /test/lib /test/jdk
40  * @modules jdk.jfr/jdk.jfr.internal.test
41  * @run main/othervm -XX:TLABSize=2k jdk.jfr.event.oldobject.TestCircularReference
42  */
43 public class TestCircularReference {
44 
45     static class TestCircularReferrer {
46         // Allocate array to trigger sampling code path for interpreter / c1
47         final byte[] leak = new byte[1_0000_000];
48         TestCircularReferrer reference;
49 
50         public void setReference(TestCircularReferrer reference) {
51             this.reference = reference;
52         }
53     }
54 
55     public final static List<Object> referenceHolder = new ArrayList<>(OldObjects.MIN_SIZE);
56 
57     public static void main(String[] args) throws Exception {
58         WhiteBox.setWriteAllObjectSamples(true);
< prev index next >