On Fri, 11.06.2010 at 21:37:29 +0200, Dag-Erling Smørgrav wrote: > Ulrich Spörlein <u...@spoerlein.net> writes: > > optimizing compilers have a tendency to remove assignments that have > > no side effects. The code in sys/crypto/sha2/sha2.c is doing a lot of > > zeroing variables, which is however optimized away. [...] Is there a > > canonical way to zero those variables and should we use them (memset > > perhaps? what are the performance implications?) > > If you stick these variables in a struct, you can memset the struct to > zero them; if there are many of them, it may be faster than zeroing them > individually. > > Alternatively, you can use something like this: > > #define FORCE_ASSIGN(type, var, value) \ > *(volatile type *)&(var) = (value)
Interesting trick, thanks. I'll try this ... Uli _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"