authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-05-02 20:19:26-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-05-02 20:19:26-04:00
logc186cd187e9b75ee1514a5f3371abeffb36d871a
treebc3f79038f74fa087d67dd44b778cf0fe4ab71ff
parent6f002e724bb4571ff31949a36f2e634e522eb42b

std.atomic - use AtomicOrder.SeqCst for everything

also use less memory for the tests

2 files changed, 5 insertions(+), 5 deletions(-)

std/atomic/queue.zig+3-3
......@@ -31,10 +31,10 @@ pub fn Queue(comptime T: type) type {
3131 }
3232
3333 pub fn get(self: &Self) ?&Node {
34 var head = @atomicLoad(&Node, &self.head, AtomicOrder.Acquire);
34 var head = @atomicLoad(&Node, &self.head, AtomicOrder.SeqCst);
3535 while (true) {
3636 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;
3838 }
3939 }
4040 };
......@@ -56,7 +56,7 @@ test "std.atomic.queue" {
5656 var direct_allocator = std.heap.DirectAllocator.init();
5757 defer direct_allocator.deinit();
5858
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);
6060 defer direct_allocator.allocator.free(plenty_of_memory);
6161
6262 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 {
3535 }
3636
3737 pub fn pop(self: &Self) ?&Node {
38 var root = @atomicLoad(?&Node, &self.root, AtomicOrder.Acquire);
38 var root = @atomicLoad(?&Node, &self.root, AtomicOrder.SeqCst);
3939 while (true) {
4040 root = @cmpxchgWeak(?&Node, &self.root, root, (root ?? return null).next, AtomicOrder.SeqCst, AtomicOrder.SeqCst) ?? return root;
4141 }
......@@ -63,7 +63,7 @@ test "std.atomic.stack" {
6363 var direct_allocator = std.heap.DirectAllocator.init();
6464 defer direct_allocator.deinit();
6565
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);
6767 defer direct_allocator.allocator.free(plenty_of_memory);
6868
6969 var fixed_buffer_allocator = std.heap.ThreadSafeFixedBufferAllocator.init(plenty_of_memory);