Upstream version 7.36.152.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 "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     : tag_(tag),
21       builtin_id_(Builtins::builtin_count),
22       name_prefix_(name_prefix),
23       name_(name),
24       resource_name_(resource_name),
25       line_number_(line_number),
26       column_number_(column_number),
27       shared_id_(0),
28       script_id_(v8::UnboundScript::kNoScriptId),
29       no_frame_ranges_(NULL),
30       bailout_reason_(kEmptyBailoutReason) {
31     if (NULL != line_info) {
32       line_info_ = *line_info;
33     }
34 }
35
36
37 bool CodeEntry::is_js_function_tag(Logger::LogEventsAndTags tag) {
38   return tag == Logger::FUNCTION_TAG
39       || tag == Logger::LAZY_COMPILE_TAG
40       || tag == Logger::SCRIPT_TAG
41       || tag == Logger::NATIVE_FUNCTION_TAG
42       || tag == Logger::NATIVE_LAZY_COMPILE_TAG
43       || tag == Logger::NATIVE_SCRIPT_TAG;
44 }
45
46
47 static bool LineTickMatch(void* a, void* b) {
48     return a == b;
49 }
50
51
52 ProfileNode::ProfileNode(ProfileTree* tree, CodeEntry* entry)
53     : tree_(tree),
54       entry_(entry),
55       self_ticks_(0),
56       children_(CodeEntriesMatch),
57       id_(tree->next_node_id()),
58       line_ticks_(LineTickMatch) { }
59
60 } }  // namespace v8::internal
61
62 #endif  // V8_PROFILE_GENERATOR_INL_H_