Skip to content
Snippets Groups Projects
  1. Sep 26, 2021
  2. Nov 05, 2020
  3. Apr 23, 2020
  4. Mar 29, 2020
  5. Dec 18, 2019
  6. Nov 27, 2019
  7. Sep 28, 2019
    • Henry de Valence's avatar
      Bump version to 2.2.1. · 73771ba1
      Henry de Valence authored
      The preceding `cargo publish` was done starting from the wrong local
      state; I had an inconsistent state relative to GitHub because of locally
      testing the fuzz targets PR.  Oops.
      73771ba1
  8. Sep 27, 2019
  9. Sep 19, 2019
  10. Sep 13, 2019
  11. Sep 12, 2019
    • Daan Sprenkels's avatar
      Harden stable implementation of black_box · b43b139d
      Daan Sprenkels authored
      In Rust, `core::ptr::read_volatile` is not formally specified.
      However the current documentation mentions that "the semantics
      will almost always end up pretty similar to C11's definition of
      volatile".
      
      In C11, a volatile read *always* reads a value from memory. So this
      value *must* be in RAM in that form, at some time.
      
      This allows us to create a relatively efficient optimization
      barrier, by spilling the value to the stack, and immediadiately
      reloading it again.
      
      The benefit is that LTO could ever optimize the empty function
      away, even if #[inline(always)] is specified (although this may
      be very unlikely). However, `volatile` is concretely specified,
      so this optimization barrier will not be lost.
      b43b139d
  12. Sep 04, 2019
  13. Aug 12, 2019
  14. Jul 31, 2019
  15. Jul 30, 2019
  16. Jul 24, 2019
  17. Jul 22, 2019
  18. Jul 12, 2019
    • jethrogb's avatar
      Fix typo · d72deb6e
      jethrogb authored
      d72deb6e
    • jethrogb's avatar
      Optimize black_box · 99d6128d
      jethrogb authored
      The previous assembly code required the compiler to move the value into memory to be able to pass the pointer into assembly. Often this also resulted in the function not being inlined. I believe this code is equivalent in terms of black box behavior but allows for much better codegen in the case where `input` is already in a register.
      99d6128d
  19. Jul 03, 2019
  20. May 29, 2019
  21. Apr 29, 2019
Loading