Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(676)

Side by Side Diff: src/inspector/v8-profiler-agent-impl.cc

Issue 2896303004: [inspector] Move SetIdle from CPUProfiler to debug-interface (Closed)
Patch Set: rebased Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/inspector/v8-profiler-agent-impl.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/inspector/v8-profiler-agent-impl.h" 5 #include "src/inspector/v8-profiler-agent-impl.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "src/base/atomicops.h" 9 #include "src/base/atomicops.h"
10 #include "src/inspector/protocol/Protocol.h" 10 #include "src/inspector/protocol/Protocol.h"
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 String16 V8ProfilerAgentImpl::nextProfileId() { 365 String16 V8ProfilerAgentImpl::nextProfileId() {
366 return String16::fromInteger( 366 return String16::fromInteger(
367 v8::base::Relaxed_AtomicIncrement(&s_lastProfileId, 1)); 367 v8::base::Relaxed_AtomicIncrement(&s_lastProfileId, 1));
368 } 368 }
369 369
370 void V8ProfilerAgentImpl::startProfiling(const String16& title) { 370 void V8ProfilerAgentImpl::startProfiling(const String16& title) {
371 v8::HandleScope handleScope(m_isolate); 371 v8::HandleScope handleScope(m_isolate);
372 if (!m_startedProfilesCount) { 372 if (!m_startedProfilesCount) {
373 DCHECK(!m_profiler); 373 DCHECK(!m_profiler);
374 m_profiler = v8::CpuProfiler::New(m_isolate); 374 m_profiler = v8::CpuProfiler::New(m_isolate);
375 m_profiler->SetIdle(m_idle);
376 int interval = 375 int interval =
377 m_state->integerProperty(ProfilerAgentState::samplingInterval, 0); 376 m_state->integerProperty(ProfilerAgentState::samplingInterval, 0);
378 if (interval) m_profiler->SetSamplingInterval(interval); 377 if (interval) m_profiler->SetSamplingInterval(interval);
379 } 378 }
380 ++m_startedProfilesCount; 379 ++m_startedProfilesCount;
381 m_profiler->StartProfiling(toV8String(m_isolate, title), true); 380 m_profiler->StartProfiling(toV8String(m_isolate, title), true);
382 } 381 }
383 382
384 std::unique_ptr<protocol::Profiler::Profile> V8ProfilerAgentImpl::stopProfiling( 383 std::unique_ptr<protocol::Profiler::Profile> V8ProfilerAgentImpl::stopProfiling(
385 const String16& title, bool serialize) { 384 const String16& title, bool serialize) {
386 v8::HandleScope handleScope(m_isolate); 385 v8::HandleScope handleScope(m_isolate);
387 v8::CpuProfile* profile = 386 v8::CpuProfile* profile =
388 m_profiler->StopProfiling(toV8String(m_isolate, title)); 387 m_profiler->StopProfiling(toV8String(m_isolate, title));
389 std::unique_ptr<protocol::Profiler::Profile> result; 388 std::unique_ptr<protocol::Profiler::Profile> result;
390 if (profile) { 389 if (profile) {
391 if (serialize) result = createCPUProfile(m_isolate, profile); 390 if (serialize) result = createCPUProfile(m_isolate, profile);
392 profile->Delete(); 391 profile->Delete();
393 } 392 }
394 --m_startedProfilesCount; 393 --m_startedProfilesCount;
395 if (!m_startedProfilesCount) { 394 if (!m_startedProfilesCount) {
396 m_profiler->Dispose(); 395 m_profiler->Dispose();
397 m_profiler = nullptr; 396 m_profiler = nullptr;
398 } 397 }
399 return result; 398 return result;
400 } 399 }
401 400
402 bool V8ProfilerAgentImpl::idleStarted() {
403 m_idle = true;
404 if (m_profiler) m_profiler->SetIdle(m_idle);
405 return m_profiler;
406 }
407
408 bool V8ProfilerAgentImpl::idleFinished() {
409 m_idle = false;
410 if (m_profiler) m_profiler->SetIdle(m_idle);
411 return m_profiler;
412 }
413
414 } // namespace v8_inspector 401 } // namespace v8_inspector
OLDNEW
« no previous file with comments | « src/inspector/v8-profiler-agent-impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698