comparison agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64CurrentFrameGuess.java @ 0:a61af66fc99e jdk7-b24

Initial load
author duke
date Sat, 01 Dec 2007 00:00:00 +0000
parents
children c18cbe5936b8
comparison
equal deleted inserted replaced
-1:000000000000 0:a61af66fc99e
1 /*
2 * Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
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
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
20 * CA 95054 USA or visit www.sun.com if you need additional information or
21 * have any questions.
22 *
23 */
24
25 package sun.jvm.hotspot.runtime.ia64;
26
27 import sun.jvm.hotspot.debugger.*;
28 import sun.jvm.hotspot.debugger.ia64.*;
29 import sun.jvm.hotspot.code.*;
30 import sun.jvm.hotspot.interpreter.*;
31 import sun.jvm.hotspot.runtime.*;
32
33 /** <P> Should be able to be used on all ia64 platforms we support
34 (Win32, Linux) to implement JavaThread's
35 "currentFrameGuess()" functionality. Input is an IA64ThreadContext;
36 output is SP, FP, and PC for an IA64Frame. Instantiation of the
37 IA64Frame is left to the caller, since we may need to subclass
38 IA64Frame to support signal handler frames on Unix platforms. </P>
39
40 <P> This is pretty much impossible on ia64.
41 </P> */
42
43 public class IA64CurrentFrameGuess {
44 private IA64ThreadContext context;
45 private JavaThread thread;
46 private Address spFound;
47 private Address fpFound;
48 private Address pcFound;
49
50 private static final boolean DEBUG = false;
51
52 public IA64CurrentFrameGuess(IA64ThreadContext context,
53 JavaThread thread) {
54 this.context = context;
55 this.thread = thread;
56 }
57
58 /** Returns false if not able to find a frame within a reasonable range. */
59 public boolean run(long regionInBytesToSearch) {
60 /*
61 Without using the stack walking library this is not possible on ia64.
62 There is also the issue of walking dynamic code where there is no
63 stack walking info generated.
64 */
65 return false;
66 }
67
68 public Address getSP() { return null; }
69 public Address getFP() { return null; }
70 /** May be null if getting values from thread-local storage; take
71 care to call the correct IA64Frame constructor to recover this if
72 necessary */
73 public Address getPC() { return null; }
74
75 private void setValues(Address sp, Address fp, Address pc) {
76 spFound = sp;
77 fpFound = fp;
78 pcFound = pc;
79 }
80 }