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

Side by Side Diff: src/profile-generator-inl.h

Issue 424973004: Extend CPU profiler with mapping ticks to source lines (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Addressed comments Created 6 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 #ifndef V8_PROFILE_GENERATOR_INL_H_ 5 #ifndef V8_PROFILE_GENERATOR_INL_H_
6 #define V8_PROFILE_GENERATOR_INL_H_ 6 #define V8_PROFILE_GENERATOR_INL_H_
7 7
8 #include "src/profile-generator.h" 8 #include "src/profile-generator.h"
9 9
10 namespace v8 { 10 namespace v8 {
11 namespace internal { 11 namespace internal {
12 12
13 CodeEntry::CodeEntry(Logger::LogEventsAndTags tag, 13 CodeEntry::CodeEntry(Logger::LogEventsAndTags tag,
14 const char* name, 14 const char* name,
15 const char* name_prefix, 15 const char* name_prefix,
16 const char* resource_name, 16 const char* resource_name,
17 int line_number, 17 int line_number,
18 int column_number) 18 int column_number,
19 JITLineInfoTable* line_info)
19 : tag_(tag), 20 : tag_(tag),
20 builtin_id_(Builtins::builtin_count), 21 builtin_id_(Builtins::builtin_count),
21 name_prefix_(name_prefix), 22 name_prefix_(name_prefix),
22 name_(name), 23 name_(name),
23 resource_name_(resource_name), 24 resource_name_(resource_name),
24 line_number_(line_number), 25 line_number_(line_number),
25 column_number_(column_number), 26 column_number_(column_number),
26 shared_id_(0), 27 shared_id_(0),
27 script_id_(v8::UnboundScript::kNoScriptId), 28 script_id_(v8::UnboundScript::kNoScriptId),
28 no_frame_ranges_(NULL), 29 no_frame_ranges_(NULL),
29 bailout_reason_(kEmptyBailoutReason) { } 30 bailout_reason_(kEmptyBailoutReason),
31 line_info_(line_info) { }
30 32
31 33
32 bool CodeEntry::is_js_function_tag(Logger::LogEventsAndTags tag) { 34 bool CodeEntry::is_js_function_tag(Logger::LogEventsAndTags tag) {
33 return tag == Logger::FUNCTION_TAG 35 return tag == Logger::FUNCTION_TAG
34 || tag == Logger::LAZY_COMPILE_TAG 36 || tag == Logger::LAZY_COMPILE_TAG
35 || tag == Logger::SCRIPT_TAG 37 || tag == Logger::SCRIPT_TAG
36 || tag == Logger::NATIVE_FUNCTION_TAG 38 || tag == Logger::NATIVE_FUNCTION_TAG
37 || tag == Logger::NATIVE_LAZY_COMPILE_TAG 39 || tag == Logger::NATIVE_LAZY_COMPILE_TAG
38 || tag == Logger::NATIVE_SCRIPT_TAG; 40 || tag == Logger::NATIVE_SCRIPT_TAG;
39 } 41 }
40 42
41 43
44 static bool LineTickMatch(void* a, void* b) {
45 return a == b;
46 }
47
48
42 ProfileNode::ProfileNode(ProfileTree* tree, CodeEntry* entry) 49 ProfileNode::ProfileNode(ProfileTree* tree, CodeEntry* entry)
43 : tree_(tree), 50 : tree_(tree),
44 entry_(entry), 51 entry_(entry),
45 self_ticks_(0), 52 self_ticks_(0),
46 children_(CodeEntriesMatch), 53 children_(CodeEntriesMatch),
47 id_(tree->next_node_id()) { } 54 id_(tree->next_node_id()),
55 line_ticks_(LineTickMatch) { }
48 56
49 } } // namespace v8::internal 57 } } // namespace v8::internal
50 58
51 #endif // V8_PROFILE_GENERATOR_INL_H_ 59 #endif // V8_PROFILE_GENERATOR_INL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698