Mercurial > hg > truffle
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); |