Index: src/log.cc |
diff --git a/src/log.cc b/src/log.cc |
index 9a3c54d0432b72ec54887615fc0f679a6c561623..88527ca6b304d67b6fdd7d317988877da06568d0 100644 |
--- a/src/log.cc |
+++ b/src/log.cc |
@@ -44,37 +44,6 @@ |
namespace v8 { |
namespace internal { |
-// |
-// Sliding state window. Updates counters to keep track of the last |
-// window of kBufferSize states. This is useful to track where we |
-// spent our time. |
-// |
-class SlidingStateWindow { |
- public: |
- explicit SlidingStateWindow(Isolate* isolate); |
- ~SlidingStateWindow(); |
- void AddState(StateTag state); |
- |
- private: |
- static const int kBufferSize = 256; |
- Counters* counters_; |
- int current_index_; |
- bool is_full_; |
- byte buffer_[kBufferSize]; |
- |
- |
- void IncrementStateCounter(StateTag state) { |
- counters_->state_counters(state)->Increment(); |
- } |
- |
- |
- void DecrementStateCounter(StateTag state) { |
- counters_->state_counters(state)->Decrement(); |
- } |
-}; |
- |
- |
-// |
// The Profiler samples pc and sp values for the main thread. |
// Each sample is appended to a circular buffer. |
// An independent thread removes data and writes it to the log. |
@@ -189,24 +158,12 @@ class Ticker: public Sampler { |
public: |
Ticker(Isolate* isolate, int interval): |
Sampler(isolate, interval), |
- window_(NULL), |
profiler_(NULL) {} |
~Ticker() { if (IsActive()) Stop(); } |
virtual void Tick(TickSample* sample) { |
if (profiler_) profiler_->Insert(sample); |
- if (window_) window_->AddState(sample->state); |
- } |
- |
- void SetWindow(SlidingStateWindow* window) { |
- window_ = window; |
- if (!IsActive()) Start(); |
- } |
- |
- void ClearWindow() { |
- window_ = NULL; |
- if (!profiler_ && IsActive() && !RuntimeProfiler::IsEnabled()) Stop(); |
} |
void SetProfiler(Profiler* profiler) { |
@@ -219,7 +176,7 @@ class Ticker: public Sampler { |
void ClearProfiler() { |
DecreaseProfilingDepth(); |
profiler_ = NULL; |
- if (!window_ && IsActive() && !RuntimeProfiler::IsEnabled()) Stop(); |
+ if (IsActive()) Stop(); |
} |
protected: |
@@ -228,42 +185,11 @@ class Ticker: public Sampler { |
} |
private: |
- SlidingStateWindow* window_; |
Profiler* profiler_; |
}; |
// |
-// SlidingStateWindow implementation. |
-// |
-SlidingStateWindow::SlidingStateWindow(Isolate* isolate) |
- : counters_(isolate->counters()), current_index_(0), is_full_(false) { |
- for (int i = 0; i < kBufferSize; i++) { |
- buffer_[i] = static_cast<byte>(OTHER); |
- } |
- isolate->logger()->ticker_->SetWindow(this); |
-} |
- |
- |
-SlidingStateWindow::~SlidingStateWindow() { |
- LOGGER->ticker_->ClearWindow(); |
-} |
- |
- |
-void SlidingStateWindow::AddState(StateTag state) { |
- if (is_full_) { |
- DecrementStateCounter(static_cast<StateTag>(buffer_[current_index_])); |
- } else if (current_index_ == kBufferSize - 1) { |
- is_full_ = true; |
- } |
- buffer_[current_index_] = static_cast<byte>(state); |
- IncrementStateCounter(state); |
- ASSERT(IsPowerOf2(kBufferSize)); |
- current_index_ = (current_index_ + 1) & (kBufferSize - 1); |
-} |
- |
- |
-// |
// Profiler implementation. |
// |
Profiler::Profiler(Isolate* isolate) |
@@ -518,7 +444,6 @@ class Logger::NameBuffer { |
Logger::Logger() |
: ticker_(NULL), |
profiler_(NULL), |
- sliding_state_window_(NULL), |
log_events_(NULL), |
logging_nesting_(0), |
cpu_profiler_nesting_(0), |
@@ -1412,9 +1337,7 @@ void Logger::PauseProfiler() { |
if (--cpu_profiler_nesting_ == 0) { |
profiler_->pause(); |
if (FLAG_prof_lazy) { |
- if (!FLAG_sliding_state_window && !RuntimeProfiler::IsEnabled()) { |
- ticker_->Stop(); |
- } |
+ ticker_->Stop(); |
FLAG_log_code = false; |
LOG(ISOLATE, UncheckedStringEvent("profiler", "pause")); |
} |
@@ -1435,9 +1358,7 @@ void Logger::ResumeProfiler() { |
FLAG_log_code = true; |
LogCompiledFunctions(); |
LogAccessorCallbacks(); |
- if (!FLAG_sliding_state_window && !ticker_->IsActive()) { |
- ticker_->Start(); |
- } |
+ if (!ticker_->IsActive()) ticker_->Start(); |
} |
profiler_->resume(); |
} |
@@ -1781,10 +1702,6 @@ bool Logger::SetUp() { |
Isolate* isolate = Isolate::Current(); |
ticker_ = new Ticker(isolate, kSamplingIntervalMs); |
- if (FLAG_sliding_state_window && sliding_state_window_ == NULL) { |
- sliding_state_window_ = new SlidingStateWindow(isolate); |
- } |
- |
bool start_logging = FLAG_log || FLAG_log_runtime || FLAG_log_api |
|| FLAG_log_code || FLAG_log_gc || FLAG_log_handles || FLAG_log_suspect |
|| FLAG_log_regexp || FLAG_log_state_changes || FLAG_ll_prof |
@@ -1851,9 +1768,6 @@ FILE* Logger::TearDown() { |
profiler_ = NULL; |
} |
- delete sliding_state_window_; |
- sliding_state_window_ = NULL; |
- |
delete ticker_; |
ticker_ = NULL; |
@@ -1861,22 +1775,6 @@ FILE* Logger::TearDown() { |
} |
-void Logger::EnableSlidingStateWindow() { |
- // If the ticker is NULL, Logger::SetUp has not been called yet. In |
- // that case, we set the sliding_state_window flag so that the |
- // sliding window computation will be started when Logger::SetUp is |
- // called. |
- if (ticker_ == NULL) { |
- FLAG_sliding_state_window = true; |
- return; |
- } |
- // Otherwise, if the sliding state window computation has not been |
- // started we do it now. |
- if (sliding_state_window_ == NULL) { |
- sliding_state_window_ = new SlidingStateWindow(Isolate::Current()); |
- } |
-} |
- |
// Protects the state below. |
static Mutex* active_samplers_mutex = NULL; |