comparison agent/src/share/classes/sun/jvm/hotspot/memory/LoaderConstraintEntry.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 c18cbe5936b8
children 1d1603768966
comparison
equal deleted inserted replaced
2176:27e4ea99855d 2177:3582bf76420e
40 }); 40 });
41 } 41 }
42 42
43 private static synchronized void initialize(TypeDataBase db) { 43 private static synchronized void initialize(TypeDataBase db) {
44 Type type = db.lookupType("LoaderConstraintEntry"); 44 Type type = db.lookupType("LoaderConstraintEntry");
45 nameField = type.getOopField("_name"); 45 nameField = type.getAddressField("_name");
46 numLoadersField = type.getCIntegerField("_num_loaders"); 46 numLoadersField = type.getCIntegerField("_num_loaders");
47 maxLoadersField = type.getCIntegerField("_max_loaders"); 47 maxLoadersField = type.getCIntegerField("_max_loaders");
48 loadersField = type.getAddressField("_loaders"); 48 loadersField = type.getAddressField("_loaders");
49 } 49 }
50 50
51 // Fields 51 // Fields
52 private static sun.jvm.hotspot.types.OopField nameField; 52 private static AddressField nameField;
53 private static CIntegerField numLoadersField; 53 private static CIntegerField numLoadersField;
54 private static CIntegerField maxLoadersField; 54 private static CIntegerField maxLoadersField;
55 private static AddressField loadersField; 55 private static AddressField loadersField;
56 56
57 // Accessors 57 // Accessors
58 58
59 public Symbol name() { 59 public Symbol name() {
60 return (Symbol) VM.getVM().getObjectHeap().newOop(nameField.getValue(addr)); 60 return Symbol.create(nameField.getValue(addr));
61 } 61 }
62 62
63 public int numLoaders() { 63 public int numLoaders() {
64 return (int) numLoadersField.getValue(addr); 64 return (int) numLoadersField.getValue(addr);
65 } 65 }