Mercurial > hg > truffle
diff agent/src/share/classes/sun/jvm/hotspot/memory/StringTable.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 | 924777755fad |
line wrap: on
line diff
--- a/agent/src/share/classes/sun/jvm/hotspot/memory/StringTable.java Thu Jan 27 13:42:28 2011 -0800 +++ b/agent/src/share/classes/sun/jvm/hotspot/memory/StringTable.java Thu Jan 27 16:11:27 2011 -0800 @@ -70,11 +70,13 @@ } public void stringsDo(StringVisitor visitor) { + ObjectHeap oh = VM.getVM().getObjectHeap(); int numBuckets = tableSize(); for (int i = 0; i < numBuckets; i++) { for (HashtableEntry e = (HashtableEntry) bucket(i); e != null; e = (HashtableEntry) e.next()) { - visitor.visit((Instance) e.literal()); + Instance s = (Instance)oh.newOop(e.literalValue().addOffsetToAsOopHandle(0)); + visitor.visit(s); } } }