changeset 52311:0157a3ab61b1

8209996: [PPC64] Fix JFR profiling Reviewed-by: mdoerr, simonis
author ghaug
date Tue, 28 Aug 2018 14:55:06 +0200
parents 0c4f2b26849e
children 46ec360a7014
files src/hotspot/cpu/ppc/frame_ppc.cpp
diffstat 1 files changed, 6 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/hotspot/cpu/ppc/frame_ppc.cpp	Wed Aug 29 10:46:59 2018 -0400
+++ b/src/hotspot/cpu/ppc/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