Commit f470bbbb authored by loislo@chromium.org's avatar loislo@chromium.org

Revert "CPUProfiler: propagate scriptId to the front-end"

This reverts commit d575f6bc8b262dac08f02913ae6e7c504c9dd900.

Check is failing on debug bots.

TBR= yurys@chromium.org

Review URL: https://chromiumcodereview.appspot.com/18332010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent bc9f6c60
...@@ -75,9 +75,6 @@ class V8EXPORT CpuProfileNode { ...@@ -75,9 +75,6 @@ class V8EXPORT CpuProfileNode {
/** Returns function name (empty string for anonymous functions.) */ /** Returns function name (empty string for anonymous functions.) */
Handle<String> GetFunctionName() const; Handle<String> GetFunctionName() const;
/** Returns id of the script where function is located. */
int GetScriptId() const;
/** Returns resource name for script from where the function originates. */ /** Returns resource name for script from where the function originates. */
Handle<String> GetScriptResourceName() const; Handle<String> GetScriptResourceName() const;
......
...@@ -7326,15 +7326,6 @@ Handle<String> CpuProfileNode::GetFunctionName() const { ...@@ -7326,15 +7326,6 @@ Handle<String> CpuProfileNode::GetFunctionName() const {
} }
int CpuProfileNode::GetScriptId() const {
i::Isolate* isolate = i::Isolate::Current();
IsDeadCheck(isolate, "v8::CpuProfileNode::GetScriptId");
const i::ProfileNode* node = reinterpret_cast<const i::ProfileNode*>(this);
const i::CodeEntry* entry = node->entry();
return entry->script_id();
}
Handle<String> CpuProfileNode::GetScriptResourceName() const { Handle<String> CpuProfileNode::GetScriptResourceName() const {
i::Isolate* isolate = i::Isolate::Current(); i::Isolate* isolate = i::Isolate::Current();
IsDeadCheck(isolate, "v8::CpuProfileNode::GetScriptResourceName"); IsDeadCheck(isolate, "v8::CpuProfileNode::GetScriptResourceName");
......
...@@ -255,12 +255,9 @@ void CpuProfiler::CodeCreateEvent(Logger::LogEventsAndTags tag, ...@@ -255,12 +255,9 @@ void CpuProfiler::CodeCreateEvent(Logger::LogEventsAndTags tag,
CodeCreateEventRecord* rec = &evt_rec.CodeCreateEventRecord_; CodeCreateEventRecord* rec = &evt_rec.CodeCreateEventRecord_;
rec->start = code->address(); rec->start = code->address();
rec->entry = profiles_->NewCodeEntry(tag, profiles_->GetFunctionName(name)); rec->entry = profiles_->NewCodeEntry(tag, profiles_->GetFunctionName(name));
if (info) { rec->entry->set_no_frame_ranges(info ?
rec->entry->set_no_frame_ranges(info->ReleaseNoFrameRanges()); info->ReleaseNoFrameRanges() :
} NULL);
ASSERT(Script::cast(shared->script()));
Script* script = Script::cast(shared->script());
rec->entry->set_script_id(script->id()->value());
rec->size = code->ExecutableSize(); rec->size = code->ExecutableSize();
rec->shared = shared->address(); rec->shared = shared->address();
processor_->Enqueue(evt_rec); processor_->Enqueue(evt_rec);
...@@ -283,12 +280,9 @@ void CpuProfiler::CodeCreateEvent(Logger::LogEventsAndTags tag, ...@@ -283,12 +280,9 @@ void CpuProfiler::CodeCreateEvent(Logger::LogEventsAndTags tag,
CodeEntry::kEmptyNamePrefix, CodeEntry::kEmptyNamePrefix,
profiles_->GetName(source), profiles_->GetName(source),
line); line);
if (info) { rec->entry->set_no_frame_ranges(info ?
rec->entry->set_no_frame_ranges(info->ReleaseNoFrameRanges()); info->ReleaseNoFrameRanges() :
} NULL);
ASSERT(Script::cast(shared->script()));
Script* script = Script::cast(shared->script());
rec->entry->set_script_id(script->id()->value());
rec->size = code->ExecutableSize(); rec->size = code->ExecutableSize();
rec->shared = shared->address(); rec->shared = shared->address();
processor_->Enqueue(evt_rec); processor_->Enqueue(evt_rec);
......
...@@ -56,7 +56,6 @@ CodeEntry::CodeEntry(Logger::LogEventsAndTags tag, ...@@ -56,7 +56,6 @@ CodeEntry::CodeEntry(Logger::LogEventsAndTags tag,
resource_name_(resource_name), resource_name_(resource_name),
line_number_(line_number), line_number_(line_number),
shared_id_(0), shared_id_(0),
script_id_(v8::Script::kNoScriptId),
security_token_id_(security_token_id), security_token_id_(security_token_id),
no_frame_ranges_(NULL) { no_frame_ranges_(NULL) {
} }
......
...@@ -273,13 +273,12 @@ double ProfileNode::GetTotalMillis() const { ...@@ -273,13 +273,12 @@ double ProfileNode::GetTotalMillis() const {
void ProfileNode::Print(int indent) { void ProfileNode::Print(int indent) {
OS::Print("%5u %5u %*c %s%s [%d] #%d %d", OS::Print("%5u %5u %*c %s%s [%d] #%d",
total_ticks_, self_ticks_, total_ticks_, self_ticks_,
indent, ' ', indent, ' ',
entry_->name_prefix(), entry_->name_prefix(),
entry_->name(), entry_->name(),
entry_->security_token_id(), entry_->security_token_id(),
entry_->script_id(),
id()); id());
if (entry_->resource_name()[0] != '\0') if (entry_->resource_name()[0] != '\0')
OS::Print(" %s:%d", entry_->resource_name(), entry_->line_number()); OS::Print(" %s:%d", entry_->resource_name(), entry_->line_number());
......
...@@ -111,8 +111,6 @@ class CodeEntry { ...@@ -111,8 +111,6 @@ class CodeEntry {
INLINE(const char* resource_name() const) { return resource_name_; } INLINE(const char* resource_name() const) { return resource_name_; }
INLINE(int line_number() const) { return line_number_; } INLINE(int line_number() const) { return line_number_; }
INLINE(void set_shared_id(int shared_id)) { shared_id_ = shared_id; } INLINE(void set_shared_id(int shared_id)) { shared_id_ = shared_id; }
INLINE(int script_id() const) { return script_id_; }
INLINE(void set_script_id(int script_id)) { script_id_ = script_id; }
INLINE(int security_token_id() const) { return security_token_id_; } INLINE(int security_token_id() const) { return security_token_id_; }
INLINE(static bool is_js_function_tag(Logger::LogEventsAndTags tag)); INLINE(static bool is_js_function_tag(Logger::LogEventsAndTags tag));
...@@ -140,7 +138,6 @@ class CodeEntry { ...@@ -140,7 +138,6 @@ class CodeEntry {
const char* resource_name_; const char* resource_name_;
int line_number_; int line_number_;
int shared_id_; int shared_id_;
int script_id_;
int security_token_id_; int security_token_id_;
List<OffsetRange>* no_frame_ranges_; List<OffsetRange>* no_frame_ranges_;
......
...@@ -905,62 +905,3 @@ TEST(Issue51919) { ...@@ -905,62 +905,3 @@ TEST(Issue51919) {
for (int i = 0; i < CpuProfilesCollection::kMaxSimultaneousProfiles; ++i) for (int i = 0; i < CpuProfilesCollection::kMaxSimultaneousProfiles; ++i)
i::DeleteArray(titles[i]); i::DeleteArray(titles[i]);
} }
static const v8::CpuProfileNode* PickChild(const v8::CpuProfileNode* parent,
const char* name) {
for (int i = 0; i < parent->GetChildrenCount(); ++i) {
const v8::CpuProfileNode* child = parent->GetChild(i);
v8::String::AsciiValue function_name(child->GetFunctionName());
if (strcmp(*function_name, name) == 0) return child;
}
return NULL;
}
TEST(ProfileNodeScriptId) {
// This test does not pass with inlining enabled since inlined functions
// don't appear in the stack trace.
i::FLAG_use_inlining = false;
const char* extensions[] = { "v8/profiler" };
v8::ExtensionConfiguration config(1, extensions);
LocalContext env(&config);
v8::HandleScope hs(env->GetIsolate());
v8::CpuProfiler* profiler = env->GetIsolate()->GetCpuProfiler();
CHECK_EQ(0, profiler->GetProfileCount());
v8::Handle<v8::Script> script_a = v8::Script::Compile(v8::String::New(
"function a() { startProfiling(); }\n"));
script_a->Run();
v8::Handle<v8::Script> script_b = v8::Script::Compile(v8::String::New(
"function b() { a(); }\n"
"b();\n"
"stopProfiling();\n"));
script_b->Run();
CHECK_EQ(1, profiler->GetProfileCount());
const v8::CpuProfile* profile = profiler->GetCpuProfile(0);
const v8::CpuProfileNode* current = profile->GetTopDownRoot();
reinterpret_cast<ProfileNode*>(
const_cast<v8::CpuProfileNode*>(current))->Print(0);
// The tree should look like this:
// (root)
// (anonymous function)
// b
// a
// There can also be:
// startProfiling
// if the sampler managed to get a tick.
current = PickChild(current, i::ProfileGenerator::kAnonymousFunctionName);
CHECK_NE(NULL, const_cast<v8::CpuProfileNode*>(current));
current = PickChild(current, "b");
CHECK_NE(NULL, const_cast<v8::CpuProfileNode*>(current));
CHECK_EQ(script_b->GetId(), current->GetScriptId());
current = PickChild(current, "a");
CHECK_NE(NULL, const_cast<v8::CpuProfileNode*>(current));
CHECK_EQ(script_a->GetId(), current->GetScriptId());
}
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