diff -r b003d950922a -r d8283445992a hotspot/src/share/vm/runtime/vmThread.cpp --- a/hotspot/src/share/vm/runtime/vmThread.cpp Wed Jun 10 14:57:21 2009 -0700 +++ b/hotspot/src/share/vm/runtime/vmThread.cpp Thu Jun 11 12:40:00 2009 -0700 @@ -531,6 +531,7 @@ Thread* t = Thread::current(); if (!t->is_VM_thread()) { + SkipGCALot sgcalot(t); // avoid re-entrant attempts to gc-a-lot // JavaThread or WatcherThread t->check_for_valid_safepoint_state(true);