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_PROFILER_PROFILE_GENERATOR_INL_H_ 6#define V8_PROFILER_PROFILE_GENERATOR_INL_H_ 7 8#include "src/profiler/profile-generator.h" 9 10namespace v8 { 11namespace internal { 12 13CodeEntry::CodeEntry(CodeEventListener::LogEventsAndTags tag, const char* name, 14 const char* name_prefix, const char* resource_name, 15 int line_number, int column_number, 16 JITLineInfoTable* line_info, Address instruction_start) 17 : bit_field_(TagField::encode(tag) | 18 BuiltinIdField::encode(Builtins::builtin_count)), 19 name_prefix_(name_prefix), 20 name_(name), 21 resource_name_(resource_name), 22 line_number_(line_number), 23 column_number_(column_number), 24 script_id_(v8::UnboundScript::kNoScriptId), 25 position_(0), 26 bailout_reason_(kEmptyBailoutReason), 27 deopt_reason_(kNoDeoptReason), 28 deopt_position_(SourcePosition::Unknown()), 29 line_info_(line_info), 30 instruction_start_(instruction_start) {} 31 32ProfileNode::ProfileNode(ProfileTree* tree, CodeEntry* entry) 33 : tree_(tree), 34 entry_(entry), 35 self_ticks_(0), 36 children_(CodeEntriesMatch), 37 id_(tree->next_node_id()), 38 line_ticks_(LineTickMatch) {} 39 40 41inline unsigned ProfileNode::function_id() const { 42 return tree_->GetFunctionId(this); 43} 44 45 46inline Isolate* ProfileNode::isolate() const { return tree_->isolate(); } 47 48} // namespace internal 49} // namespace v8 50 51#endif // V8_PROFILER_PROFILE_GENERATOR_INL_H_ 52