SamplingCircularQueue::SamplingCircularQueue(size_t record_size_in_bytes,
size_t desired_chunk_size_in_bytes,
- int buffer_size_in_chunks)
+ unsigned buffer_size_in_chunks)
: record_size_(record_size_in_bytes / sizeof(Cell)),
chunk_size_in_bytes_(desired_chunk_size_in_bytes / record_size_in_bytes *
record_size_in_bytes + sizeof(Cell)),
ASSERT(chunk_size_ * sizeof(Cell) == chunk_size_in_bytes_);
ASSERT(buffer_size_in_chunks > 2);
// Mark all chunks as clear.
- for (int i = 0; i < buffer_size_; i += chunk_size_) {
+ for (size_t i = 0; i < buffer_size_; i += chunk_size_) {
buffer_[i] = kClear;
}
// Executed on the application thread.
SamplingCircularQueue(size_t record_size_in_bytes,
size_t desired_chunk_size_in_bytes,
- int buffer_size_in_chunks);
+ unsigned buffer_size_in_chunks);
~SamplingCircularQueue();
// Enqueue returns a pointer to a memory location for storing the next
INLINE(void WrapPositionIfNeeded(Cell** pos));
- const int record_size_;
+ const size_t record_size_;
const size_t chunk_size_in_bytes_;
- const int chunk_size_;
- const int buffer_size_;
+ const size_t chunk_size_;
+ const size_t buffer_size_;
Cell* buffer_;
byte* positions_;
ProducerPosition* producer_pos_;