Commit 5b105b24 authored by yurys@chromium.org's avatar yurys@chromium.org

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
R=jkummerow@chromium.org, loislo@chromium.org

Review URL: https://codereview.chromium.org/27121003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 8f9f192f
......@@ -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
##############################################################################
......
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment