Mercurial > hg > graal-jvmci-8
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 } |