Mercurial > hg > openjdk > jdk8u > hotspot
changeset 9437:4aba9ac9c194
8209996: [PPC64] Fix JFR profiling
Reviewed-by: mdoerr, simonis
author | ghaug |
---|---|
date | Tue, 28 Aug 2018 14:55:06 +0200 |
parents | 72c0dded42ed |
children | 8ad102abaa48 |
files | src/cpu/ppc/vm/frame_ppc.cpp |
diffstat | 1 files changed, 6 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cpu/ppc/vm/frame_ppc.cpp Mon Mar 15 06:25:08 2021 +0000 +++ b/src/cpu/ppc/vm/frame_ppc.cpp Tue Aug 28 14:55:06 2018 +0200 @@ -67,8 +67,8 @@ return false; } - // Unextended sp must be within the stack and above or equal sp - bool unextended_sp_safe = (unextended_sp < thread->stack_base()) && (unextended_sp >= sp); + // Unextended sp must be within the stack + bool unextended_sp_safe = (unextended_sp < thread->stack_base()); if (!unextended_sp_safe) { return false; @@ -76,9 +76,10 @@ // An fp must be within the stack and above (but not equal) sp. bool fp_safe = (fp <= thread->stack_base()) && (fp > sp); - // an interpreter fp must be within the stack and above (but not equal) sp - bool fp_interp_safe = (fp <= thread->stack_base()) && (fp > sp) && - ((fp - sp) >= (ijava_state_size + top_ijava_frame_abi_size)); + // An interpreter fp must be within the stack and above (but not equal) sp. + // Moreover, it must be at least the size of the ijava_state structure. + bool fp_interp_safe = (fp <= thread->stack_base()) && (fp > sp) && + ((fp - sp) >= ijava_state_size); // We know sp/unextended_sp are safe, only fp is questionable here