File tree Expand file tree Collapse file tree 1 file changed +10
-2
lines changed
src/hotspot/os_cpu/linux_arm Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -209,8 +209,16 @@ frame os::fetch_compiled_frame_from_context(const void* ucVoid) {
209209}
210210
211211intptr_t * os::fetch_bcp_from_context (const void * ucVoid) {
212- Unimplemented ();
213- return nullptr ;
212+ assert (ucVoid != nullptr , " invariant" );
213+ const ucontext_t * uc = (const ucontext_t *)ucVoid;
214+ assert (os::Posix::ucontext_is_interpreter (uc), " invariant" );
215+ #if (FP_REG_NUM == 11)
216+ assert (Rbcp == R7, " expected FP=R11, Rbcp=R7" );
217+ return (intptr_t *)uc->uc_mcontext .arm_r7 ;
218+ #else
219+ assert (Rbcp == R11, " expected FP=R7, Rbcp=R11" );
220+ return (intptr_t *)uc->uc_mcontext .arm_fp ; // r11
221+ #endif
214222}
215223
216224frame os::get_sender_for_C_frame (frame* fr) {
You can’t perform that action at this time.
0 commit comments