Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Side by Side Diff: src/log.cc

Issue 1809203007: Linux perf integration with the new support for JIT. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fixes Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/log.h ('k') | src/log-utils.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/log.h" 5 #include "src/log.h"
6 6
7 #include <cstdarg> 7 #include <cstdarg>
8 #include <sstream> 8 #include <sstream>
9 9
10 #include "src/bailout-reason.h" 10 #include "src/bailout-reason.h"
11 #include "src/base/platform/platform.h" 11 #include "src/base/platform/platform.h"
12 #include "src/bootstrapper.h" 12 #include "src/bootstrapper.h"
13 #include "src/code-stubs.h" 13 #include "src/code-stubs.h"
14 #include "src/deoptimizer.h" 14 #include "src/deoptimizer.h"
15 #include "src/global-handles.h" 15 #include "src/global-handles.h"
16 #include "src/interpreter/bytecodes.h" 16 #include "src/interpreter/bytecodes.h"
17 #include "src/interpreter/interpreter.h" 17 #include "src/interpreter/interpreter.h"
18 #include "src/log-inl.h" 18 #include "src/log-inl.h"
19 #include "src/log-utils.h" 19 #include "src/log-utils.h"
20 #include "src/macro-assembler.h" 20 #include "src/macro-assembler.h"
21 #include "src/perf-jit.h"
21 #include "src/profiler/cpu-profiler.h" 22 #include "src/profiler/cpu-profiler.h"
22 #include "src/runtime-profiler.h" 23 #include "src/runtime-profiler.h"
23 #include "src/string-stream.h" 24 #include "src/string-stream.h"
24 #include "src/vm-state-inl.h" 25 #include "src/vm-state-inl.h"
25 26
26 namespace v8 { 27 namespace v8 {
27 namespace internal { 28 namespace internal {
28 29
29 30
30 #define DECLARE_EVENT(ignore1, name) name, 31 #define DECLARE_EVENT(ignore1, name) name,
(...skipping 692 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 overflow = Remove(&sample); 724 overflow = Remove(&sample);
724 } 725 }
725 } 726 }
726 727
727 728
728 // 729 //
729 // Logger class implementation. 730 // Logger class implementation.
730 // 731 //
731 732
732 Logger::Logger(Isolate* isolate) 733 Logger::Logger(Isolate* isolate)
733 : isolate_(isolate), 734 : isolate_(isolate),
734 ticker_(NULL), 735 ticker_(NULL),
735 profiler_(NULL), 736 profiler_(NULL),
736 log_events_(NULL), 737 log_events_(NULL),
737 is_logging_(false), 738 is_logging_(false),
738 log_(new Log(this)), 739 log_(new Log(this)),
739 perf_basic_logger_(NULL), 740 perf_basic_logger_(NULL),
740 ll_logger_(NULL), 741 perf_jit_logger_(NULL),
741 jit_logger_(NULL), 742 ll_logger_(NULL),
742 listeners_(5), 743 jit_logger_(NULL),
743 is_initialized_(false) { 744 listeners_(5),
744 } 745 is_initialized_(false) {}
745
746 746
747 Logger::~Logger() { 747 Logger::~Logger() {
748 delete log_; 748 delete log_;
749 } 749 }
750 750
751 751
752 void Logger::addCodeEventListener(CodeEventListener* listener) { 752 void Logger::addCodeEventListener(CodeEventListener* listener) {
753 DCHECK(!hasCodeEventListener(listener)); 753 DCHECK(!hasCodeEventListener(listener));
754 listeners_.Add(listener); 754 listeners_.Add(listener);
755 } 755 }
(...skipping 1023 matching lines...) Expand 10 before | Expand all | Expand 10 after
1779 std::ostringstream log_file_name; 1779 std::ostringstream log_file_name;
1780 PrepareLogFileName(log_file_name, isolate, FLAG_logfile); 1780 PrepareLogFileName(log_file_name, isolate, FLAG_logfile);
1781 log_->Initialize(log_file_name.str().c_str()); 1781 log_->Initialize(log_file_name.str().c_str());
1782 1782
1783 1783
1784 if (FLAG_perf_basic_prof) { 1784 if (FLAG_perf_basic_prof) {
1785 perf_basic_logger_ = new PerfBasicLogger(); 1785 perf_basic_logger_ = new PerfBasicLogger();
1786 addCodeEventListener(perf_basic_logger_); 1786 addCodeEventListener(perf_basic_logger_);
1787 } 1787 }
1788 1788
1789 if (FLAG_perf_prof) {
1790 perf_jit_logger_ = new PerfJitLogger();
1791 addCodeEventListener(perf_jit_logger_);
1792 }
1793
1789 if (FLAG_ll_prof) { 1794 if (FLAG_ll_prof) {
1790 ll_logger_ = new LowLevelLogger(log_file_name.str().c_str()); 1795 ll_logger_ = new LowLevelLogger(log_file_name.str().c_str());
1791 addCodeEventListener(ll_logger_); 1796 addCodeEventListener(ll_logger_);
1792 } 1797 }
1793 1798
1794 ticker_ = new Ticker(isolate, kSamplingIntervalMs); 1799 ticker_ = new Ticker(isolate, kSamplingIntervalMs);
1795 1800
1796 if (Log::InitLogAtStart()) { 1801 if (Log::InitLogAtStart()) {
1797 is_logging_ = true; 1802 is_logging_ = true;
1798 } 1803 }
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1847 1852
1848 delete ticker_; 1853 delete ticker_;
1849 ticker_ = NULL; 1854 ticker_ = NULL;
1850 1855
1851 if (perf_basic_logger_) { 1856 if (perf_basic_logger_) {
1852 removeCodeEventListener(perf_basic_logger_); 1857 removeCodeEventListener(perf_basic_logger_);
1853 delete perf_basic_logger_; 1858 delete perf_basic_logger_;
1854 perf_basic_logger_ = NULL; 1859 perf_basic_logger_ = NULL;
1855 } 1860 }
1856 1861
1862 if (perf_jit_logger_) {
1863 removeCodeEventListener(perf_jit_logger_);
1864 delete perf_jit_logger_;
1865 perf_jit_logger_ = NULL;
1866 }
1867
1857 if (ll_logger_) { 1868 if (ll_logger_) {
1858 removeCodeEventListener(ll_logger_); 1869 removeCodeEventListener(ll_logger_);
1859 delete ll_logger_; 1870 delete ll_logger_;
1860 ll_logger_ = NULL; 1871 ll_logger_ = NULL;
1861 } 1872 }
1862 1873
1863 if (jit_logger_) { 1874 if (jit_logger_) {
1864 removeCodeEventListener(jit_logger_); 1875 removeCodeEventListener(jit_logger_);
1865 delete jit_logger_; 1876 delete jit_logger_;
1866 jit_logger_ = NULL; 1877 jit_logger_ = NULL;
1867 } 1878 }
1868 1879
1869 return log_->Close(); 1880 return log_->Close();
1870 } 1881 }
1871 1882
1872 } // namespace internal 1883 } // namespace internal
1873 } // namespace v8 1884 } // namespace v8
OLDNEW
« no previous file with comments | « src/log.h ('k') | src/log-utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698