< prev index next >

src/hotspot/share/runtime/thread.cpp

Print this page
rev 52911 : imported patch no_early_njt

*** 304,322 **** this == align_up(_real_malloc_address, (int)markOopDesc::biased_lock_alignment), "bug in forced alignment of thread objects"); } #endif // ASSERT ! // Notify the barrier set that a thread is being created. Note that some ! // threads are created before a barrier set is available. The call to ! // BarrierSet::on_thread_create() for these threads is therefore deferred // to BarrierSet::set_barrier_set(). BarrierSet* const barrier_set = BarrierSet::barrier_set(); if (barrier_set != NULL) { barrier_set->on_thread_create(this); } else { ! DEBUG_ONLY(Threads::inc_threads_before_barrier_set();) } } void Thread::initialize_thread_current() { #ifndef USE_LIBRARY_BASED_TLS_ONLY --- 304,326 ---- this == align_up(_real_malloc_address, (int)markOopDesc::biased_lock_alignment), "bug in forced alignment of thread objects"); } #endif // ASSERT ! // Notify the barrier set that a thread is being created. The initial ! // thread is created before the barrier set is available. The call to ! // BarrierSet::on_thread_create() for this thread is therefore deferred // to BarrierSet::set_barrier_set(). BarrierSet* const barrier_set = BarrierSet::barrier_set(); if (barrier_set != NULL) { barrier_set->on_thread_create(this); } else { ! #ifdef ASSERT ! static bool initial_thread_created = false; ! assert(!initial_thread_created, "creating thread before barrier set"); ! initial_thread_created = true; ! #endif // ASSERT } } void Thread::initialize_thread_current() { #ifndef USE_LIBRARY_BASED_TLS_ONLY
*** 3393,3403 **** int Threads::_thread_claim_parity = 0; size_t JavaThread::_stack_size_at_create = 0; #ifdef ASSERT bool Threads::_vm_complete = false; - size_t Threads::_threads_before_barrier_set = 0; #endif static inline void *prefetch_and_load_ptr(void **addr, intx prefetch_interval) { Prefetch::read((void*)addr, prefetch_interval); return *addr; --- 3397,3406 ----
< prev index next >