comparison agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassWriter.java @ 2177:3582bf76420e

6990754: Use native memory and reference counting to implement SymbolTable Summary: move symbols from permgen into C heap and reference count them Reviewed-by: never, acorn, jmasa, stefank
author coleenp
date Thu, 27 Jan 2011 16:11:27 -0800
parents dad31fc330cd
children 1d1603768966 ed69575596ac
comparison
equal deleted inserted replaced
2176:27e4ea99855d 2177:3582bf76420e
227 break; 227 break;
228 228
229 case JVM_CONSTANT_Class: { 229 case JVM_CONSTANT_Class: {
230 dos.writeByte(cpConstType); 230 dos.writeByte(cpConstType);
231 // Klass already resolved. ConstantPool constains klassOop. 231 // Klass already resolved. ConstantPool constains klassOop.
232 Klass refKls = (Klass) cpool.getObjAt(ci); 232 Klass refKls = (Klass) cpool.getObjAtRaw(ci);
233 String klassName = refKls.getName().asString(); 233 String klassName = refKls.getName().asString();
234 234
235 Short s = (Short) utf8ToIndex.get(klassName); 235 Short s = (Short) utf8ToIndex.get(klassName);
236 classToIndex.put(klassName, new Short((short)ci)); 236 classToIndex.put(klassName, new Short((short)ci));
237 dos.writeShort(s.shortValue()); 237 dos.writeShort(s.shortValue());
253 break; 253 break;
254 } 254 }
255 255
256 case JVM_CONSTANT_String: { 256 case JVM_CONSTANT_String: {
257 dos.writeByte(cpConstType); 257 dos.writeByte(cpConstType);
258 String str = OopUtilities.stringOopToString(cpool.getObjAt(ci)); 258 String str = OopUtilities.stringOopToString(cpool.getObjAtRaw(ci));
259 Short s = (Short) utf8ToIndex.get(str); 259 Short s = (Short) utf8ToIndex.get(str);
260 dos.writeShort(s.shortValue()); 260 dos.writeShort(s.shortValue());
261 if (DEBUG) debugMessage("CP[" + ci + "] = string " + s); 261 if (DEBUG) debugMessage("CP[" + ci + "] = string " + s);
262 break; 262 break;
263 } 263 }