Skip to content
Snippets Groups Projects
  1. Jul 04, 2018
  2. Jun 30, 2018
    • Tommie Levy's avatar
      Memcpy in the new buffer after reallocating the vec · 573b77db
      Tommie Levy authored
      Reserve enough mem that you have enough left over for the next reserve
      Disable memtrim, because it breaks the assumption that reserve will not
      change the exsting vector contents.
      
      Tests are still hanging on linux. I think our mutex impl may be broken
      when under contention.
      573b77db
  3. Jun 24, 2018
  4. Jun 23, 2018
  5. Jun 22, 2018
  6. Jun 21, 2018
  7. Jun 12, 2018
  8. May 20, 2018
  9. Mar 04, 2018
  10. Nov 08, 2017
  11. Sep 24, 2017
  12. Jul 22, 2017
  13. Jun 17, 2017
  14. Mar 06, 2017
  15. Jan 23, 2017
  16. Jan 17, 2017
  17. Jan 12, 2017
    • Jorge Aparicio's avatar
      fix the build (#42) · 1dad80a9
      Jorge Aparicio authored
      * fix the build
      
      the `unborrow!` macro is need in the block and bookkeeper modules
      
      * cfg(tls) away impl LocalAllocator
      
      as the struct LocalAllocator is not available when the tls feature is
      disabled
      1dad80a9
  18. Dec 15, 2016
  19. Oct 23, 2016
  20. Oct 04, 2016
  21. Aug 23, 2016
    • ticki's avatar
      Make `Leak` an invaraint. · 7f6b779a
      ticki authored
      We make the `Leak` trait unsafe and consituting an invariant. Secondly,
      we implement `Leak` for all `Copy` types.
      7f6b779a
  22. Aug 21, 2016
    • ticki's avatar
      Audit all unsafes. · 5a42b783
      ticki authored
      We equip all `unsafe` blocks with a timestamped confirmations of an
      audit. Whenever a block is changed, it should be removed until a new
      audit is made.
      
      The format of these messages is:
      
      ```
      LAST AUDIT: yyyy-mm-dd (Username)
      ```
      
      Close #28.
      5a42b783
    • ticki's avatar
      Add example folder. · 2cb61efb
      ticki authored
      2cb61efb
    • ticki's avatar
      Update clippy. · 6b992ccf
      ticki authored
      6b992ccf
  23. Aug 19, 2016
    • ticki's avatar
      Fix bugs in memtrimming related to the byte count. · 25c0dbe9
      ticki authored
      Various issues (like premature checks) were present in the byte count
      beforehand. We fix these.
      
      - Fix invalid byte counts.
      - Add a `LOCAL_MEMTRIM_STOP` constant to `shim`, which serves for the
        minimum memtrimmed allocator (i.e. it will stop when the byte count is
        below this value).
      - Add more logs.
      - Add assertions about libc interference with SBRK.
      
      There is still some problem when running
      25c0dbe9
  24. Aug 16, 2016
    • ticki's avatar
      Update the README. · 2c55fb11
      ticki authored
      2c55fb11
    • ticki's avatar
      Multi-level logging and user configuration. · e3190491
      ticki authored
      This commit is a complete revision of `shim`. Anything which is
      configurable of nature is now moved to `shim` allowing complete
      customizability of `ralloc`.
      
      But it doesn't end there!
      
      The logs got quite messy before due to the classical TMI problem. We
      solve this by adding multiple "log levels" each describing a different
      class of importance.
      
      - Add multi-level logging.
      - Move each component of shim into distinct modules.
      - Add allocator canonicalization to `shim`.
      - Add adjustable constant to `shim`.
      - Add default OOM handler to `shim`.
      - Add logging to everything.
      - Remove the `libc_write` module and add it to `log` instead.
      - Add colourful OOM message.
      - Tweak the allocator canonicalization strategy.
      - Rename the `log!` macro to `bk_log!`, and use the old name for the
        generalized logging macro.
      - Remove the `unsafe_no_brk_lock` feature, due to being unsafe in
        multithreaded environment (and in singlethreaded ones,
        `unsafe_no_mutex_lock` is sufficient).
      - Remove the `sys` module in favor of direct `shim` imports.
      e3190491
  25. Aug 15, 2016
    • ticki's avatar
      OS memtrimming for the global allocator. · 8b83c9a2
      ticki authored
      This commit introduces OS/BRK memtrimming, in which the memory from the
      global allocator is freed to the OS when a certain limit is reached.
      This avoids long-running processes from acquiring too much memory from
      the system and never releasing it again.
      
      - Implement safe BRK releasing.
      8b83c9a2
Loading