| Index: src/profiler/profile-generator.h
|
| diff --git a/src/profiler/profile-generator.h b/src/profiler/profile-generator.h
|
| index 3c976d62924b3a27f032f92439c75b027aff2e3a..194b4909299c2d691a7a7660fe77f5dcd968593b 100644
|
| --- a/src/profiler/profile-generator.h
|
| +++ b/src/profiler/profile-generator.h
|
| @@ -99,7 +99,11 @@ class CodeEntry {
|
|
|
| int GetSourceLine(int pc_offset) const;
|
|
|
| + void AddInlineStack(int pc_offset, std::vector<CodeEntry*>& inline_stack);
|
| + const std::vector<CodeEntry*>* GetInlineStack(int pc_offset) const;
|
| +
|
| Address instruction_start() const { return instruction_start_; }
|
| + Logger::LogEventsAndTags tag() const { return TagField::decode(bit_field_); }
|
|
|
| static const char* const kEmptyNamePrefix;
|
| static const char* const kEmptyResourceName;
|
| @@ -109,7 +113,6 @@ class CodeEntry {
|
| private:
|
| class TagField : public BitField<Logger::LogEventsAndTags, 0, 8> {};
|
| class BuiltinIdField : public BitField<Builtins::Name, 8, 8> {};
|
| - Logger::LogEventsAndTags tag() const { return TagField::decode(bit_field_); }
|
|
|
| uint32_t bit_field_;
|
| const char* name_prefix_;
|
| @@ -125,6 +128,8 @@ class CodeEntry {
|
| size_t pc_offset_;
|
| JITLineInfoTable* line_info_;
|
| Address instruction_start_;
|
| + // Should be an unordered_map, but it doesn't currently work on Win & MacOS.
|
| + std::map<int, std::vector<CodeEntry*>> inline_locations_;
|
|
|
| std::vector<InlinedFunctionInfo> inlined_function_infos_;
|
|
|
| @@ -191,7 +196,7 @@ class ProfileTree {
|
| ~ProfileTree();
|
|
|
| ProfileNode* AddPathFromEnd(
|
| - const Vector<CodeEntry*>& path,
|
| + const std::vector<CodeEntry*>& path,
|
| int src_line = v8::CpuProfileNode::kNoLineNumberInfo,
|
| bool update_stats = true);
|
| ProfileNode* root() const { return root_; }
|
| @@ -225,7 +230,7 @@ class CpuProfile {
|
| CpuProfile(Isolate* isolate, const char* title, bool record_samples);
|
|
|
| // Add pc -> ... -> main() call path to the profile.
|
| - void AddPath(base::TimeTicks timestamp, const Vector<CodeEntry*>& path,
|
| + void AddPath(base::TimeTicks timestamp, const std::vector<CodeEntry*>& path,
|
| int src_line, bool update_stats);
|
| void CalculateTotalTicksAndSamplingRate();
|
|
|
| @@ -334,8 +339,8 @@ class CpuProfilesCollection {
|
|
|
| // Called from profile generator thread.
|
| void AddPathToCurrentProfiles(base::TimeTicks timestamp,
|
| - const Vector<CodeEntry*>& path, int src_line,
|
| - bool update_stats);
|
| + const std::vector<CodeEntry*>& path,
|
| + int src_line, bool update_stats);
|
|
|
| // Limits the number of profiles that can be simultaneously collected.
|
| static const int kMaxSimultaneousProfiles = 100;
|
|
|