Matthew Parkinson

Results 160 comments of Matthew Parkinson

Is it definitely using the `PTHREAD_DESTRUCTORS` for thread cleanup? It looks like it has not properly release the allocators back on thread teardown.

I wonder if you could get the compiler to do all the work with just a couple of functions: ```C++ SNMALLOC_FAST_PATH template void* alloc_hinted(size_t size) { if (likely(size == size_hint))...

So the perf of this is okay, but it increases memory footprint for some examples too much. I have factored out the primary changes to enable this into #491, so...

This paper has a really interesting approach to work stealing of chunks between threads: https://dl.acm.org/doi/10.1145/3533724 I think we could use some of the ideas in this paper, to make the...

> > I am not sure which provides more security. > > I'm not sure either. InitAll concluded that zero was the best value for uninitialised memory and I previously...

So on > https://github.com/microsoft/snmalloc/runs/4311202740?check_suite_focus=true I have a Re-runall checks: ![image](https://user-images.githubusercontent.com/270363/143258521-5d036253-9037-4ad7-bf0e-4a6bb6b5655e.png)** I'll hit it for you. Do you need some help with the Windows tests?

Running your test gives: ``` _STL_ASSERT(_Left == _Right, "containers incompatible for swap"); ``` failing on ``` std::swap(cloned, moved); ``` in `void test_allocator_vector()`

I think both of the comments were about expanding the behaviour of ``` __builtin_dynamic_object_size ``` rather than its current behaviour. I could easily imagine a "stronger"/"enhanced" version that would call...

> Address Sanitizer already supports such object size checks and has an interface for them, but it does not provide ABI stability. Interesting, so could you point me at the...

#161 this contributes to addressing this issue.