| author | |
| committer | |
| log | c186cd187e9b75ee1514a5f3371abeffb36d871a |
| tree | bc3f79038f74fa087d67dd44b778cf0fe4ab71ff |
| parent | 6f002e724bb4571ff31949a36f2e634e522eb42b |
also use less memory for the tests2 files changed, 5 insertions(+), 5 deletions(-)
std/atomic/queue.zig+3-3| ... | @@ -31,10 +31,10 @@ pub fn Queue(comptime T: type) type { | ... | @@ -31,10 +31,10 @@ pub fn Queue(comptime T: type) type { |
| 31 | } | 31 | } |
| 32 | 32 | ||
| 33 | pub fn get(self: &Self) ?&Node { | 33 | pub fn get(self: &Self) ?&Node { |
| 34 | var head = @atomicLoad(&Node, &self.head, AtomicOrder.Acquire); | 34 | var head = @atomicLoad(&Node, &self.head, AtomicOrder.SeqCst); |
| 35 | while (true) { | 35 | while (true) { |
| 36 | const node = head.next ?? return null; | 36 | const node = head.next ?? return null; |
| 37 | head = @cmpxchgWeak(&Node, &self.head, head, node, AtomicOrder.Release, AtomicOrder.Acquire) ?? return node; | 37 | head = @cmpxchgWeak(&Node, &self.head, head, node, AtomicOrder.SeqCst, AtomicOrder.SeqCst) ?? return node; |
| 38 | } | 38 | } |
| 39 | } | 39 | } |
| 40 | }; | 40 | }; |
| ... | @@ -56,7 +56,7 @@ test "std.atomic.queue" { | ... | @@ -56,7 +56,7 @@ test "std.atomic.queue" { |
| 56 | var direct_allocator = std.heap.DirectAllocator.init(); | 56 | var direct_allocator = std.heap.DirectAllocator.init(); |
| 57 | defer direct_allocator.deinit(); | 57 | defer direct_allocator.deinit(); |
| 58 | 58 | ||
| 59 | var plenty_of_memory = try direct_allocator.allocator.alloc(u8, 64 * 1024 * 1024); | 59 | var plenty_of_memory = try direct_allocator.allocator.alloc(u8, 600 * 1024); |
| 60 | defer direct_allocator.allocator.free(plenty_of_memory); | 60 | defer direct_allocator.allocator.free(plenty_of_memory); |
| 61 | 61 | ||
| 62 | var fixed_buffer_allocator = std.heap.ThreadSafeFixedBufferAllocator.init(plenty_of_memory); | 62 | var fixed_buffer_allocator = std.heap.ThreadSafeFixedBufferAllocator.init(plenty_of_memory); |
std/atomic/stack.zig+2-2| ... | @@ -35,7 +35,7 @@ pub fn Stack(comptime T: type) type { | ... | @@ -35,7 +35,7 @@ pub fn Stack(comptime T: type) type { |
| 35 | } | 35 | } |
| 36 | 36 | ||
| 37 | pub fn pop(self: &Self) ?&Node { | 37 | pub fn pop(self: &Self) ?&Node { |
| 38 | var root = @atomicLoad(?&Node, &self.root, AtomicOrder.Acquire); | 38 | var root = @atomicLoad(?&Node, &self.root, AtomicOrder.SeqCst); |
| 39 | while (true) { | 39 | while (true) { |
| 40 | root = @cmpxchgWeak(?&Node, &self.root, root, (root ?? return null).next, AtomicOrder.SeqCst, AtomicOrder.SeqCst) ?? return root; | 40 | root = @cmpxchgWeak(?&Node, &self.root, root, (root ?? return null).next, AtomicOrder.SeqCst, AtomicOrder.SeqCst) ?? return root; |
| 41 | } | 41 | } |
| ... | @@ -63,7 +63,7 @@ test "std.atomic.stack" { | ... | @@ -63,7 +63,7 @@ test "std.atomic.stack" { |
| 63 | var direct_allocator = std.heap.DirectAllocator.init(); | 63 | var direct_allocator = std.heap.DirectAllocator.init(); |
| 64 | defer direct_allocator.deinit(); | 64 | defer direct_allocator.deinit(); |
| 65 | 65 | ||
| 66 | var plenty_of_memory = try direct_allocator.allocator.alloc(u8, 64 * 1024 * 1024); | 66 | var plenty_of_memory = try direct_allocator.allocator.alloc(u8, 600 * 1024); |
| 67 | defer direct_allocator.allocator.free(plenty_of_memory); | 67 | defer direct_allocator.allocator.free(plenty_of_memory); |
| 68 | 68 | ||
| 69 | var fixed_buffer_allocator = std.heap.ThreadSafeFixedBufferAllocator.init(plenty_of_memory); | 69 | var fixed_buffer_allocator = std.heap.ThreadSafeFixedBufferAllocator.init(plenty_of_memory); |