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
10namespace v8 {
11namespace internal {
12
13CodeEntry::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    : tag_(tag),
20      builtin_id_(Builtins::builtin_count),
21      name_prefix_(name_prefix),
22      name_(name),
23      resource_name_(resource_name),
24      line_number_(line_number),
25      column_number_(column_number),
26      shared_id_(0),
27      script_id_(v8::UnboundScript::kNoScriptId),
28      no_frame_ranges_(NULL),
29      bailout_reason_(kEmptyBailoutReason) { }
30
31
32bool CodeEntry::is_js_function_tag(Logger::LogEventsAndTags tag) {
33  return tag == Logger::FUNCTION_TAG
34      || tag == Logger::LAZY_COMPILE_TAG
35      || tag == Logger::SCRIPT_TAG
36      || tag == Logger::NATIVE_FUNCTION_TAG
37      || tag == Logger::NATIVE_LAZY_COMPILE_TAG
38      || tag == Logger::NATIVE_SCRIPT_TAG;
39}
40
41
42ProfileNode::ProfileNode(ProfileTree* tree, CodeEntry* entry)
43    : tree_(tree),
44      entry_(entry),
45      self_ticks_(0),
46      children_(CodeEntriesMatch),
47      id_(tree->next_node_id()) { }
48
49} }  // namespace v8::internal
50
51#endif  // V8_PROFILE_GENERATOR_INL_H_
52