Mercurial > hg > truffle
comparison src/cpu/sparc/vm/frame_sparc.cpp @ 10116:2a9d97b57920
Merge
author | bharadwaj |
---|---|
date | Fri, 19 Apr 2013 03:13:04 -0400 |
parents | f36e073d56a4 |
children | f2110083203d |
comparison
equal
deleted
inserted
replaced
10108:9500809ceead | 10116:2a9d97b57920 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2013, 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. |
302 return false; | 302 return false; |
303 } | 303 } |
304 | 304 |
305 // The sender should positively be an nmethod or call_stub. On sparc we might in fact see something else. | 305 // The sender should positively be an nmethod or call_stub. On sparc we might in fact see something else. |
306 // The cause of this is because at a save instruction the O7 we get is a leftover from an earlier | 306 // The cause of this is because at a save instruction the O7 we get is a leftover from an earlier |
307 // window use. So if a runtime stub creates two frames (common in fastdebug/jvmg) then we see the | 307 // window use. So if a runtime stub creates two frames (common in fastdebug/debug) then we see the |
308 // stale pc. So if the sender blob is not something we'd expect we have little choice but to declare | 308 // stale pc. So if the sender blob is not something we'd expect we have little choice but to declare |
309 // the stack unwalkable. pd_get_top_frame_for_signal_handler tries to recover from this by unwinding | 309 // the stack unwalkable. pd_get_top_frame_for_signal_handler tries to recover from this by unwinding |
310 // that initial frame and retrying. | 310 // that initial frame and retrying. |
311 | 311 |
312 if (!sender_blob->is_nmethod()) { | 312 if (!sender_blob->is_nmethod()) { |