8200245: Zero fails to build on linux-ia64 due to ia64-specific cruft
authorglaubitz
Wed, 28 Mar 2018 10:49:07 +0200
changeset 49626 db98e571f393
parent 49625 94ef8da94ce9
child 49627 32bdc65633a6
8200245: Zero fails to build on linux-ia64 due to ia64-specific cruft Reviewed-by: dholmes, stuefe
src/hotspot/share/runtime/os.cpp
--- a/src/hotspot/share/runtime/os.cpp	Wed Mar 28 09:21:05 2018 +0200
+++ b/src/hotspot/share/runtime/os.cpp	Wed Mar 28 10:49:07 2018 +0200
@@ -1158,32 +1158,10 @@
   st->print_cr(INTPTR_FORMAT " is an unknown value", p2i(addr));
 }
 
-// Looks like all platforms except IA64 can use the same function to check
-// if C stack is walkable beyond current frame. The check for fp() is not
+// Looks like all platforms can use the same function to check if C
+// stack is walkable beyond current frame. The check for fp() is not
 // necessary on Sparc, but it's harmless.
 bool os::is_first_C_frame(frame* fr) {
-#if (defined(IA64) && !defined(AIX)) && !defined(_WIN32)
-  // On IA64 we have to check if the callers bsp is still valid
-  // (i.e. within the register stack bounds).
-  // Notice: this only works for threads created by the VM and only if
-  // we walk the current stack!!! If we want to be able to walk
-  // arbitrary other threads, we'll have to somehow store the thread
-  // object in the frame.
-  Thread *thread = Thread::current();
-  if ((address)fr->fp() <=
-      thread->register_stack_base() HPUX_ONLY(+ 0x0) LINUX_ONLY(+ 0x50)) {
-    // This check is a little hacky, because on Linux the first C
-    // frame's ('start_thread') register stack frame starts at
-    // "register_stack_base + 0x48" while on HPUX, the first C frame's
-    // ('__pthread_bound_body') register stack frame seems to really
-    // start at "register_stack_base".
-    return true;
-  } else {
-    return false;
-  }
-#elif defined(IA64) && defined(_WIN32)
-  return true;
-#else
   // Load up sp, fp, sender sp and sender fp, check for reasonable values.
   // Check usp first, because if that's bad the other accessors may fault
   // on some architectures.  Ditto ufp second, etc.
@@ -1213,7 +1191,6 @@
   if (old_fp - ufp > 64 * K) return true;
 
   return false;
-#endif
 }