Mercurial > hg > truffle
diff agent/src/share/classes/sun/jvm/hotspot/memory/SharedHeap.java @ 6725:da91efe96a93
6964458: Reimplement class meta-data storage to use native memory
Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author | coleenp |
---|---|
date | Sat, 01 Sep 2012 13:25:18 -0400 |
parents | c18cbe5936b8 |
children |
line wrap: on
line diff
--- a/agent/src/share/classes/sun/jvm/hotspot/memory/SharedHeap.java Fri Aug 31 16:39:35 2012 -0700 +++ b/agent/src/share/classes/sun/jvm/hotspot/memory/SharedHeap.java Sat Sep 01 13:25:18 2012 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -33,7 +33,6 @@ import sun.jvm.hotspot.types.*; public abstract class SharedHeap extends CollectedHeap { - private static AddressField permGenField; private static VirtualConstructor ctor; static { @@ -46,31 +45,14 @@ private static synchronized void initialize(TypeDataBase db) { Type type = db.lookupType("SharedHeap"); - permGenField = type.getAddressField("_perm_gen"); ctor = new VirtualConstructor(db); - ctor.addMapping("CompactingPermGen", CompactingPermGen.class); - ctor.addMapping("CMSPermGen", CMSPermGen.class); - } public SharedHeap(Address addr) { super(addr); } - /** These functions return the "permanent" generation, in which - reflective objects are allocated and stored. Two versions, the - second of which returns the view of the perm gen as a - generation. (FIXME: this distinction is strange and seems - unnecessary, and should be cleaned up.) */ - public PermGen perm() { - return (PermGen) ctor.instantiateWrapperFor(permGenField.getValue(addr)); - } - public CollectedHeapName kind() { return CollectedHeapName.SHARED_HEAP; } - - public Generation permGen() { - return perm().asGen(); } -}