OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_UNBOUND_QUEUE_ | 5 #ifndef V8_UNBOUND_QUEUE_ |
6 #define V8_UNBOUND_QUEUE_ | 6 #define V8_UNBOUND_QUEUE_ |
7 | 7 |
8 #include "allocation.h" | 8 #include "src/allocation.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
11 namespace internal { | 11 namespace internal { |
12 | 12 |
13 | 13 |
14 // Lock-free unbound queue for small records. Intended for | 14 // Lock-free unbound queue for small records. Intended for |
15 // transferring small records between a Single producer and a Single | 15 // transferring small records between a Single producer and a Single |
16 // consumer. Doesn't have restrictions on the number of queued | 16 // consumer. Doesn't have restrictions on the number of queued |
17 // elements, so producer never blocks. Implemented after Herb | 17 // elements, so producer never blocks. Implemented after Herb |
18 // Sutter's article: | 18 // Sutter's article: |
(...skipping 18 matching lines...) Expand all Loading... |
37 AtomicWord divider_; // Node* | 37 AtomicWord divider_; // Node* |
38 AtomicWord last_; // Node* | 38 AtomicWord last_; // Node* |
39 | 39 |
40 DISALLOW_COPY_AND_ASSIGN(UnboundQueue); | 40 DISALLOW_COPY_AND_ASSIGN(UnboundQueue); |
41 }; | 41 }; |
42 | 42 |
43 | 43 |
44 } } // namespace v8::internal | 44 } } // namespace v8::internal |
45 | 45 |
46 #endif // V8_UNBOUND_QUEUE_ | 46 #endif // V8_UNBOUND_QUEUE_ |
OLD | NEW |