comparison agent/src/share/classes/sun/jvm/hotspot/tools/StackTrace.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 38ea2efa32a7
comparison
equal deleted inserted replaced
6724:36d1d483d5d6 6725:da91efe96a93
1 /* 1 /*
2 * Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2002, 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.
29 import sun.jvm.hotspot.oops.*; 29 import sun.jvm.hotspot.oops.*;
30 30
31 /** Traverses and prints the stack traces for all Java threads in the 31 /** Traverses and prints the stack traces for all Java threads in the
32 * remote VM */ 32 * remote VM */
33 public class StackTrace extends Tool { 33 public class StackTrace extends Tool {
34 // in non-verbose mode pc, sp and methodOop are not printed 34 // in non-verbose mode pc, sp and Method* are not printed
35 public StackTrace(boolean v, boolean concurrentLocks) { 35 public StackTrace(boolean v, boolean concurrentLocks) {
36 this.verbose = v; 36 this.verbose = v;
37 this.concurrentLocks = concurrentLocks; 37 this.concurrentLocks = concurrentLocks;
38 } 38 }
39 39
87 Address pc = vf.getFrame().getPC(); 87 Address pc = vf.getFrame().getPC();
88 if (pc != null) { 88 if (pc != null) {
89 tty.print(", pc=" + pc); 89 tty.print(", pc=" + pc);
90 } 90 }
91 91
92 tty.print(", methodOop=" + method.getHandle()); 92 tty.print(", Method*=" + method.getAddress());
93 } 93 }
94 94
95 if (vf.isCompiledFrame()) { 95 if (vf.isCompiledFrame()) {
96 tty.print(" (Compiled frame"); 96 tty.print(" (Compiled frame");
97 if (vf.isDeoptimized()) { 97 if (vf.isDeoptimized()) {