5 #ifndef V8_PROFILER_CIRCULAR_QUEUE_H_ 6 #define V8_PROFILER_CIRCULAR_QUEUE_H_ 8 #include "src/base/atomicops.h" 9 #include "src/globals.h" 20 template<
typename T,
unsigned Length>
49 struct V8_ALIGNED(PROCESSOR_CACHE_LINE_SIZE) Entry {
50 Entry() : marker(kEmpty) {}
52 base::Atomic32 marker;
55 Entry* Next(Entry* entry);
57 Entry buffer_[Length];
58 V8_ALIGNED(PROCESSOR_CACHE_LINE_SIZE) Entry* enqueue_pos_;
59 V8_ALIGNED(PROCESSOR_CACHE_LINE_SIZE) Entry* dequeue_pos_;
68 #endif // V8_PROFILER_CIRCULAR_QUEUE_H_