Wed, 12 Nov 2014 13:12:35 -0500
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
src/os_cpu/windows_x86/vm/os_windows_x86.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/os_cpu/windows_x86/vm/os_windows_x86.cpp Mon Nov 17 19:35:09 2014 +0000 1.2 +++ b/src/os_cpu/windows_x86/vm/os_windows_x86.cpp Wed Nov 12 13:12:35 2014 -0500 1.3 @@ -635,7 +635,11 @@ 1.4 #ifndef PRODUCT 1.5 void os::verify_stack_alignment() { 1.6 #ifdef AMD64 1.7 - assert(((intptr_t)os::current_stack_pointer() & (StackAlignmentInBytes-1)) == 0, "incorrect stack alignment"); 1.8 + // The current_stack_pointer() calls generated get_previous_sp stub routine. 1.9 + // Only enable the assert after the routine becomes available. 1.10 + if (StubRoutines::code1() != NULL) { 1.11 + assert(((intptr_t)os::current_stack_pointer() & (StackAlignmentInBytes-1)) == 0, "incorrect stack alignment"); 1.12 + } 1.13 #endif 1.14 } 1.15 #endif