| Index: src/cpu-profiler.h
|
| diff --git a/src/cpu-profiler.h b/src/cpu-profiler.h
|
| index 6e2e771a41fbfa3c8e59d3066d02cbb559896a1e..f72593c190658650920290b9d7b759fd6adc2102 100644
|
| --- a/src/cpu-profiler.h
|
| +++ b/src/cpu-profiler.h
|
| @@ -122,9 +122,9 @@ class TickSampleEventRecord {
|
|
|
| // This class implements both the profile events processor thread and
|
| // methods called by event producers: VM and stack sampler threads.
|
| -class ProfilerEventsProcessor : public Thread {
|
| +class ProfilerEventsProcessor : public CpuProfilerThread {
|
| public:
|
| - explicit ProfilerEventsProcessor(ProfileGenerator* generator);
|
| + explicit ProfilerEventsProcessor(ProfileGenerator* generator, Sampler* sampler, int interval);
|
| virtual ~ProfilerEventsProcessor() {}
|
|
|
| // Thread control.
|
| @@ -171,13 +171,16 @@ class ProfilerEventsProcessor : public Thread {
|
| };
|
|
|
| // Called from events processing thread (Run() method.)
|
| - bool ProcessCodeEvent(unsigned* dequeue_order);
|
| - bool ProcessTicks(unsigned dequeue_order);
|
| + bool ProcessCodeEvent(unsigned& dequeue_order);
|
| + bool ProcessTicks(unsigned dequeue_order, int64_t start, int64_t time_limit);
|
| + void ProcessEventsQueue(unsigned& dequeue_order, int64_t start, int64_t time_limit);
|
|
|
| INLINE(static bool FilterOutCodeCreateEvent(Logger::LogEventsAndTags tag));
|
|
|
| ProfileGenerator* generator_;
|
| bool running_;
|
| + // Sampling interval in microseconds.
|
| + const int interval_;
|
| UnboundQueue<CodeEventsContainer> events_buffer_;
|
| SamplingCircularQueue ticks_buffer_;
|
| UnboundQueue<TickSampleEventRecord> ticks_from_vm_buffer_;
|
|
|