Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6892742

Improve root set used by jhat

XMLWordPrintable

    • b78
    • generic
    • generic
    • Not verified

        See http://mail.openjdk.java.net/pipermail/serviceability-dev/2009-October/001591.html


        diff --git a/src/share/classes/com/sun/tools/hat/internal/model/JavaStatic.java b/src/share/classes/com/sun/tools/hat/internal/model/JavaStatic.java
        --- a/src/share/classes/com/sun/tools/hat/internal/model/JavaStatic.java
        +++ b/src/share/classes/com/sun/tools/hat/internal/model/JavaStatic.java
        @@ -57,7 +57,10 @@ public class JavaStatic {
                     id = ((JavaObjectRef)value).getId();
                 }
                 value = value.dereference(snapshot, field);
        - if (value.isHeapAllocated()) {
        + if (value.isHeapAllocated() &&
        + clazz.getLoader() == snapshot.getNullThing()) {
        + // static fields are only roots if they are in classes
        + // loaded by the root classloader.
                     JavaHeapObject ho = (JavaHeapObject) value;
                     String s = "Static reference from " + clazz.getName()
                                + "." + field.getName();

              ohair Kelly Ohair (Inactive)
              ohair Kelly Ohair (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: