OLD | NEW |
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, const char* name, | 13 CodeEntry::CodeEntry(Logger::LogEventsAndTags tag, const char* name, |
14 const char* name_prefix, const char* resource_name, | 14 const char* name_prefix, const char* resource_name, |
15 int line_number, int column_number, | 15 int line_number, int column_number, |
16 JITLineInfoTable* line_info, Address instruction_start) | 16 JITLineInfoTable* line_info, Address instruction_start) |
17 : bit_field_(TagField::encode(tag) | | 17 : bit_field_(TagField::encode(tag) | |
18 BuiltinIdField::encode(Builtins::builtin_count)), | 18 BuiltinIdField::encode(Builtins::builtin_count)), |
19 name_prefix_(name_prefix), | 19 name_prefix_(name_prefix), |
20 name_(name), | 20 name_(name), |
21 resource_name_(resource_name), | 21 resource_name_(resource_name), |
22 line_number_(line_number), | 22 line_number_(line_number), |
23 column_number_(column_number), | 23 column_number_(column_number), |
24 script_id_(v8::UnboundScript::kNoScriptId), | 24 script_id_(v8::UnboundScript::kNoScriptId), |
25 position_(0), | 25 position_(0), |
26 no_frame_ranges_(NULL), | 26 no_frame_ranges_(NULL), |
27 bailout_reason_(kEmptyBailoutReason), | 27 bailout_reason_(kEmptyBailoutReason), |
28 deopt_reason_(kNoDeoptReason), | 28 deopt_reason_(kNoDeoptReason), |
29 deopt_location_(0), | 29 deopt_position_(SourcePosition::Unknown()), |
30 line_info_(line_info), | 30 line_info_(line_info), |
31 instruction_start_(instruction_start) {} | 31 instruction_start_(instruction_start) {} |
32 | 32 |
33 | 33 |
34 bool CodeEntry::is_js_function_tag(Logger::LogEventsAndTags tag) { | 34 bool CodeEntry::is_js_function_tag(Logger::LogEventsAndTags tag) { |
35 return tag == Logger::FUNCTION_TAG | 35 return tag == Logger::FUNCTION_TAG |
36 || tag == Logger::LAZY_COMPILE_TAG | 36 || tag == Logger::LAZY_COMPILE_TAG |
37 || tag == Logger::SCRIPT_TAG | 37 || tag == Logger::SCRIPT_TAG |
38 || tag == Logger::NATIVE_FUNCTION_TAG | 38 || tag == Logger::NATIVE_FUNCTION_TAG |
39 || tag == Logger::NATIVE_LAZY_COMPILE_TAG | 39 || tag == Logger::NATIVE_LAZY_COMPILE_TAG |
40 || tag == Logger::NATIVE_SCRIPT_TAG; | 40 || tag == Logger::NATIVE_SCRIPT_TAG; |
41 } | 41 } |
42 | 42 |
43 | 43 |
44 ProfileNode::ProfileNode(ProfileTree* tree, CodeEntry* entry) | 44 ProfileNode::ProfileNode(ProfileTree* tree, CodeEntry* entry) |
45 : tree_(tree), | 45 : tree_(tree), |
46 entry_(entry), | 46 entry_(entry), |
47 self_ticks_(0), | 47 self_ticks_(0), |
48 children_(CodeEntriesMatch), | 48 children_(CodeEntriesMatch), |
49 id_(tree->next_node_id()), | 49 id_(tree->next_node_id()), |
50 line_ticks_(LineTickMatch) {} | 50 line_ticks_(LineTickMatch) {} |
51 | 51 |
52 | 52 |
53 inline unsigned ProfileNode::function_id() const { | 53 inline unsigned ProfileNode::function_id() const { |
54 return tree_->GetFunctionId(this); | 54 return tree_->GetFunctionId(this); |
55 } | 55 } |
56 } } // namespace v8::internal | 56 } } // namespace v8::internal |
57 | 57 |
58 #endif // V8_PROFILE_GENERATOR_INL_H_ | 58 #endif // V8_PROFILE_GENERATOR_INL_H_ |
OLD | NEW |