hotspot/src/os_cpu/solaris_x86/vm/thread_solaris_x86.cpp
changeset 35201 996db89f378e
parent 18025 b7bcf7497f93
child 37439 e8970711113b
--- a/hotspot/src/os_cpu/solaris_x86/vm/thread_solaris_x86.cpp	Fri Dec 18 13:38:49 2015 +0000
+++ b/hotspot/src/os_cpu/solaris_x86/vm/thread_solaris_x86.cpp	Sun Dec 20 10:37:23 2015 -0500
@@ -65,23 +65,19 @@
 
   // Something would really have to be screwed up to get a NULL pc
 
-  if (addr.pc() == NULL ) {
+  if (addr.pc() == NULL) {
     assert(false, "NULL pc from signal handler!");
     return false;
-
   }
 
   // If sp and fp are nonsense just leave them out
 
-  if ((address)ret_sp >= jt->stack_base() ||
-      (address)ret_sp < jt->stack_base() - jt->stack_size() ) {
-
-      ret_sp = NULL;
-      ret_fp = NULL;
+  if (!jt->on_local_stack((address)ret_sp)) {
+    ret_sp = NULL;
+    ret_fp = NULL;
   } else {
-
     // sp is reasonable is fp reasonable?
-    if ( (address)ret_fp >= jt->stack_base() || ret_fp < ret_sp) {
+    if ((address)ret_fp >= jt->stack_base() || ret_fp < ret_sp) {
       ret_fp = NULL;
     }
   }