--- a/hotspot/src/share/vm/prims/jni.cpp Fri Feb 26 16:40:55 2010 -0500
+++ b/hotspot/src/share/vm/prims/jni.cpp Tue Mar 02 12:09:40 2010 -0800
@@ -3401,12 +3401,16 @@
thread->set_thread_state(_thread_in_vm);
// Must do this before initialize_thread_local_storage
thread->record_stack_base_and_size();
+
thread->initialize_thread_local_storage();
if (!os::create_attached_thread(thread)) {
delete thread;
return JNI_ERR;
}
+ // Enable stack overflow checks
+ thread->create_stack_guard_pages();
+
thread->initialize_tlab();
// Crucial that we do not have a safepoint check for this thread, since it has
@@ -3452,9 +3456,6 @@
// to regrab the threads_lock
thread->set_attached();
- // Enable stack overflow checks
- thread->create_stack_guard_pages();
-
// Set java thread status.
java_lang_Thread::set_thread_status(thread->threadObj(),
java_lang_Thread::RUNNABLE);