Revision: 7550
Author:   [email protected]
Date:     Thu Apr  7 14:57:01 2011
Log:      Merge r7549 "Fix auto suspension of the sampler thread" to trunk.

BUG=http://crbug.com/78267
Review URL: http://codereview.chromium.org/6810029
http://code.google.com/p/v8/source/detail?r=7550

Modified:
 /trunk/src/isolate.h
 /trunk/src/version.cc

=======================================
--- /trunk/src/isolate.h        Wed Apr  6 04:17:46 2011
+++ /trunk/src/isolate.h        Thu Apr  7 14:57:01 2011
@@ -897,13 +897,19 @@

   void SetCurrentVMState(StateTag state) {
     if (RuntimeProfiler::IsEnabled()) {
-      if (state == JS) {
-        // JS or non-JS -> JS transition.
+      StateTag current_state = thread_local_top_.current_vm_state_;
+      if (current_state != JS && state == JS) {
+        // Non-JS -> JS transition.
         RuntimeProfiler::IsolateEnteredJS(this);
-      } else if (thread_local_top_.current_vm_state_ == JS) {
+      } else if (current_state == JS && state != JS) {
         // JS -> non-JS transition.
         ASSERT(RuntimeProfiler::IsSomeIsolateInJS());
         RuntimeProfiler::IsolateExitedJS(this);
+      } else {
+        // Other types of state transitions are not interesting to the
+        // runtime profiler, because they don't affect whether we're
+        // in JS or not.
+        ASSERT((current_state == JS) == (state == JS));
       }
     }
     thread_local_top_.current_vm_state_ = state;
=======================================
--- /trunk/src/version.cc       Thu Apr  7 01:45:48 2011
+++ /trunk/src/version.cc       Thu Apr  7 14:57:01 2011
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     2
 #define BUILD_NUMBER      8
-#define PATCH_LEVEL       2
+#define PATCH_LEVEL       3
 // Use 1 for candidates and 0 otherwise.
 // (Boolean macro values are not supported by all preprocessors.)
 #define IS_CANDIDATE_VERSION 0

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

Reply via email to