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

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

Issue 23817003: Propagate bailout and dont_optimize reasons to cpu-profiler (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: comments addressed Created 7 years, 3 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 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 const char* resource_name, 49 const char* resource_name,
50 int line_number) 50 int line_number)
51 : tag_(tag), 51 : tag_(tag),
52 builtin_id_(Builtins::builtin_count), 52 builtin_id_(Builtins::builtin_count),
53 name_prefix_(name_prefix), 53 name_prefix_(name_prefix),
54 name_(name), 54 name_(name),
55 resource_name_(resource_name), 55 resource_name_(resource_name),
56 line_number_(line_number), 56 line_number_(line_number),
57 shared_id_(0), 57 shared_id_(0),
58 script_id_(v8::Script::kNoScriptId), 58 script_id_(v8::Script::kNoScriptId),
59 no_frame_ranges_(NULL) { 59 no_frame_ranges_(NULL),
60 } 60 bailout_reason_(kEmptyBailoutReason) { }
61 61
62 62
63 bool CodeEntry::is_js_function_tag(Logger::LogEventsAndTags tag) { 63 bool CodeEntry::is_js_function_tag(Logger::LogEventsAndTags tag) {
64 return tag == Logger::FUNCTION_TAG 64 return tag == Logger::FUNCTION_TAG
65 || tag == Logger::LAZY_COMPILE_TAG 65 || tag == Logger::LAZY_COMPILE_TAG
66 || tag == Logger::SCRIPT_TAG 66 || tag == Logger::SCRIPT_TAG
67 || tag == Logger::NATIVE_FUNCTION_TAG 67 || tag == Logger::NATIVE_FUNCTION_TAG
68 || tag == Logger::NATIVE_LAZY_COMPILE_TAG 68 || tag == Logger::NATIVE_LAZY_COMPILE_TAG
69 || tag == Logger::NATIVE_SCRIPT_TAG; 69 || tag == Logger::NATIVE_SCRIPT_TAG;
70 } 70 }
71 71
72 72
73 ProfileNode::ProfileNode(ProfileTree* tree, CodeEntry* entry) 73 ProfileNode::ProfileNode(ProfileTree* tree, CodeEntry* entry)
74 : tree_(tree), 74 : tree_(tree),
75 entry_(entry), 75 entry_(entry),
76 self_ticks_(0), 76 self_ticks_(0),
77 children_(CodeEntriesMatch), 77 children_(CodeEntriesMatch),
78 id_(tree->next_node_id()) { 78 id_(tree->next_node_id()) { }
79 }
80 79
81 80
82 CodeEntry* ProfileGenerator::EntryForVMState(StateTag tag) { 81 CodeEntry* ProfileGenerator::EntryForVMState(StateTag tag) {
83 switch (tag) { 82 switch (tag) {
84 case GC: 83 case GC:
85 return gc_entry_; 84 return gc_entry_;
86 case JS: 85 case JS:
87 case COMPILER: 86 case COMPILER:
88 // DOM events handlers are reported as OTHER / EXTERNAL entries. 87 // DOM events handlers are reported as OTHER / EXTERNAL entries.
89 // To avoid confusing people, let's put all these entries into 88 // To avoid confusing people, let's put all these entries into
90 // one bucket. 89 // one bucket.
91 case OTHER: 90 case OTHER:
92 case EXTERNAL: 91 case EXTERNAL:
93 return program_entry_; 92 return program_entry_;
94 case IDLE: 93 case IDLE:
95 return idle_entry_; 94 return idle_entry_;
96 default: return NULL; 95 default: return NULL;
97 } 96 }
98 } 97 }
99 98
100 } } // namespace v8::internal 99 } } // namespace v8::internal
101 100
102 #endif // V8_PROFILE_GENERATOR_INL_H_ 101 #endif // V8_PROFILE_GENERATOR_INL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698