Merge
This commit is contained in:
commit
870555cea0
hotspot/src
os/solaris/vm
share/vm
@ -756,15 +756,9 @@ extern "C" void* thread_native_entry(void* thread_addr) {
|
||||
}
|
||||
}
|
||||
|
||||
// If the creator called set priority before we started,
|
||||
// we need to call set_native_priority now that we have an lwp.
|
||||
// We used to get the priority from thr_getprio (we called
|
||||
// thr_setprio way back in create_thread) and pass it to
|
||||
// set_native_priority, but Solaris scales the priority
|
||||
// in java_to_os_priority, so when we read it back here,
|
||||
// we pass trash to set_native_priority instead of what's
|
||||
// in java_to_os_priority. So we save the native priority
|
||||
// in the osThread and recall it here.
|
||||
// Our priority was set when we were created, and stored in the
|
||||
// osthread, but couldn't be passed through to our LWP until now.
|
||||
// So read back the priority and set it again.
|
||||
|
||||
if (osthr->thread_id() != -1) {
|
||||
if (UseThreadPriorities) {
|
||||
@ -1044,6 +1038,10 @@ bool os::create_thread(Thread* thread, ThreadType thr_type,
|
||||
// Remember that we created this thread so we can set priority on it
|
||||
osthread->set_vm_created();
|
||||
|
||||
// Most thread types will set an explicit priority before starting the thread,
|
||||
// but for those that don't we need a valid value to read back in thread_native_entry.
|
||||
osthread->set_native_priority(NormPriority);
|
||||
|
||||
// Initial thread state is INITIALIZED, not SUSPENDED
|
||||
osthread->set_state(INITIALIZED);
|
||||
|
||||
|
@ -545,6 +545,8 @@ CMSCollector::CMSCollector(ConcurrentMarkSweepGeneration* cmsGen,
|
||||
}
|
||||
assert((_conc_workers != NULL) == (ConcGCThreads > 1),
|
||||
"Inconsistency");
|
||||
log_debug(gc)("ConcGCThreads: %u", ConcGCThreads);
|
||||
log_debug(gc)("ParallelGCThreads: %u", ParallelGCThreads);
|
||||
|
||||
// Parallel task queues; these are shared for the
|
||||
// concurrent and stop-world phases of CMS, but
|
||||
|
@ -438,6 +438,8 @@ G1ConcurrentMark::G1ConcurrentMark(G1CollectedHeap* g1h, G1RegionToSpaceMapper*
|
||||
}
|
||||
|
||||
assert(ConcGCThreads > 0, "Should have been set");
|
||||
log_debug(gc)("ConcGCThreads: %u", ConcGCThreads);
|
||||
log_debug(gc)("ParallelGCThreads: %u", ParallelGCThreads);
|
||||
_parallel_marking_threads = ConcGCThreads;
|
||||
_max_parallel_marking_threads = _parallel_marking_threads;
|
||||
|
||||
|
@ -1641,7 +1641,6 @@ void Arguments::set_cms_and_parnew_gc_flags() {
|
||||
}
|
||||
|
||||
log_trace(gc)("MarkStackSize: %uk MarkStackSizeMax: %uk", (unsigned int) (MarkStackSize / K), (uint) (MarkStackSizeMax / K));
|
||||
log_trace(gc)("ConcGCThreads: %u", ConcGCThreads);
|
||||
}
|
||||
#endif // INCLUDE_ALL_GCS
|
||||
|
||||
@ -1949,7 +1948,6 @@ void Arguments::set_g1_gc_flags() {
|
||||
}
|
||||
|
||||
log_trace(gc)("MarkStackSize: %uk MarkStackSizeMax: %uk", (unsigned int) (MarkStackSize / K), (uint) (MarkStackSizeMax / K));
|
||||
log_trace(gc)("ConcGCThreads: %u", ConcGCThreads);
|
||||
}
|
||||
|
||||
void Arguments::set_gc_specific_flags() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user