mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 03:24:38 +02:00
8248240: Remove extendedPC.hpp and fetch_frame_from_ucontext
This empty interface was left over from deleting code from before safepoint polling. Reviewed-by: lfoltan, dholmes
This commit is contained in:
parent
06cea107ef
commit
a6e794b3e8
23 changed files with 99 additions and 262 deletions
|
@ -38,7 +38,6 @@
|
|||
#include "prims/jniFastGetField.hpp"
|
||||
#include "prims/jvm_misc.hpp"
|
||||
#include "runtime/arguments.hpp"
|
||||
#include "runtime/extendedPC.hpp"
|
||||
#include "runtime/frame.inline.hpp"
|
||||
#include "runtime/interfaceSupport.inline.hpp"
|
||||
#include "runtime/java.hpp"
|
||||
|
@ -122,35 +121,18 @@ intptr_t* os::Linux::ucontext_get_fp(const ucontext_t * uc) {
|
|||
return (intptr_t*)uc->uc_mcontext.gregs[REG_FP];
|
||||
}
|
||||
|
||||
// For Forte Analyzer AsyncGetCallTrace profiling support - thread
|
||||
// is currently interrupted by SIGPROF.
|
||||
// os::Solaris::fetch_frame_from_ucontext() tries to skip nested signal
|
||||
// frames. Currently we don't do that on Linux, so it's the same as
|
||||
// os::fetch_frame_from_context().
|
||||
// This method is also used for stack overflow signal handling.
|
||||
ExtendedPC os::Linux::fetch_frame_from_ucontext(Thread* thread,
|
||||
const ucontext_t* uc, intptr_t** ret_sp, intptr_t** ret_fp) {
|
||||
|
||||
assert(thread != NULL, "just checking");
|
||||
assert(ret_sp != NULL, "just checking");
|
||||
assert(ret_fp != NULL, "just checking");
|
||||
|
||||
return os::fetch_frame_from_context(uc, ret_sp, ret_fp);
|
||||
}
|
||||
|
||||
ExtendedPC os::fetch_frame_from_context(const void* ucVoid,
|
||||
address os::fetch_frame_from_context(const void* ucVoid,
|
||||
intptr_t** ret_sp, intptr_t** ret_fp) {
|
||||
|
||||
ExtendedPC epc;
|
||||
address epc;
|
||||
const ucontext_t* uc = (const ucontext_t*)ucVoid;
|
||||
|
||||
if (uc != NULL) {
|
||||
epc = ExtendedPC(os::Linux::ucontext_get_pc(uc));
|
||||
epc = os::Linux::ucontext_get_pc(uc);
|
||||
if (ret_sp) *ret_sp = os::Linux::ucontext_get_sp(uc);
|
||||
if (ret_fp) *ret_fp = os::Linux::ucontext_get_fp(uc);
|
||||
} else {
|
||||
// construct empty ExtendedPC for return value checking
|
||||
epc = ExtendedPC(NULL);
|
||||
epc = NULL;
|
||||
if (ret_sp) *ret_sp = (intptr_t *)NULL;
|
||||
if (ret_fp) *ret_fp = (intptr_t *)NULL;
|
||||
}
|
||||
|
@ -161,15 +143,8 @@ ExtendedPC os::fetch_frame_from_context(const void* ucVoid,
|
|||
frame os::fetch_frame_from_context(const void* ucVoid) {
|
||||
intptr_t* sp;
|
||||
intptr_t* fp;
|
||||
ExtendedPC epc = fetch_frame_from_context(ucVoid, &sp, &fp);
|
||||
return frame(sp, fp, epc.pc());
|
||||
}
|
||||
|
||||
frame os::fetch_frame_from_ucontext(Thread* thread, void* ucVoid) {
|
||||
intptr_t* sp;
|
||||
intptr_t* fp;
|
||||
ExtendedPC epc = os::Linux::fetch_frame_from_ucontext(thread, (ucontext_t*)ucVoid, &sp, &fp);
|
||||
return frame(sp, fp, epc.pc());
|
||||
address epc = fetch_frame_from_context(ucVoid, &sp, &fp);
|
||||
return frame(sp, fp, epc);
|
||||
}
|
||||
|
||||
bool os::Linux::get_frame_at_stack_banging_point(JavaThread* thread, ucontext_t* uc, frame* fr) {
|
||||
|
@ -179,7 +154,7 @@ bool os::Linux::get_frame_at_stack_banging_point(JavaThread* thread, ucontext_t*
|
|||
// been generated while the compilers perform it before. To maintain
|
||||
// semantic consistency between interpreted and compiled frames, the
|
||||
// method returns the Java sender of the current frame.
|
||||
*fr = os::fetch_frame_from_ucontext(thread, uc);
|
||||
*fr = os::fetch_frame_from_context(uc);
|
||||
if (!fr->is_first_java_frame()) {
|
||||
// get_frame_at_stack_banging_point() is only called when we
|
||||
// have well defined stacks so java_sender() calls do not need
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue