tiny.simd.SpinPause
Defined in thread.spin.
API (3)
Actions
Public operations.
Source
Source: lib/simd/src/thread/spin.zig:16
zig
pub const SpinPause = struct { pub fn spinType(_: SpinPause) SpinType { return .pause; } pub fn untilDifferent( _: SpinPause, previous: u32, watched: *const std.atomic.Value(u32), ) SpinResult { var repetitions: u32 = 0; while (true) : (repetitions +%= 1) { const current = watched.load(.acquire); if (current != previous) { return .{ .value = current, .repetitions = repetitions, }; } std.atomic.spinLoopHint(); } } pub fn untilEqual( _: SpinPause, expected: u32, watched: *const std.atomic.Value(u32), ) usize { var repetitions: usize = 0; while (watched.load(.acquire) != expected) : (repetitions +%= 1) { std.atomic.spinLoopHint(); } return repetitions; }};Source: lib/simd/src/root.zig:121
zig
pub const SpinPause = thread.SpinPause;Also reachable as
Audit
| Definitions | 4 |
|---|---|
| Public names | 12 |
| Members | 0 |
| Version | 26.7.0 |
| Revision | daab053ee433 |