Commit Graph

13 Commits

Author SHA1 Message Date
Matthew Parkinson
8a0e20eae3 Added 32bit Windows compile to the CI 2019-01-16 15:17:38 +00:00
Matthew Parkinson
233be30731 Implement a FlatPagemap
The current pagemap assumes there is at least one level of indexing.
This commit introduces a new pagemap that is completely flat.  This is
useful for 32bit, where there is no need to introduce the indexing
structure.

This pagemap is also considerably faster for 64bit platforms, but
does require a global allocation of 16MiB of the flat page map.
2019-01-16 14:38:11 +00:00
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
2d9ca1eb52 Merge pull request #1 from Microsoft/azure-pipelines
Set up CI with Azure Pipelines
2019-01-15 14:48:39 +00:00
Matthew Parkinson
5d71f3bf85 Migrated original CI script. 2019-01-15 14:26:50 +00:00
Matthew Parkinson
4a7909f22b Set up CI with Azure Pipelines 2019-01-15 14:23:45 +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
Microsoft Open Source
e488c24784 Initial commit 2019-01-09 06:05:58 -08:00
Microsoft Open Source
5d3628d31c Initial commit 2019-01-09 06:05:57 -08:00
Microsoft GitHub User
6249f7e230 Initial commit 2019-01-09 06:05:54 -08:00