1086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.org// Copyright 2010 the V8 project authors. All rights reserved.
23484964a86451e86dcf04be9bd8c0d76ee04f081rossberg@chromium.org// Use of this source code is governed by a BSD-style license that can be
33484964a86451e86dcf04be9bd8c0d76ee04f081rossberg@chromium.org// found in the LICENSE file.
4086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.org
5086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.org#ifndef V8_PROFILE_GENERATOR_INL_H_
6086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.org#define V8_PROFILE_GENERATOR_INL_H_
7086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.org
8196eb601290dc49c3754da728dc58700dff2de1bmachenbach@chromium.org#include "src/profile-generator.h"
9086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.org
10086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.orgnamespace v8 {
11086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.orgnamespace internal {
12086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.org
13cec079d8ed1f0920a0ea3dc9a3e81966013287c1whesse@chromium.orgCodeEntry::CodeEntry(Logger::LogEventsAndTags tag,
14cec079d8ed1f0920a0ea3dc9a3e81966013287c1whesse@chromium.org                     const char* name,
1593a47f4837f2137c8d8349250fd8e91da3108126jkummerow@chromium.org                     const char* name_prefix,
16cec079d8ed1f0920a0ea3dc9a3e81966013287c1whesse@chromium.org                     const char* resource_name,
17dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                     int line_number,
18dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org                     int column_number)
19c20610af4f0ca150977ca140a1174f98ee46f5aafschneider@chromium.org    : tag_(tag),
2093a47f4837f2137c8d8349250fd8e91da3108126jkummerow@chromium.org      builtin_id_(Builtins::builtin_count),
2125156ded31ef771a2d799ed902483d83b3ebcbdclrn@chromium.org      name_prefix_(name_prefix),
22cec079d8ed1f0920a0ea3dc9a3e81966013287c1whesse@chromium.org      name_(name),
23cec079d8ed1f0920a0ea3dc9a3e81966013287c1whesse@chromium.org      resource_name_(resource_name),
249dfbea4c7d423c7bc1db94425cb78e7f7cf41f78erik.corry@gmail.com      line_number_(line_number),
25dd6d9eedcac6e3b5adfb7702649ac32def9c3585mvstanton@chromium.org      column_number_(column_number),
263a5fd78f0ca6c2827bb05f69a373d152a9ce6ff3fschneider@chromium.org      shared_id_(0),
276b6df382019a622ba20133e47bbe2e6f323b013bdslomov@chromium.org      script_id_(v8::UnboundScript::kNoScriptId),
282c9426bdda5e95459527292063d885c98180cb0fjkummerow@chromium.org      no_frame_ranges_(NULL),
292c9426bdda5e95459527292063d885c98180cb0fjkummerow@chromium.org      bailout_reason_(kEmptyBailoutReason) { }
30cec079d8ed1f0920a0ea3dc9a3e81966013287c1whesse@chromium.org
31cec079d8ed1f0920a0ea3dc9a3e81966013287c1whesse@chromium.org
32357bf65ed5309ac3a2c4bf20b6ce7770488787c2ager@chromium.orgbool CodeEntry::is_js_function_tag(Logger::LogEventsAndTags tag) {
33357bf65ed5309ac3a2c4bf20b6ce7770488787c2ager@chromium.org  return tag == Logger::FUNCTION_TAG
34357bf65ed5309ac3a2c4bf20b6ce7770488787c2ager@chromium.org      || tag == Logger::LAZY_COMPILE_TAG
35357bf65ed5309ac3a2c4bf20b6ce7770488787c2ager@chromium.org      || tag == Logger::SCRIPT_TAG
36357bf65ed5309ac3a2c4bf20b6ce7770488787c2ager@chromium.org      || tag == Logger::NATIVE_FUNCTION_TAG
37357bf65ed5309ac3a2c4bf20b6ce7770488787c2ager@chromium.org      || tag == Logger::NATIVE_LAZY_COMPILE_TAG
38357bf65ed5309ac3a2c4bf20b6ce7770488787c2ager@chromium.org      || tag == Logger::NATIVE_SCRIPT_TAG;
39086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.org}
40086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.org
41086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.org
42c9c80823e038328f2e1060d7feef0762a50adf06ricow@chromium.orgProfileNode::ProfileNode(ProfileTree* tree, CodeEntry* entry)
43c9c80823e038328f2e1060d7feef0762a50adf06ricow@chromium.org    : tree_(tree),
44c9c80823e038328f2e1060d7feef0762a50adf06ricow@chromium.org      entry_(entry),
45086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.org      self_ticks_(0),
46f705b5034dc5bc422ac1019b591469a7d0534772mstarzinger@chromium.org      children_(CodeEntriesMatch),
472c9426bdda5e95459527292063d885c98180cb0fjkummerow@chromium.org      id_(tree->next_node_id()) { }
48086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.org
49086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.org} }  // namespace v8::internal
50086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.org
51086aac6d6268988582d3b5b0aa8d24f61ddc1f1ffschneider@chromium.org#endif  // V8_PROFILE_GENERATOR_INL_H_
52