mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
Merge
This commit is contained in:
commit
056f3ea7aa
214 changed files with 36268 additions and 1305 deletions
|
@ -1138,6 +1138,10 @@ void WatcherThread::print_on(outputStream* st) const {
|
|||
|
||||
void JavaThread::initialize() {
|
||||
// Initialize fields
|
||||
|
||||
// Set the claimed par_id to -1 (ie not claiming any par_ids)
|
||||
set_claimed_par_id(-1);
|
||||
|
||||
set_saved_exception_pc(NULL);
|
||||
set_threadObj(NULL);
|
||||
_anchor.clear();
|
||||
|
@ -1209,7 +1213,18 @@ void JavaThread::initialize() {
|
|||
pd_initialize();
|
||||
}
|
||||
|
||||
JavaThread::JavaThread(bool is_attaching) : Thread() {
|
||||
#ifndef SERIALGC
|
||||
SATBMarkQueueSet JavaThread::_satb_mark_queue_set;
|
||||
DirtyCardQueueSet JavaThread::_dirty_card_queue_set;
|
||||
#endif // !SERIALGC
|
||||
|
||||
JavaThread::JavaThread(bool is_attaching) :
|
||||
Thread()
|
||||
#ifndef SERIALGC
|
||||
, _satb_mark_queue(&_satb_mark_queue_set),
|
||||
_dirty_card_queue(&_dirty_card_queue_set)
|
||||
#endif // !SERIALGC
|
||||
{
|
||||
initialize();
|
||||
_is_attaching = is_attaching;
|
||||
}
|
||||
|
@ -1255,7 +1270,13 @@ void JavaThread::block_if_vm_exited() {
|
|||
// Remove this ifdef when C1 is ported to the compiler interface.
|
||||
static void compiler_thread_entry(JavaThread* thread, TRAPS);
|
||||
|
||||
JavaThread::JavaThread(ThreadFunction entry_point, size_t stack_sz) : Thread() {
|
||||
JavaThread::JavaThread(ThreadFunction entry_point, size_t stack_sz) :
|
||||
Thread()
|
||||
#ifndef SERIALGC
|
||||
, _satb_mark_queue(&_satb_mark_queue_set),
|
||||
_dirty_card_queue(&_dirty_card_queue_set)
|
||||
#endif // !SERIALGC
|
||||
{
|
||||
if (TraceThreadEvents) {
|
||||
tty->print_cr("creating thread %p", this);
|
||||
}
|
||||
|
@ -3067,9 +3088,14 @@ jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {
|
|||
|
||||
#ifndef SERIALGC
|
||||
// Support for ConcurrentMarkSweep. This should be cleaned up
|
||||
// and better encapsulated. XXX YSR
|
||||
if (UseConcMarkSweepGC) {
|
||||
ConcurrentMarkSweepThread::makeSurrogateLockerThread(THREAD);
|
||||
// and better encapsulated. The ugly nested if test would go away
|
||||
// once things are properly refactored. XXX YSR
|
||||
if (UseConcMarkSweepGC || UseG1GC) {
|
||||
if (UseConcMarkSweepGC) {
|
||||
ConcurrentMarkSweepThread::makeSurrogateLockerThread(THREAD);
|
||||
} else {
|
||||
ConcurrentMarkThread::makeSurrogateLockerThread(THREAD);
|
||||
}
|
||||
if (HAS_PENDING_EXCEPTION) {
|
||||
vm_exit_during_initialization(Handle(THREAD, PENDING_EXCEPTION));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue