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
29 is within its right to assume that the value of an index into
32 that the array index no longer depended on the value returned
44 these expressions, so that subsequent accesses no longer depend
49 and "b" are integers that happen to be equal, the expression
61 Please note that single-bit operands to bitwise "&" can also
62 be dangerous. At this point, the compiler knows that the
68 o If you are using RCU to protect JITed functions, so that the
73 using the same memory that was used by an earlier JITed function.
88 The reason this is buggy is that "&&" and "||" are often compiled
106 As before, the reason this is buggy is that relational operators
122 Because the compiler now knows that the value of "p" is exactly
131 can now be speculated, such that it might happen before the
137 compiler knows that the pointer is NULL, you had better
150 o The comparison is against a pointer that references memory
151 that was initialized "a long time ago." The reason
152 this is safe is that even if misordering occurs, the
153 misordering will not affect the accesses that follow
165 o During some prior acquisition of the lock that
171 kernel's wide array of primitives that cause code to
186 so that a control dependency preserves the needed ordering.
193 pointer. Note that the volatile cast in rcu_dereference()
196 o Disable any value-speculation optimizations that your compiler
198 optimizations that take data collected from prior runs. Such
202 optimizations that leverage the branch-prediction hardware are
251 /* The compiler decides that q->c is same as p->c. */
257 You might be surprised that the outcome (r1 == 143 && r2 == 44) is possible,
260 that it loaded into "r2". The fact that this same result can occur due
263 But suppose that the reader needs a consistent view?
309 /* The compiler decides that q->c is same as p->c. */
324 from carrying out optimizations that otherwise might destroy the ordering
325 guarantees that RCU depends on. And the volatile cast in rcu_dereference()
361 Because the compiler can see all stores to "gp", it knows that the only