mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-07-04 18:54:38 +03:00
fix macOSX compilation
This commit is contained in:
parent
c4c96d2f8d
commit
7d834864bb
3 changed files with 13 additions and 9 deletions
|
@ -399,7 +399,7 @@ void _mi_thread_done(mi_heap_t* heap)
|
||||||
void _mi_heap_set_default_direct(mi_heap_t* heap) {
|
void _mi_heap_set_default_direct(mi_heap_t* heap) {
|
||||||
mi_assert_internal(heap != NULL);
|
mi_assert_internal(heap != NULL);
|
||||||
#if defined(MI_TLS_SLOT)
|
#if defined(MI_TLS_SLOT)
|
||||||
mi_tls_slot_set(MI_TLS_SLOT,heap);
|
mi_prim_tls_slot_set(MI_TLS_SLOT,heap);
|
||||||
#elif defined(MI_TLS_PTHREAD_SLOT_OFS)
|
#elif defined(MI_TLS_PTHREAD_SLOT_OFS)
|
||||||
*mi_tls_pthread_heap_slot() = heap;
|
*mi_tls_pthread_heap_slot() = heap;
|
||||||
#elif defined(MI_TLS_PTHREAD)
|
#elif defined(MI_TLS_PTHREAD)
|
||||||
|
|
|
@ -252,16 +252,20 @@ static inline mi_heap_t* mi_prim_get_default_heap(void) {
|
||||||
|
|
||||||
#elif defined(MI_TLS_PTHREAD_SLOT_OFS)
|
#elif defined(MI_TLS_PTHREAD_SLOT_OFS)
|
||||||
|
|
||||||
static inline mi_heap_t* mi_prim_get_default_heap(void) {
|
static inline mi_heap_t** mi_prim_tls_pthread_heap_slot(void) {
|
||||||
mi_heap_t* heap;
|
|
||||||
pthread_t self = pthread_self();
|
pthread_t self = pthread_self();
|
||||||
#if defined(__DragonFly__)
|
#if defined(__DragonFly__)
|
||||||
if (self==NULL) { heap = _mi_heap_main_get(); } else
|
if (self==NULL) return NULL;
|
||||||
#endif
|
#endif
|
||||||
{
|
return (mi_heap_t**)((uint8_t*)self + MI_TLS_PTHREAD_SLOT_OFS);
|
||||||
heap = *((mi_heap_t**)((uint8_t*)self + MI_TLS_PTHREAD_SLOT_OFS));
|
|
||||||
}
|
}
|
||||||
return (mi_unlikely(heap == NULL) ? (mi_heap_t*)&_mi_heap_empty : heap);
|
|
||||||
|
static inline mi_heap_t* mi_prim_get_default_heap(void) {
|
||||||
|
mi_heap_t** pheap = mi_prim_tls_pthread_heap_slot();
|
||||||
|
if mi_unlikely(pheap == NULL) return _mi_heap_main_get();
|
||||||
|
mi_heap_t* heap = *pheap;
|
||||||
|
if mi_unlikely(heap == NULL) return (mi_heap_t*)&_mi_heap_empty;
|
||||||
|
return heap;
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined(MI_TLS_PTHREAD)
|
#elif defined(MI_TLS_PTHREAD)
|
||||||
|
|
Loading…
Add table
Reference in a new issue