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

Side by Side Diff: src/cpu-profiler.cc

Issue 1514006: C++ profiles processor: put under #ifdef and fix issues. (Closed)
Patch Set: Created 10 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
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 14 matching lines...) Expand all
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 27
28 #include "v8.h" 28 #include "v8.h"
29 29
30 #include "cpu-profiler-inl.h" 30 #include "cpu-profiler-inl.h"
31 31
32 namespace v8 { 32 namespace v8 {
33 namespace internal { 33 namespace internal {
34 34
35 #ifdef ENABLE_CPP_PROFILES_PROCESSOR
35 36
36 static const int kEventsBufferSize = 256*KB; 37 static const int kEventsBufferSize = 256*KB;
37 static const int kTickSamplesBufferChunkSize = 64*KB; 38 static const int kTickSamplesBufferChunkSize = 64*KB;
38 static const int kTickSamplesBufferChunksCount = 16; 39 static const int kTickSamplesBufferChunksCount = 16;
39 40
40 41
41 ProfilerEventsProcessor::ProfilerEventsProcessor(ProfileGenerator* generator) 42 ProfilerEventsProcessor::ProfilerEventsProcessor(ProfileGenerator* generator)
42 : generator_(generator), 43 : generator_(generator),
43 running_(false), 44 running_(false),
44 events_buffer_(kEventsBufferSize), 45 events_buffer_(kEventsBufferSize),
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 *dequeue_order = record.generic.order; 157 *dequeue_order = record.generic.order;
157 return true; 158 return true;
158 } 159 }
159 return false; 160 return false;
160 } 161 }
161 162
162 163
163 bool ProfilerEventsProcessor::ProcessTicks(unsigned dequeue_order) { 164 bool ProfilerEventsProcessor::ProcessTicks(unsigned dequeue_order) {
164 while (true) { 165 while (true) {
165 const TickSampleEventRecord* rec = 166 const TickSampleEventRecord* rec =
166 reinterpret_cast<TickSampleEventRecord*>(ticks_buffer_.StartDequeue()); 167 TickSampleEventRecord::cast(ticks_buffer_.StartDequeue());
167 if (rec == NULL) return false; 168 if (rec == NULL) return false;
168 if (rec->order == dequeue_order) { 169 if (rec->order == dequeue_order) {
169 generator_->RecordTickSample(rec->sample); 170 generator_->RecordTickSample(rec->sample);
170 ticks_buffer_.FinishDequeue(); 171 ticks_buffer_.FinishDequeue();
171 } else { 172 } else {
172 return true; 173 return true;
173 } 174 }
174 } 175 }
175 } 176 }
176 177
(...skipping 11 matching lines...) Expand all
188 } 189 }
189 YieldCPU(); 190 YieldCPU();
190 } 191 }
191 192
192 // Process remaining tick events. 193 // Process remaining tick events.
193 ticks_buffer_.FlushResidualRecords(); 194 ticks_buffer_.FlushResidualRecords();
194 // Perform processing until we have tick events, skip remaining code events. 195 // Perform processing until we have tick events, skip remaining code events.
195 while (ProcessTicks(dequeue_order) && ProcessCodeEvent(&dequeue_order)) { } 196 while (ProcessTicks(dequeue_order) && ProcessCodeEvent(&dequeue_order)) { }
196 } 197 }
197 198
199 #endif // ENABLE_CPP_PROFILES_PROCESSOR
198 200
199 } } // namespace v8::internal 201 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698