diff options
Diffstat (limited to 'deps/v8/src/profile-generator.h')
-rw-r--r-- | deps/v8/src/profile-generator.h | 37 |
1 files changed, 15 insertions, 22 deletions
diff --git a/deps/v8/src/profile-generator.h b/deps/v8/src/profile-generator.h index 99aeb1f5c..0a4502cc1 100644 --- a/deps/v8/src/profile-generator.h +++ b/deps/v8/src/profile-generator.h @@ -41,7 +41,7 @@ struct OffsetRange; // forever, even if they disappear from JS heap or external storage. class StringsStorage { public: - StringsStorage(); + explicit StringsStorage(Heap* heap); ~StringsStorage(); const char* GetCopy(const char* src); @@ -63,6 +63,7 @@ class StringsStorage { const char* AddOrDisposeString(char* str, uint32_t hash); // Mapping of strings by String::Hash to const char* strings. + uint32_t hash_seed_; HashMap names_; DISALLOW_COPY_AND_ASSIGN(StringsStorage); @@ -88,6 +89,10 @@ class CodeEntry { INLINE(void set_shared_id(int shared_id)) { shared_id_ = shared_id; } INLINE(int script_id() const) { return script_id_; } INLINE(void set_script_id(int script_id)) { script_id_ = script_id; } + INLINE(void set_bailout_reason(const char* bailout_reason)) { + bailout_reason_ = bailout_reason; + } + INLINE(const char* bailout_reason() const) { return bailout_reason_; } INLINE(static bool is_js_function_tag(Logger::LogEventsAndTags tag)); @@ -105,6 +110,7 @@ class CodeEntry { static const char* const kEmptyNamePrefix; static const char* const kEmptyResourceName; + static const char* const kEmptyBailoutReason; private: Logger::LogEventsAndTags tag_ : 8; @@ -116,6 +122,7 @@ class CodeEntry { int shared_id_; int script_id_; List<OffsetRange>* no_frame_ranges_; + const char* bailout_reason_; DISALLOW_COPY_AND_ASSIGN(CodeEntry); }; @@ -131,14 +138,10 @@ class ProfileNode { ProfileNode* FindOrAddChild(CodeEntry* entry); INLINE(void IncrementSelfTicks()) { ++self_ticks_; } INLINE(void IncreaseSelfTicks(unsigned amount)) { self_ticks_ += amount; } - INLINE(void IncreaseTotalTicks(unsigned amount)) { total_ticks_ += amount; } INLINE(CodeEntry* entry() const) { return entry_; } INLINE(unsigned self_ticks() const) { return self_ticks_; } - INLINE(unsigned total_ticks() const) { return total_ticks_; } INLINE(const List<ProfileNode*>* children() const) { return &children_list_; } - double GetSelfMillis() const; - double GetTotalMillis() const; unsigned id() const { return id_; } void Print(int indent); @@ -155,7 +158,6 @@ class ProfileNode { ProfileTree* tree_; CodeEntry* entry_; - unsigned total_ticks_; unsigned self_ticks_; // Mapping from CodeEntry* to ProfileNode* HashMap children_; @@ -173,17 +175,9 @@ class ProfileTree { ProfileNode* AddPathFromEnd(const Vector<CodeEntry*>& path); void AddPathFromStart(const Vector<CodeEntry*>& path); - void CalculateTotalTicks(); - - double TicksToMillis(unsigned ticks) const { - return ticks * ms_to_ticks_scale_; - } ProfileNode* root() const { return root_; } - void SetTickRatePerMs(double ticks_per_ms); - unsigned next_node_id() { return next_node_id_++; } - void ShortPrint(); void Print() { root_->Print(0); } @@ -195,7 +189,6 @@ class ProfileTree { CodeEntry root_entry_; unsigned next_node_id_; ProfileNode* root_; - double ms_to_ticks_scale_; DISALLOW_COPY_AND_ASSIGN(ProfileTree); }; @@ -216,20 +209,20 @@ class CpuProfile { int samples_count() const { return samples_.length(); } ProfileNode* sample(int index) const { return samples_.at(index); } - int64_t start_time_us() const { return start_time_us_; } - int64_t end_time_us() const { return end_time_us_; } + Time start_time() const { return start_time_; } + Time end_time() const { return end_time_; } void UpdateTicksScale(); - void ShortPrint(); void Print(); private: const char* title_; unsigned uid_; bool record_samples_; - int64_t start_time_us_; - int64_t end_time_us_; + Time start_time_; + Time end_time_; + ElapsedTimer timer_; List<ProfileNode*> samples_; ProfileTree top_down_; @@ -285,7 +278,7 @@ class CodeMap { class CpuProfilesCollection { public: - CpuProfilesCollection(); + explicit CpuProfilesCollection(Heap* heap); ~CpuProfilesCollection(); bool StartProfiling(const char* title, unsigned uid, bool record_samples); @@ -326,7 +319,7 @@ class CpuProfilesCollection { // Accessed by VM thread and profile generator thread. List<CpuProfile*> current_profiles_; - Semaphore* current_profiles_semaphore_; + Semaphore current_profiles_semaphore_; DISALLOW_COPY_AND_ASSIGN(CpuProfilesCollection); }; |