Revision: 7612
Author:   [email protected]
Date:     Thu Apr 14 01:53:50 2011
Log: In ProfilerSignalHandler ensure that thread we are trying to sample locked the isolate.

BUG=http://crbug.com/77725

Review URL: http://codereview.chromium.org/6837028
http://code.google.com/p/v8/source/detail?r=7612

Modified:
 /branches/bleeding_edge/src/platform-freebsd.cc
 /branches/bleeding_edge/src/platform-linux.cc

=======================================
--- /branches/bleeding_edge/src/platform-freebsd.cc     Mon Apr 11 16:46:22 2011
+++ /branches/bleeding_edge/src/platform-freebsd.cc     Thu Apr 14 01:53:50 2011
@@ -642,6 +642,11 @@
     // We require a fully initialized and entered isolate.
     return;
   }
+  if (v8::Locker::IsActive() &&
+      !isolate->thread_manager()->IsLockedByCurrentThread()) {
+    return;
+  }
+
   Sampler* sampler = isolate->logger()->sampler();
   if (sampler == NULL || !sampler->IsActive()) return;

=======================================
--- /branches/bleeding_edge/src/platform-linux.cc       Mon Apr 11 23:12:45 2011
+++ /branches/bleeding_edge/src/platform-linux.cc       Thu Apr 14 01:53:50 2011
@@ -853,6 +853,11 @@
     // We require a fully initialized and entered isolate.
     return;
   }
+  if (v8::Locker::IsActive() &&
+      !isolate->thread_manager()->IsLockedByCurrentThread()) {
+    return;
+  }
+
   Sampler* sampler = isolate->logger()->sampler();
   if (sampler == NULL || !sampler->IsActive()) return;

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to