equal
deleted
inserted
replaced
35 inline bool ZMarkTerminate::enter_stage(volatile uint* nworking_stage) { |
35 inline bool ZMarkTerminate::enter_stage(volatile uint* nworking_stage) { |
36 return Atomic::sub(1u, nworking_stage) == 0; |
36 return Atomic::sub(1u, nworking_stage) == 0; |
37 } |
37 } |
38 |
38 |
39 inline void ZMarkTerminate::exit_stage(volatile uint* nworking_stage) { |
39 inline void ZMarkTerminate::exit_stage(volatile uint* nworking_stage) { |
40 Atomic::add(1u, nworking_stage); |
40 Atomic::add(nworking_stage, 1u); |
41 } |
41 } |
42 |
42 |
43 inline bool ZMarkTerminate::try_exit_stage(volatile uint* nworking_stage) { |
43 inline bool ZMarkTerminate::try_exit_stage(volatile uint* nworking_stage) { |
44 uint nworking = Atomic::load(nworking_stage); |
44 uint nworking = Atomic::load(nworking_stage); |
45 |
45 |