1. 04 Jul, 2018 1 commit
  2. 30 Jun, 2018 1 commit
    • Thomas Levy's avatar
      Memcpy in the new buffer after reallocating the vec · 573b77db
      Thomas 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. 24 Jun, 2018 1 commit
  4. 23 Jun, 2018 1 commit
  5. 22 Jun, 2018 5 commits
  6. 21 Jun, 2018 4 commits
  7. 12 Jun, 2018 1 commit
  8. 20 May, 2018 2 commits
  9. 04 Mar, 2018 1 commit
  10. 08 Nov, 2017 3 commits
  11. 24 Sep, 2017 2 commits
  12. 22 Jul, 2017 1 commit
  13. 17 Jun, 2017 1 commit
  14. 06 Mar, 2017 1 commit
  15. 23 Jan, 2017 1 commit
  16. 17 Jan, 2017 1 commit
  17. 12 Jan, 2017 1 commit
    • 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. 15 Dec, 2016 2 commits
  19. 23 Oct, 2016 1 commit
  20. 04 Oct, 2016 1 commit
  21. 23 Aug, 2016 1 commit
    • 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. 21 Aug, 2016 3 commits
    • 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. 19 Aug, 2016 1 commit
    • 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. 16 Aug, 2016 2 commits
    • 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).
      ...
      e3190491
  25. 15 Aug, 2016 1 commit
    • 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