hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/StringTable.java
changeset 8076 96d498ec7ae1
parent 5547 f4b087cbb361
child 8727 1642a45f024f
equal deleted inserted replaced
8075:582dd25571b2 8076:96d498ec7ae1
    68   public interface StringVisitor {
    68   public interface StringVisitor {
    69     public void visit(Instance string);
    69     public void visit(Instance string);
    70   }
    70   }
    71 
    71 
    72   public void stringsDo(StringVisitor visitor) {
    72   public void stringsDo(StringVisitor visitor) {
       
    73     ObjectHeap oh = VM.getVM().getObjectHeap();
    73     int numBuckets = tableSize();
    74     int numBuckets = tableSize();
    74     for (int i = 0; i < numBuckets; i++) {
    75     for (int i = 0; i < numBuckets; i++) {
    75       for (HashtableEntry e = (HashtableEntry) bucket(i); e != null;
    76       for (HashtableEntry e = (HashtableEntry) bucket(i); e != null;
    76            e = (HashtableEntry) e.next()) {
    77            e = (HashtableEntry) e.next()) {
    77         visitor.visit((Instance) e.literal());
    78         Instance s = (Instance)oh.newOop(e.literalValue().addOffsetToAsOopHandle(0));
       
    79         visitor.visit(s);
    78       }
    80       }
    79     }
    81     }
    80   }
    82   }
    81 }
    83 }