Commit Graph

255 Commits

Author SHA1 Message Date
Matthew Parkinson
82595dc9cd Made Remote deallocation work on 32bit
The design of Remote used the top bits of the allocator id to encode
the sizeclass of the deallocation.  On 32bit, or on a platform that uses all the bits
we cannot use these bits for a sizeclass.

This commit uses the bottom bit of the allocator id (which is
guaranteed to be 0), to indicate if the object is the minimum
allocation size.  If it is not the minimum allocation size the
subsequent byte is used to encode the sizeclass.

The code uses constexpr to decide which strategy to use.
2019-01-16 14:38:10 +00:00
Matthew Parkinson
272bebb927 Reduce size of test on 32bit 2019-01-16 14:38:10 +00:00
Matthew Parkinson
74018a1c91 Correct PageMap public API 2019-01-16 14:38:10 +00:00
theodus
e2190f376f Fix typo in threadalloc.h 2019-01-16 09:22:01 +00:00
Matthew Parkinson
4f9d991449 Initial commit of snmalloc
History squashed from internal development.

Internal history has commit hash:
  e27a0e485c44a5003a802de2661ce3b21e120316
2019-01-15 14:17:55 +00:00