< prev index next >
src/hotspot/os/aix/os_aix.cpp
Print this page
rev 52189 : [mq]: tinit
*** 774,789 ****
// create new thread
// Thread start routine for all newly created threads
static void *thread_native_entry(Thread *thread) {
! // find out my own stack dimensions
! {
! // actually, this should do exactly the same as thread->record_stack_base_and_size...
! thread->set_stack_base(os::current_stack_base());
! thread->set_stack_size(os::current_stack_size());
! }
const pthread_t pthread_id = ::pthread_self();
const tid_t kernel_thread_id = ::thread_self();
LogTarget(Info, os, thread) lt;
--- 774,784 ----
// create new thread
// Thread start routine for all newly created threads
static void *thread_native_entry(Thread *thread) {
! thread->record_stack_base_and_size();
const pthread_t pthread_id = ::pthread_self();
const tid_t kernel_thread_id = ::thread_self();
LogTarget(Info, os, thread) lt;
*** 832,845 ****
os::Aix::init_thread_fpu_state();
assert(osthread->get_state() == RUNNABLE, "invalid os thread state");
// Call one more level start routine.
! thread->run();
!
! log_info(os, thread)("Thread finished (tid: " UINTX_FORMAT ", kernel thread id: " UINTX_FORMAT ").",
! os::current_thread_id(), (uintx) kernel_thread_id);
// If a thread has not deleted itself ("delete this") as part of its
// termination sequence, we have to ensure thread-local-storage is
// cleared before we actually terminate. No threads should ever be
// deleted asynchronously with respect to their termination.
--- 827,837 ----
os::Aix::init_thread_fpu_state();
assert(osthread->get_state() == RUNNABLE, "invalid os thread state");
// Call one more level start routine.
! thread->call_run();
// If a thread has not deleted itself ("delete this") as part of its
// termination sequence, we have to ensure thread-local-storage is
// cleared before we actually terminate. No threads should ever be
// deleted asynchronously with respect to their termination.
< prev index next >