< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/ObjectReader.java

Print this page




 118          return Boolean.FALSE;
 119       } else if (clz == Character.TYPE) {
 120          return new Character(' ');
 121       } else if (clz == Byte.TYPE) {
 122          return new Byte((byte) 0);
 123       } else if (clz == Short.TYPE) {
 124          return new Short((short) 0);
 125       } else if (clz == Integer.TYPE) {
 126          return new Integer(0);
 127       } else if (clz == Long.TYPE) {
 128          return new Long(0L);
 129       } else if (clz == Float.TYPE) {
 130          return new Float(0.0f);
 131       } else if (clz == Double.TYPE) {
 132          return new Double(0.0);
 133       } else {
 134          throw new RuntimeException("should not reach here!");
 135       }
 136    }
 137 
 138    protected Symbol javaLangString;
 139    protected Symbol javaUtilHashtableEntry;
 140    protected Symbol javaUtilHashtable;
 141    protected Symbol javaUtilProperties;
 142 
 143    protected Symbol getVMSymbol(String name) {
 144       return VM.getVM().getSymbolTable().probe(name);
 145    }
 146 
 147    protected Symbol javaLangString() {
 148       if (javaLangString == null) {
 149          javaLangString = getVMSymbol("java/lang/String");
 150       }
 151       return javaLangString;
 152    }
 153 
 154    protected Symbol javaUtilHashtableEntry() {
 155       if (javaUtilHashtableEntry == null) {
 156          javaUtilHashtableEntry = getVMSymbol("java/util/Hashtable$Entry");
 157       }
 158       return javaUtilHashtableEntry;
 159    }
 160 
 161    protected Symbol javaUtilHashtable() {
 162       if (javaUtilHashtable == null) {
 163          javaUtilHashtable = getVMSymbol("java/util/Hashtable");
 164       }
 165       return javaUtilHashtable;
 166    }
 167 
 168    protected Symbol javaUtilProperties() {
 169       if (javaUtilProperties == null) {
 170          javaUtilProperties = getVMSymbol("java/util/Properties");
 171       }
 172       return javaUtilProperties;
 173    }
 174 
 175    private void setHashtableEntry(java.util.Hashtable p, Oop oop) {
 176       InstanceKlass ik = (InstanceKlass)oop.getKlass();
 177       OopField keyField = (OopField)ik.findField("key", "Ljava/lang/Object;");
 178       OopField valueField = (OopField)ik.findField("value", "Ljava/lang/Object;");
 179       OopField nextField = (OopField)ik.findField("next", "Ljava/util/Hashtable$Entry;");
 180       if (DEBUG) {
 181          if (Assert.ASSERTS_ENABLED) {
 182             Assert.that(ik.getName().equals(javaUtilHashtableEntry()), "Not a Hashtable$Entry?");
 183             Assert.that(keyField != null && valueField != null && nextField != null, "Invalid fields!");
 184          }
 185       }
 186 
 187       Object key = null;
 188       Object value = null;
 189       Oop next = null;
 190       try {




 118          return Boolean.FALSE;
 119       } else if (clz == Character.TYPE) {
 120          return new Character(' ');
 121       } else if (clz == Byte.TYPE) {
 122          return new Byte((byte) 0);
 123       } else if (clz == Short.TYPE) {
 124          return new Short((short) 0);
 125       } else if (clz == Integer.TYPE) {
 126          return new Integer(0);
 127       } else if (clz == Long.TYPE) {
 128          return new Long(0L);
 129       } else if (clz == Float.TYPE) {
 130          return new Float(0.0f);
 131       } else if (clz == Double.TYPE) {
 132          return new Double(0.0);
 133       } else {
 134          throw new RuntimeException("should not reach here!");
 135       }
 136    }
 137 
 138    protected String javaLangString;
 139    protected String javaUtilHashtableEntry;
 140    protected String javaUtilHashtable;
 141    protected String javaUtilProperties;
 142 
 143    protected String javaLangString() {




 144       if (javaLangString == null) {
 145          javaLangString = "java/lang/String";
 146       }
 147       return javaLangString;
 148    }
 149 
 150    protected String javaUtilHashtableEntry() {
 151       if (javaUtilHashtableEntry == null) {
 152          javaUtilHashtableEntry = "java/util/Hashtable$Entry";
 153       }
 154       return javaUtilHashtableEntry;
 155    }
 156 
 157    protected String javaUtilHashtable() {
 158       if (javaUtilHashtable == null) {
 159          javaUtilHashtable = "java/util/Hashtable";
 160       }
 161       return javaUtilHashtable;
 162    }
 163 
 164    protected String javaUtilProperties() {
 165       if (javaUtilProperties == null) {
 166          javaUtilProperties = "java/util/Properties";
 167       }
 168       return javaUtilProperties;
 169    }
 170 
 171    private void setHashtableEntry(java.util.Hashtable p, Oop oop) {
 172       InstanceKlass ik = (InstanceKlass)oop.getKlass();
 173       OopField keyField = (OopField)ik.findField("key", "Ljava/lang/Object;");
 174       OopField valueField = (OopField)ik.findField("value", "Ljava/lang/Object;");
 175       OopField nextField = (OopField)ik.findField("next", "Ljava/util/Hashtable$Entry;");
 176       if (DEBUG) {
 177          if (Assert.ASSERTS_ENABLED) {
 178             Assert.that(ik.getName().equals(javaUtilHashtableEntry()), "Not a Hashtable$Entry?");
 179             Assert.that(keyField != null && valueField != null && nextField != null, "Invalid fields!");
 180          }
 181       }
 182 
 183       Object key = null;
 184       Object value = null;
 185       Oop next = null;
 186       try {


< prev index next >