8062036: ConcurrentMarkThread::slt may be invoked before ConcurrentMarkThread::makeSurrogateLockerThread causing intermittent crashes

Suppress gc_alot during VM init, improve error for SLT uninitialized.

Reviewed-by: jmasa, brutisso, tschatzl
This commit is contained in:
Kim Barrett 2014-11-11 13:39:00 -05:00
parent 692dbfd02d
commit 294a63af5f
5 changed files with 23 additions and 5 deletions

View file

@ -138,6 +138,13 @@ SurrogateLockerThread* SurrogateLockerThread::make(TRAPS) {
return res;
}
void SurrogateLockerThread::report_missing_slt() {
vm_exit_during_initialization(
"GC before GC support fully initialized: "
"SLT is needed but has not yet been created.");
ShouldNotReachHere();
}
void SurrogateLockerThread::manipulatePLL(SLT_msg_type msg) {
MutexLockerEx x(&_monitor, Mutex::_no_safepoint_check_flag);
assert(_buffer == empty, "Should be empty");