diff -r cd4ac076bf7f -r a0910b1d3e0d hotspot/src/share/vm/runtime/os.cpp --- a/hotspot/src/share/vm/runtime/os.cpp Fri Dec 11 13:18:10 2015 +0000 +++ b/hotspot/src/share/vm/runtime/os.cpp Fri Dec 11 09:07:07 2015 -0800 @@ -1386,8 +1386,9 @@ // respectively. const int framesize_in_bytes = Interpreter::size_top_interpreter_activation(method()) * wordSize; - int reserved_area = ((StackShadowPages + StackRedPages + StackYellowPages) - * vm_page_size()) + framesize_in_bytes; + int reserved_area = ((StackShadowPages + StackRedPages + StackYellowPages + + StackReservedPages) * vm_page_size()) + + framesize_in_bytes; // The very lower end of the stack address stack_limit = thread->stack_base() - thread->stack_size(); return (sp > (stack_limit + reserved_area));