comparison agent/src/share/classes/sun/jvm/hotspot/utilities/PointerFinder.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 3e8fbc61cee8
children
comparison
equal deleted inserted replaced
6724:36d1d483d5d6 6725:da91efe96a93
1 /* 1 /*
2 * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
48 loc.gen = g; 48 loc.gen = g;
49 break; 49 break;
50 } 50 }
51 } 51 }
52 52
53 if (loc.gen == null) {
54 // Should be in perm gen
55 Generation permGen = genheap.permGen();
56 if (Assert.ASSERTS_ENABLED) { 53 if (Assert.ASSERTS_ENABLED) {
57 Assert.that(permGen.isIn(a), "should have been in ordinary or perm gens if it's in the heap"); 54 Assert.that(loc.gen != null, "Should have found this in a generation");
58 }
59 loc.permGen = permGen;
60 } 55 }
61 56
62 if (VM.getVM().getUseTLAB()) { 57 if (VM.getVM().getUseTLAB()) {
63 // Try to find thread containing it 58 // Try to find thread containing it
64 for (JavaThread t = VM.getVM().getThreads().first(); t != null; t = t.next()) { 59 for (JavaThread t = VM.getVM().getThreads().first(); t != null; t = t.next()) {