diff options
Diffstat (limited to 'community/openjdk11/ppc64le.patch')
-rw-r--r-- | community/openjdk11/ppc64le.patch | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/community/openjdk11/ppc64le.patch b/community/openjdk11/ppc64le.patch index 88ee55ae05..c3f7165bd8 100644 --- a/community/openjdk11/ppc64le.patch +++ b/community/openjdk11/ppc64le.patch @@ -206,15 +206,15 @@ if (ret_frame.pc() == NULL) { // ucontext wasn't useful -@@ -69,7 +74,11 @@ - if (!((Method*)(istate->method))->is_metaspace_object()) { - return false; - } +@@ -70,7 +75,11 @@ + if (m == NULL || !m->is_valid_method()) return false; + if (!Metaspace::contains((const void*)m->constMethod())) return false; + +#if defined(__GLIBC__) || defined(__UCLIBC__) - uint64_t reg_bcp = uc->uc_mcontext.regs->gpr[14/*R14_bcp*/]; + uint64_t reg_bcp = uc->uc_mcontext.regs->gpr[14/*R14_bcp*/]; +#else // Musl -+ uint64_t reg_bcp = uc->uc_mcontext.gp_regs[14/*R14_bcp*/]; ++ uint64_t reg_bcp = uc->uc_mcontext.gp_regs[14/*R14_bcp*/]; +#endif - uint64_t istate_bcp = istate->bcp; - uint64_t code_start = (uint64_t)(((Method*)(istate->method))->code_base()); - uint64_t code_end = (uint64_t)(((Method*)istate->method)->code_base() + ((Method*)istate->method)->code_size()); + uint64_t istate_bcp = istate->bcp; + uint64_t code_start = (uint64_t)(m->code_base()); + uint64_t code_end = (uint64_t)(m->code_base() + m->code_size()); |