--- a/hotspot/src/share/vm/runtime/safepoint.cpp Thu Aug 12 16:38:23 2010 -0700
+++ b/hotspot/src/share/vm/runtime/safepoint.cpp Thu Aug 12 23:34:34 2010 -0700
@@ -782,6 +782,9 @@
JavaThreadState state = _thread->thread_state();
+ // Save the state at the start of safepoint processing.
+ _orig_thread_state = state;
+
// Check for a thread that is suspended. Note that thread resume tries
// to grab the Threads_lock which we own here, so a thread cannot be
// resumed during safepoint synchronization.