Reviewers: alph, loislo, Jakob,

Description:
Fix unexpected stack traces in test-cpu-profiler/JsNativeJsSample

This is a follow-up fix for r17140 which makes sure that cpu profiler is started before profiled js functions are compiled so that the profiler gets information
about "no frame" ranges along with add code events.

BUG=v8:2933

Please review this at https://codereview.chromium.org/27121003/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+5, -10 lines):
  M test/cctest/cctest.status
  M test/cctest/test-cpu-profiler.cc


Index: test/cctest/cctest.status
diff --git a/test/cctest/cctest.status b/test/cctest/cctest.status
index b5154a84983fb077e84643f8bf23a780d6e88296..fe42883ffff886688e88b83bffe3330d40780813 100644
--- a/test/cctest/cctest.status
+++ b/test/cctest/cctest.status
@@ -55,9 +55,6 @@

   # Boot up memory use is bloated in debug mode.
'test-mark-compact/BootUpMemoryUse': [PASS, PASS, ['mode == debug', FAIL]],
-
-  # Some CPU profiler tests are flaky.
-  'test-cpu-profiler/*': [PASS, FLAKY],
 }],  # ALWAYS

##############################################################################
Index: test/cctest/test-cpu-profiler.cc
diff --git a/test/cctest/test-cpu-profiler.cc b/test/cctest/test-cpu-profiler.cc index db645e3af88cceb897c8fe6f705773ffe2cf061d..9ef307c6f4ffc4530aa53ab32a2a4e4eb19723ae 100644
--- a/test/cctest/test-cpu-profiler.cc
+++ b/test/cctest/test-cpu-profiler.cc
@@ -411,13 +411,11 @@ TEST(ProfileStartEndTime) {
 static const v8::CpuProfile* RunProfiler(
     LocalContext& env, v8::Handle<v8::Function> function,
     v8::Handle<v8::Value> argv[], int argc,
-    unsigned min_js_samples, bool script_will_start_profiler = false) {
+    unsigned min_js_samples) {
   v8::CpuProfiler* cpu_profiler = env->GetIsolate()->GetCpuProfiler();
   v8::Local<v8::String> profile_name = v8::String::New("my_profile");

-  if (!script_will_start_profiler) {
-    cpu_profiler->StartCpuProfiling(profile_name);
-  }
+  cpu_profiler->StartCpuProfiling(profile_name);

   i::Sampler* sampler =
reinterpret_cast<i::Isolate*>(env->GetIsolate())->logger()->sampler();
@@ -1144,7 +1142,7 @@ TEST(JsNativeJsSample) {
   int32_t duration_ms = 20;
   v8::Handle<v8::Value> args[] = { v8::Integer::New(duration_ms) };
   const v8::CpuProfile* profile =
-      RunProfiler(env, function, args, ARRAY_SIZE(args), 10, true);
+      RunProfiler(env, function, args, ARRAY_SIZE(args), 10);

   const v8::CpuProfileNode* root = profile->GetTopDownRoot();
   {
@@ -1223,7 +1221,7 @@ TEST(JsNativeJsRuntimeJsSample) {
   int32_t duration_ms = 20;
   v8::Handle<v8::Value> args[] = { v8::Integer::New(duration_ms) };
   const v8::CpuProfile* profile =
-      RunProfiler(env, function, args, ARRAY_SIZE(args), 10, true);
+      RunProfiler(env, function, args, ARRAY_SIZE(args), 10);

   const v8::CpuProfileNode* root = profile->GetTopDownRoot();
   ScopedVector<v8::Handle<v8::String> > names(3);
@@ -1310,7 +1308,7 @@ TEST(JsNative1JsNative2JsSample) {
   int32_t duration_ms = 20;
   v8::Handle<v8::Value> args[] = { v8::Integer::New(duration_ms) };
   const v8::CpuProfile* profile =
-      RunProfiler(env, function, args, ARRAY_SIZE(args), 10, true);
+      RunProfiler(env, function, args, ARRAY_SIZE(args), 10);

   const v8::CpuProfileNode* root = profile->GetTopDownRoot();
   ScopedVector<v8::Handle<v8::String> > names(3);


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to