agent/src/share/classes/sun/jvm/hotspot/memory/BinaryTreeDictionary.java

Print this page




  23  *
  24  */
  25 
  26 package sun.jvm.hotspot.memory;
  27 
  28 import java.util.*;
  29 import sun.jvm.hotspot.debugger.*;
  30 import sun.jvm.hotspot.types.*;
  31 import sun.jvm.hotspot.runtime.*;
  32 
  33 public class BinaryTreeDictionary extends VMObject {
  34    static {
  35       VM.registerVMInitializedObserver(new Observer() {
  36          public void update(Observable o, Object data) {
  37             initialize(VM.getVM().getTypeDataBase());
  38          }
  39       });
  40    }
  41 
  42    private static synchronized void initialize(TypeDataBase db) {
  43       Type type = db.lookupType("BinaryTreeDictionary");
  44       totalSizeField = type.getCIntegerField("_totalSize");
  45    }
  46 
  47    // Fields
  48    private static CIntegerField totalSizeField;
  49 
  50    // Accessors
  51    public long size() {
  52       return totalSizeField.getValue(addr);
  53    }
  54 
  55    // Constructor
  56    public BinaryTreeDictionary(Address addr) {
  57       super(addr);
  58    }
  59 }


  23  *
  24  */
  25 
  26 package sun.jvm.hotspot.memory;
  27 
  28 import java.util.*;
  29 import sun.jvm.hotspot.debugger.*;
  30 import sun.jvm.hotspot.types.*;
  31 import sun.jvm.hotspot.runtime.*;
  32 
  33 public class BinaryTreeDictionary extends VMObject {
  34    static {
  35       VM.registerVMInitializedObserver(new Observer() {
  36          public void update(Observable o, Object data) {
  37             initialize(VM.getVM().getTypeDataBase());
  38          }
  39       });
  40    }
  41 
  42    private static synchronized void initialize(TypeDataBase db) {
  43       Type type = db.lookupType("BinaryTreeDictionary<FreeChunk>");
  44       totalSizeField = type.getCIntegerField("_total_size");
  45    }
  46 
  47    // Fields
  48    private static CIntegerField totalSizeField;
  49 
  50    // Accessors
  51    public long size() {
  52       return totalSizeField.getValue(addr);
  53    }
  54 
  55    // Constructor
  56    public BinaryTreeDictionary(Address addr) {
  57       super(addr);
  58    }
  59 }