Upstream version 11.39.244.0
[platform/framework/web/crosswalk.git] / src / v8 / src / profile-generator-inl.h
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
3 // found in the LICENSE file.
4
5 #ifndef V8_PROFILE_GENERATOR_INL_H_
6 #define V8_PROFILE_GENERATOR_INL_H_
7
8 #include "src/profile-generator.h"
9
10 namespace v8 {
11 namespace internal {
12
13 CodeEntry::CodeEntry(Logger::LogEventsAndTags tag,
14                      const char* name,
15                      const char* name_prefix,
16                      const char* resource_name,
17                      int line_number,
18                      int column_number,
19                      JITLineInfoTable* line_info,
20                      Address instruction_start)
21     : tag_(tag),
22       builtin_id_(Builtins::builtin_count),
23       name_prefix_(name_prefix),
24       name_(name),
25       resource_name_(resource_name),
26       line_number_(line_number),
27       column_number_(column_number),
28       shared_id_(0),
29       script_id_(v8::UnboundScript::kNoScriptId),
30       no_frame_ranges_(NULL),
31       bailout_reason_(kEmptyBailoutReason),
32       line_info_(line_info),
33       instruction_start_(instruction_start) { }
34
35
36 bool CodeEntry::is_js_function_tag(Logger::LogEventsAndTags tag) {
37   return tag == Logger::FUNCTION_TAG
38       || tag == Logger::LAZY_COMPILE_TAG
39       || tag == Logger::SCRIPT_TAG
40       || tag == Logger::NATIVE_FUNCTION_TAG
41       || tag == Logger::NATIVE_LAZY_COMPILE_TAG
42       || tag == Logger::NATIVE_SCRIPT_TAG;
43 }
44
45
46 static bool LineTickMatch(void* a, void* b) {
47     return a == b;
48 }
49
50
51 ProfileNode::ProfileNode(ProfileTree* tree, CodeEntry* entry)
52     : tree_(tree),
53       entry_(entry),
54       self_ticks_(0),
55       children_(CodeEntriesMatch),
56       id_(tree->next_node_id()),
57       line_ticks_(LineTickMatch) { }
58
59 } }  // namespace v8::internal
60
61 #endif  // V8_PROFILE_GENERATOR_INL_H_