< prev index next >

src/hotspot/os_cpu/linux_s390/thread_linux_s390.cpp

Print this page

        

*** 61,72 **** return false; } if (ret_frame.is_interpreted_frame()) { frame::z_ijava_state* istate = ret_frame.ijava_state_unchecked(); ! if ((stack_base() >= (address)istate && (address)istate > stack_end()) || ! MetaspaceObj::is_valid((Method*)(istate->method)) == false) { return false; } uint64_t reg_bcp = uc->uc_mcontext.gregs[13/*Z_BCP*/]; uint64_t istate_bcp = istate->bcp; uint64_t code_start = (uint64_t)(((Method*)(istate->method))->code_base()); --- 61,71 ---- return false; } if (ret_frame.is_interpreted_frame()) { frame::z_ijava_state* istate = ret_frame.ijava_state_unchecked(); ! if ((stack_base() >= (address)istate && (address)istate > stack_end()) || !((Method*)(istate->method))->is_metaspace_object()) { return false; } uint64_t reg_bcp = uc->uc_mcontext.gregs[13/*Z_BCP*/]; uint64_t istate_bcp = istate->bcp; uint64_t code_start = (uint64_t)(((Method*)(istate->method))->code_base());
*** 88,98 **** } // nothing else to try return false; } ! // Forte Analyzer AsyncGetCallTrace profiling support. bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) { ! return pd_get_top_frame_for_profiling(fr_addr, ucontext, isInJava); } void JavaThread::cache_global_variables() { } --- 87,98 ---- } // nothing else to try return false; } ! // Forte Analyzer AsyncGetCallTrace profiling support is not implemented on Linux/S390x. bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) { ! Unimplemented(); ! return false; } void JavaThread::cache_global_variables() { }
< prev index next >