Lines Matching refs:that

14 	bugs due to games that compilers and DEC Alpha can play.
18 DEC Alpha can load a pointer, dereference that pointer, and
19 return data preceding initialization that preceded the store of
33 these expressions, so that subsequent accesses no longer depend
38 and "b" are integers that happen to be equal, the expression
50 Please note that single-bit operands to bitwise "&" can also
51 be dangerous. At this point, the compiler knows that the
57 o If you are using RCU to protect JITed functions, so that the
62 using the same memory that was used by an earlier JITed function.
78 The reason this is buggy is that "&&" and "||" are often compiled
97 As before, the reason this is buggy is that relational operators
113 Because the compiler now knows that the value of "p" is exactly
122 can now be speculated, such that it might happen before the
128 compiler knows that the pointer is NULL, you had better
141 o The comparison is against a pointer that references memory
142 that was initialized "a long time ago." The reason
143 this is safe is that even if misordering occurs, the
144 misordering will not affect the accesses that follow
156 o During some prior acquisition of the lock that
162 kernel's wide array of primitives that cause code to
177 so that a control dependency preserves the needed ordering.
184 pointer. Note that the volatile cast in rcu_dereference()
187 However, please note that if the compiler knows that the
189 comparison will provide exactly the information that the
192 o Disable any value-speculation optimizations that your compiler
194 optimizations that take data collected from prior runs. Such
198 optimizations that leverage the branch-prediction hardware are
247 /* The compiler decides that q->c is same as p->c. */
253 You might be surprised that the outcome (r1 == 143 && r2 == 44) is possible,
256 that it loaded into "r2". The fact that this same result can occur due
259 But suppose that the reader needs a consistent view?
305 /* The compiler decides that q->c is same as p->c. */
320 from carrying out optimizations that otherwise might destroy the ordering
321 guarantees that RCU depends on. And the volatile cast in rcu_dereference()
357 Because the compiler can see all stores to "gp", it knows that the only