--- a/hotspot/src/share/vm/prims/forte.cpp Wed Aug 31 09:48:21 2011 -0700
+++ b/hotspot/src/share/vm/prims/forte.cpp Wed Aug 31 16:46:11 2011 -0700
@@ -522,25 +522,6 @@
extern "C" {
JNIEXPORT
void AsyncGetCallTrace(ASGCT_CallTrace *trace, jint depth, void* ucontext) {
-
-// This is if'd out because we no longer use thread suspension.
-// However if someone wanted to backport this to a 5.0 jvm then this
-// code would be important.
-#if 0
- if (SafepointSynchronize::is_synchronizing()) {
- // The safepoint mechanism is trying to synchronize all the threads.
- // Since this can involve thread suspension, it is not safe for us
- // to be here. We can reduce the deadlock risk window by quickly
- // returning to the SIGPROF handler. However, it is still possible
- // for VMThread to catch us here or in the SIGPROF handler. If we
- // are suspended while holding a resource and another thread blocks
- // on that resource in the SIGPROF handler, then we will have a
- // three-thread deadlock (VMThread, this thread, the other thread).
- trace->num_frames = ticks_safepoint; // -10
- return;
- }
-#endif
-
JavaThread* thread;
if (trace->env_id == NULL ||