summaryrefslogtreecommitdiffstats
path: root/content/renderer/devtools
diff options
context:
space:
mode:
authoralph <alph@chromium.org>2015-03-24 05:15:11 -0700
committerCommit bot <commit-bot@chromium.org>2015-03-24 12:16:09 +0000
commit84fec4265a487f13b3edac5770b4ca02df95466a (patch)
tree3a78feaf3ef87d5334f052c522ca21d816934789 /content/renderer/devtools
parent0186dcd1238a84cfe71134ee24e3602ff0404af6 (diff)
downloadchromium_src-84fec4265a487f13b3edac5770b4ca02df95466a.zip
chromium_src-84fec4265a487f13b3edac5770b4ca02df95466a.tar.gz
chromium_src-84fec4265a487f13b3edac5770b4ca02df95466a.tar.bz2
Revert of Revert of Unflake V8 sampling profiler tests. (patchset #1 id:1 of https://codereview.chromium.org/1017183004/)
Reason for revert: Suspecting goma flake. Relanding. Original issue's description: > Revert of Unflake V8 sampling profiler tests. (patchset #1 id:1 of https://codereview.chromium.org/1032633002/) > > Reason for revert: > Broke compilation on Mac Builder: > https://build.chromium.org/p/chromium.mac/builders/Mac%20Builder/builds/19512/steps/compile/logs/stdio > > when compiling content/renderer/devtools/v8_sampling_profiler_browsertest.cc > > Original issue's description: > > Unflake V8 sampling profiler tests. > > > > BUG=406277 > > > > Committed: https://crrev.com/d6493ce2a4ed6f346a31597ac27748a3429a1d95 > > Cr-Commit-Position: refs/heads/master@{#321970} > > TBR=yurys@chromium.org,alph@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=406277 > > Committed: https://crrev.com/3703085199a63732add21d955c6280765e3c480e > Cr-Commit-Position: refs/heads/master@{#321975} TBR=yurys@chromium.org,pneubeck@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=406277 Review URL: https://codereview.chromium.org/1029353002 Cr-Commit-Position: refs/heads/master@{#321977}
Diffstat (limited to 'content/renderer/devtools')
-rw-r--r--content/renderer/devtools/v8_sampling_profiler.cc24
-rw-r--r--content/renderer/devtools/v8_sampling_profiler.h2
-rw-r--r--content/renderer/devtools/v8_sampling_profiler_browsertest.cc11
3 files changed, 26 insertions, 11 deletions
diff --git a/content/renderer/devtools/v8_sampling_profiler.cc b/content/renderer/devtools/v8_sampling_profiler.cc
index 06d3104..9b32497 100644
--- a/content/renderer/devtools/v8_sampling_profiler.cc
+++ b/content/renderer/devtools/v8_sampling_profiler.cc
@@ -117,9 +117,16 @@ class Sampler {
void DoSample(const v8::RegisterState& state);
+ void SetEventsToCollectForTest(int code_added_events, int sample_events) {
+ code_added_events_to_collect_for_test_ = code_added_events;
+ sample_events_to_collect_for_test_ = sample_events;
+ }
+
bool EventsCollectedForTest() const {
- return base::subtle::NoBarrier_Load(&code_added_events_count_) != 0 ||
- base::subtle::NoBarrier_Load(&samples_count_) != 0;
+ return base::subtle::NoBarrier_Load(&code_added_events_count_) >=
+ code_added_events_to_collect_for_test_ &&
+ base::subtle::NoBarrier_Load(&samples_count_) >=
+ sample_events_to_collect_for_test_;
}
private:
@@ -142,6 +149,8 @@ class Sampler {
scoped_ptr<SamplingQueue> samples_data_;
base::subtle::Atomic32 code_added_events_count_;
base::subtle::Atomic32 samples_count_;
+ int code_added_events_to_collect_for_test_;
+ int sample_events_to_collect_for_test_;
static base::LazyInstance<base::ThreadLocalPointer<Sampler>>::Leaky
tls_instance_;
@@ -155,7 +164,9 @@ Sampler::Sampler()
thread_handle_(Sampler::GetCurrentThreadHandle()),
isolate_(Isolate::GetCurrent()),
code_added_events_count_(0),
- samples_count_(0) {
+ samples_count_(0),
+ code_added_events_to_collect_for_test_(0),
+ sample_events_to_collect_for_test_(0) {
DCHECK(isolate_);
DCHECK(!GetInstance());
tls_instance_.Pointer()->Set(this);
@@ -213,7 +224,6 @@ void Sampler::DoSample(const v8::RegisterState& state) {
return;
record->Collect(isolate_, timestamp, state);
samples_data_->FinishEnqueue();
- base::subtle::NoBarrier_AtomicIncrement(&samples_count_, 1);
}
void Sampler::InjectPendingEvents() {
@@ -225,6 +235,7 @@ void Sampler::InjectPendingEvents() {
record->ToTraceFormat());
samples_data_->Remove();
record = samples_data_->Peek();
+ base::subtle::NoBarrier_AtomicIncrement(&samples_count_, 1);
}
}
@@ -548,7 +559,10 @@ void V8SamplingProfiler::OnTraceLogDisabled() {
sampling_thread_.reset();
}
-void V8SamplingProfiler::EnableSamplingEventForTesting() {
+void V8SamplingProfiler::EnableSamplingEventForTesting(int code_added_events,
+ int sample_events) {
+ render_thread_sampler_->SetEventsToCollectForTest(code_added_events,
+ sample_events);
waitable_event_for_testing_.reset(new base::WaitableEvent(false, false));
}
diff --git a/content/renderer/devtools/v8_sampling_profiler.h b/content/renderer/devtools/v8_sampling_profiler.h
index 346a46c..5b7d094 100644
--- a/content/renderer/devtools/v8_sampling_profiler.h
+++ b/content/renderer/devtools/v8_sampling_profiler.h
@@ -26,7 +26,7 @@ class CONTENT_EXPORT V8SamplingProfiler final
void OnTraceLogEnabled() override;
void OnTraceLogDisabled() override;
- void EnableSamplingEventForTesting();
+ void EnableSamplingEventForTesting(int code_added_events, int sample_events);
void WaitSamplingEventForTesting();
private:
diff --git a/content/renderer/devtools/v8_sampling_profiler_browsertest.cc b/content/renderer/devtools/v8_sampling_profiler_browsertest.cc
index ba1b0e5..1ccae8c 100644
--- a/content/renderer/devtools/v8_sampling_profiler_browsertest.cc
+++ b/content/renderer/devtools/v8_sampling_profiler_browsertest.cc
@@ -77,9 +77,10 @@ class V8SamplingProfilerTest : public RenderViewTest {
flush_complete_event->Signal();
}
- void CollectTrace() {
+ void CollectTrace(int code_added_events, int sample_events) {
TraceLog* trace_log = TraceLog::GetInstance();
- sampling_profiler_->EnableSamplingEventForTesting();
+ sampling_profiler_->EnableSamplingEventForTesting(code_added_events,
+ sample_events);
trace_log->SetEnabled(
CategoryFilter(TRACE_DISABLED_BY_DEFAULT("v8.cpu_profile")),
TraceLog::RECORDING_MODE, TraceOptions());
@@ -129,7 +130,7 @@ class V8SamplingProfilerTest : public RenderViewTest {
#endif
TEST_F(V8SamplingProfilerTest, MAYBE(V8SamplingEventFired)) {
- sampling_profiler_->EnableSamplingEventForTesting();
+ sampling_profiler_->EnableSamplingEventForTesting(0, 0);
TraceLog::GetInstance()->SetEnabled(
CategoryFilter(TRACE_DISABLED_BY_DEFAULT("v8.cpu_profile")),
TraceLog::RECORDING_MODE, TraceOptions());
@@ -139,14 +140,14 @@ TEST_F(V8SamplingProfilerTest, MAYBE(V8SamplingEventFired)) {
}
TEST_F(V8SamplingProfilerTest, MAYBE(V8SamplingJitCodeEventsCollected)) {
- CollectTrace();
+ CollectTrace(1, 0);
int jit_code_added_events_count = CountEvents("JitCodeAdded");
CHECK_LT(0, jit_code_added_events_count);
base::RunLoop().RunUntilIdle();
}
TEST_F(V8SamplingProfilerTest, MAYBE(V8SamplingSamplesCollected)) {
- CollectTrace();
+ CollectTrace(0, 1);
int sample_events_count = CountEvents("V8Sample");
CHECK_LT(0, sample_events_count);
base::RunLoop().RunUntilIdle();