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
