1. 15 Apr, 2016 1 commit
    • Vicent Marti's avatar
      lua: Properly support high-range 64 addresses · fbf7193c
      Vicent Marti authored
      Lua's native Number type is a 64-bit double with 52-bit precision, which
      was causing rounding errors when storing and working with high-range
      memory addresses (namely, addresses from the kernel, which are all in
      the `0xffffffff........` range).
      
      To work around this, we've made sure to never call `tonumber` on any
      variables that represent memory addresses, and instead continue
      operating on them with their native types: LuaJIT can work with the
      underlying `uint64_t` type for these values and transparently perform
      all kinds of numeric operations.
      
      The only limitation of working with native 64-bit types in LuaJIT is
      that they cannot be printed with the language's default `string.format`
      API. To give better UX to probe writers, these APIs have been
      monkeypatched so the `%p` format specifier will now properly handle
      64-bit addresses and print them in an appropriate format.
      fbf7193c
  2. 11 Apr, 2016 2 commits
  3. 10 Apr, 2016 5 commits
  4. 09 Apr, 2016 2 commits
  5. 06 Apr, 2016 6 commits
  6. 05 Apr, 2016 4 commits
  7. 04 Apr, 2016 4 commits
  8. 02 Apr, 2016 1 commit
  9. 01 Apr, 2016 10 commits
  10. 31 Mar, 2016 4 commits
  11. 30 Mar, 2016 1 commit