changeset 7398:10842d23f20a

8054008: Using -XX:-LazyBootClassLoader crashes with ACCESS_VIOLATION on Win 64bit. Summary: Only enable the assert for current_stack_pointer after stub routines become available. Reviewed-by: dholmes, roland, lfoltan
author jiangli
date Wed, 12 Nov 2014 13:12:35 -0500
parents 2f445c5048df
children 3375833a603e
files src/os_cpu/windows_x86/vm/os_windows_x86.cpp
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/os_cpu/windows_x86/vm/os_windows_x86.cpp	Mon Nov 17 19:35:09 2014 +0000
+++ b/src/os_cpu/windows_x86/vm/os_windows_x86.cpp	Wed Nov 12 13:12:35 2014 -0500
@@ -635,7 +635,11 @@
 #ifndef PRODUCT
 void os::verify_stack_alignment() {
 #ifdef AMD64
-  assert(((intptr_t)os::current_stack_pointer() & (StackAlignmentInBytes-1)) == 0, "incorrect stack alignment");
+  // The current_stack_pointer() calls generated get_previous_sp stub routine.
+  // Only enable the assert after the routine becomes available.
+  if (StubRoutines::code1() != NULL) {
+    assert(((intptr_t)os::current_stack_pointer() & (StackAlignmentInBytes-1)) == 0, "incorrect stack alignment");
+  }
 #endif
 }
 #endif