comparison src/share/vm/runtime/arguments.cpp @ 1311:2a1472c30599

4396719: Mark Sweep stack overflow on deeply nested Object arrays Summary: Use an explicit stack for object arrays and process them in chunks. Reviewed-by: iveresov, apetrusenko
author jcoomes
date Wed, 03 Mar 2010 14:48:26 -0800
parents 5f1f51edaff6
children cc98cc548f51
comparison
equal deleted inserted replaced
1289:d47555d7aca8 1311:2a1472c30599
1344 if (FLAG_IS_DEFAULT(MaxGCPauseMillis)) { 1344 if (FLAG_IS_DEFAULT(MaxGCPauseMillis)) {
1345 FLAG_SET_DEFAULT(MaxGCPauseMillis, 200); 1345 FLAG_SET_DEFAULT(MaxGCPauseMillis, 200);
1346 } 1346 }
1347 1347
1348 if (FLAG_IS_DEFAULT(MarkStackSize)) { 1348 if (FLAG_IS_DEFAULT(MarkStackSize)) {
1349 // Size as a multiple of TaskQueueSuper::N which is larger 1349 FLAG_SET_DEFAULT(MarkStackSize, 128 * TASKQUEUE_SIZE);
1350 // for 64-bit.
1351 FLAG_SET_DEFAULT(MarkStackSize, 128 * TaskQueueSuper::total_size());
1352 } 1350 }
1353 if (PrintGCDetails && Verbose) { 1351 if (PrintGCDetails && Verbose) {
1354 tty->print_cr("MarkStackSize: %uk MarkStackSizeMax: %uk", 1352 tty->print_cr("MarkStackSize: %uk MarkStackSizeMax: %uk",
1355 MarkStackSize / K, MarkStackSizeMax / K); 1353 MarkStackSize / K, MarkStackSizeMax / K);
1356 tty->print_cr("ConcGCThreads: %u", ConcGCThreads); 1354 tty->print_cr("ConcGCThreads: %u", ConcGCThreads);