OLD | NEW |
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 Loading... |
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_ |
OLD | NEW |