Index: src/cpu-profiler.h |
diff --git a/src/cpu-profiler.h b/src/cpu-profiler.h |
index 6e2e771a41fbfa3c8e59d3066d02cbb559896a1e..850950ba6511c055970717410ce58c13e854b0e4 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 time_limit); |
INLINE(static bool FilterOutCodeCreateEvent(Logger::LogEventsAndTags tag)); |
ProfileGenerator* generator_; |
bool running_; |
+ // Sampling interval in microseconds.i |
+ const int interval_; |
UnboundQueue<CodeEventsContainer> events_buffer_; |
SamplingCircularQueue ticks_buffer_; |
UnboundQueue<TickSampleEventRecord> ticks_from_vm_buffer_; |