--- a/hotspot/src/os/solaris/vm/os_solaris.cpp Mon Oct 04 10:08:29 2010 -0700
+++ b/hotspot/src/os/solaris/vm/os_solaris.cpp Thu Oct 07 08:06:06 2010 -0700
@@ -4878,18 +4878,17 @@
// Check minimum allowable stack size for thread creation and to initialize
// the java system classes, including StackOverflowError - depends on page
// size. Add a page for compiler2 recursion in main thread.
- // Add in BytesPerWord times page size to account for VM stack during
+ // Add in 2*BytesPerWord times page size to account for VM stack during
// class initialization depending on 32 or 64 bit VM.
- guarantee((Solaris::min_stack_allowed >=
- (StackYellowPages+StackRedPages+StackShadowPages+BytesPerWord
- COMPILER2_PRESENT(+1)) * page_size),
- "need to increase Solaris::min_stack_allowed on this platform");
+ os::Solaris::min_stack_allowed = MAX2(os::Solaris::min_stack_allowed,
+ (size_t)(StackYellowPages+StackRedPages+StackShadowPages+
+ 2*BytesPerWord COMPILER2_PRESENT(+1)) * page_size);
size_t threadStackSizeInBytes = ThreadStackSize * K;
if (threadStackSizeInBytes != 0 &&
- threadStackSizeInBytes < Solaris::min_stack_allowed) {
+ threadStackSizeInBytes < os::Solaris::min_stack_allowed) {
tty->print_cr("\nThe stack size specified is too small, Specify at least %dk",
- Solaris::min_stack_allowed/K);
+ os::Solaris::min_stack_allowed/K);
return JNI_ERR;
}